93 lines
2.3 KiB
Makefile
93 lines
2.3 KiB
Makefile
# OPTIONS.
|
|
DEBUG = 1
|
|
APPNAME = Lephisto
|
|
|
|
# VERSION.
|
|
VMAJOR = 0
|
|
VMINOR = 0
|
|
VREV = 1
|
|
VERSION = -DVMAJOR=$(VMAJOR) -DVMINOR=$(VMINOR) -DVREV=$(VREV)
|
|
VERSIONFILE = VERSION
|
|
|
|
# OBJECTS.
|
|
APPNAME = Lephisto
|
|
OBJS := $(shell find ../src/ -name '*.c' -print)
|
|
OBJS := $(OBJS:%.c=%.o)
|
|
|
|
# CFLAGS
|
|
CLUA = -I../lib/lua
|
|
CSDL = $(shell sdl-config --cflags)
|
|
CXML = $(shell xml2-config --cflags)
|
|
CTTF = $(shell freetype-config --cflags)
|
|
CAL = -lopenal
|
|
CVORBIS =
|
|
CGL =
|
|
CFLAGS = $(CLUA) $(CSDL) $(CXML) $(CTTF) $(CGL) $(CAL) $(CVORBIS) $(VERSION)
|
|
ifdef DEBUG
|
|
CFLAGS += -W -Wall -g3 -DDEBUG -DLUA_USE_APICHECK
|
|
else
|
|
CFLAGS += -O2 -funroll-loops -pipe
|
|
endif
|
|
|
|
# LDFLAGS.
|
|
LDLUA = ../lib/lua/liblua.a
|
|
LDSDL = $(shell sdl-config --libs) -lSDL_image
|
|
LDXML = $(shell xml2-config --libs)
|
|
LDTTF = $(shell freetype-config --libs)
|
|
LDGL = -lGL
|
|
LDAL = -lopenal
|
|
LDVORBIS = -lvorbisfile
|
|
LDPNG = -lpng
|
|
LDFLAGS = -lm $(LDLUA) $(LDSDL) $(LDXML) $(LDTTF) $(LDGL) $(LDPNG) $(LDAL) $(LDVORBIS)
|
|
|
|
# This is just for gstat to run some analysis on performance.
|
|
ifdef DEBUG
|
|
LDFLAGS += -pg
|
|
endif
|
|
|
|
# DATA.
|
|
DATA_AI = $(shell find ../scripts/ai/ -name '*.lua')
|
|
DATA_GFX = $(shell find ../gfx/ -name '*.png')
|
|
DATA_XML = $(shell find ../dat/ -name '*.xml' -o -name '*.ttf')
|
|
DATA_SND = $(shell find ../snd/ -name '*.ogg' -o -name '*.wav')
|
|
DATA = data
|
|
DATAFILES = $(VERSIONFILE) $(DATA_AI) $(DATA_GFX) $(DATA_XML) $(DATA_SND)
|
|
|
|
# TARGETS.
|
|
%.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)
|
|
|