DEBUG = 1
APPNAME = Lephisto

VMAJOR  = 0
VMINOR  = 0
VREV    = 1
VERSION = -DVMAJOR=$(VMAJOR) -DVMINOR=$(VMINOR) -DVREV=$(VREV)

OBJS := $(shell find ../src/ -name '*.c' -print)
OBJS := $(OBJS:%.c=%.o)

CLUA = -I/usr/include/lua5.1
CSDL = $(shell sdl-config --cflags)
CXML = $(shell xml2-config --cflags)
CTTF = $(shell freetype-config --cflags)
CGL  =
CFLAGS = $(CLUA) $(CSDL) $(CXML) $(CTTF) $(CGL) $(VERSION)
ifdef DEBUG
CFLAGS += -W -Wall -g3 -DDEBUG -DLUA_USE_APICHECK
else
CFLAGS += -O2
endif

LDLUA = -llua5.1
LDSDL = `sdl-config --libs` -lSDL_image
LDXML = `xml2-config --libs`
LDTTF = `freetype-config --libs`
LDGL	= -lGL
LDFLAGS = -lm $(LDLUA) $(LDSDL) $(LDXML) $(LDTTF) $(LDGL)

DATA = data
DATAFILES = $(shell find ../scripts/ ../gfx/ ../dat/ -name '*.lua' -o -name '*.png' -o -name '*.xml' -o -name '*.ttf')

%.o: %.c %.h
	@gcc -c $(CFLAGS) -o $@ $<
	@echo -e "\tCC $@"

all: data $(OBJS)
	@gcc $(LDFLAGS) -o $(APPNAME) $(OBJS)
	@echo "\tLD $(APPNAME)"

pack: ../src/pack.c
	@(cd ../utils/pack; $(MAKE))

data: pack $(DATAFILES) ../src/pack.c
	@echo -e "\tCreating data..\n"
	@./pack $(DATA) $(DATAFILES)
	
clean:
	@echo -e "\tRemoving data.."
	rm -rf $(OBJS) $(APPNAME) $(DATA) pack core