Lephisto/bin/Makefile

76 lines
1.8 KiB
Makefile

DEBUG = 1
APPNAME = Lephisto
VMAJOR = 0
VMINOR = 0
VREV = 1
VERSION = -DVMAJOR=$(VMAJOR) -DVMINOR=$(VMINOR) -DVREV=$(VREV)
VERSIONFILE = VERSION
OBJS := $(shell find ../src/ -name '*.c' -print)
OBJS := $(OBJS:%.c=%.o)
CLUA = -I../lib/lua
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 = ../lib/lua/liblua.a
LDSDL = `sdl-config --libs` -lSDL_image
LDXML = `xml2-config --libs`
LDTTF = `freetype-config --libs`
LDGL = -lGL
LDPNG = -lpng
LDFLAGS = -lm $(LDLUA) $(LDSDL) $(LDXML) $(LDTTF) $(LDGL) $(LDPNG)
ifdef DEBUG
LDFLAGS += -pg
endif
DATA = data
DATAFILES = ../$(VERSIONFILE) $(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: utils data lua $(OBJS)
@gcc $(LDFLAGS) -o $(APPNAME) $(OBJS) ../lib/lua/liblua.a
@echo "\tLD $(APPNAME)"
lua:
@if [ ! -e ../lib/lua/liblua.a ]; then (cd ../lib/lua; $(MAKE) a); fi
pack: ../src/pack.c ../utils/pack/main.c
@(cd ../utils/pack; $(MAKE))
mksprite: ../utils/mkspr/main.c
@(cd ../utils/mkspr; $(MAKE))
../$(VERSIONFILE):
@echo -n "$(VMAJOR).$(VMINOR).$(VREV)" > ../$(VERSIONFILE)
data: pack $(DATAFILES) ../src/pack.c ../utils/pack/main.c
@echo -n "$(VMAJOR).$(VMINOR).$(VREV)" > ../$(VERSIONFILE)
@echo -e "\tCreating data..\n"
@./pack $(DATA) $(DATAFILES)
utils: mksprite
clean:
@echo -e "\tRemoving data.."
rm -rf $(OBJS) $(APPNAME) $(DATA) pack core mksprite *.out a.txt
@echo -e "\tCleaning utils."
@(cd ../utils/pack; $(MAKE) clean)
@(cd ../utils/mkspr; $(MAKE) clean)
@echo -e "\tCleaning Lua"
@(cd ../lib/lua; $(MAKE) clean)