[Change] Cleaned makefile up a fair bit.

This commit is contained in:
Allanis 2013-12-31 05:42:27 +00:00
parent 1f6c84c17a
commit 01a9ae0513
2 changed files with 51 additions and 38 deletions

View File

@ -11,21 +11,21 @@ OS := LINUX
VMAJOR := 0 VMAJOR := 0
VMINOR := 0 VMINOR := 0
VREV := 1 VREV := 1
VERSION := -DVMAJOR=$(VMAJOR) -DVMINOR=$(VMINOR) -DVREV=$(VREV) VERSION = -DVMAJOR=$(VMAJOR) -DVMINOR=$(VMINOR) -DVREV=$(VREV)
VERSIONFILE := VERSION VERSIONFILE = VERSION
# OBJECTS. # OBJECTS.
APPNAME = Lephisto APPNAME := Lephisto
OBJS := $(shell find ../src/ -name '*.c' -print) OBJS := $(shell find ../src/ -name '*.c' -print)
OBJS := $(OBJS:%.c=%.o) OBJS := $(OBJS:%.c=%.o)
# CFLAGS # CFLAGS
CLUA = -I../lib/lua CLUA := -I../lib/lua
CSDL = $(shell sdl-config --cflags) CSDL := $(shell sdl-config --cflags)
CXML = $(shell xml2-config --cflags) CXML := $(shell xml2-config --cflags)
CTTF = $(shell freetype-config --cflags) CTTF := $(shell freetype-config --cflags)
CGL = CGL :=
CFLAGS = $(CLUA) $(CSDL) $(CXML) $(CTTF) $(CGL) $(VERSION) -D$(OS) CFLAGS := $(CLUA) $(CSDL) $(CXML) $(CTTF) $(CGL) $(VERSION) -D$(OS)
# OS Stuff. # OS Stuff.
ifeq ($(OS),LINUX) ifeq ($(OS),LINUX)
@ -52,13 +52,13 @@ CFLAGS += -O2 -funroll-loops -pipe -std=c99
endif endif
# LDFLAGS. # LDFLAGS.
LDLUA = ../lib/lua/liblua.a LDLUA := ../lib/lua/liblua.a
LDSDL = $(shell sdl-config --libs) -lSDL_image -lSDL_mixer LDSDL := $(shell sdl-config --libs) -lSDL_image -lSDL_mixer
LDXML = $(shell xml2-config --libs) LDXML := $(shell xml2-config --libs)
LDTTF = $(shell freetype-config --libs) LDTTF := $(shell freetype-config --libs)
LDGL = -lGL LDGL := -lGL
LDPNG = -lpng LDPNG := -lpng
LDFLAGS = -lm $(LDLUA) $(LDSDL) $(LDXML) $(LDTTF) $(LDGL) $(LDPNG) LDFLAGS := -lm $(LDLUA) $(LDSDL) $(LDXML) $(LDTTF) $(LDGL) $(LDPNG)
# This is just for gstat to run some analysis on performance. # This is just for gstat to run some analysis on performance.
ifdef DEBUG ifdef DEBUG
@ -66,59 +66,72 @@ LDFLAGS += -pg
endif endif
# DATA. # DATA.
DATA_AI = $(shell find ../scripts/ai/ -name '*.lua') DATA_AI := $(shell find ../scripts/ai/ -name '*.lua')
DATA_GFX = $(shell find ../gfx/ -name '*.png') DATA_GFX := $(shell find ../gfx/ -name '*.png')
DATA_XML = $(shell find ../dat/ -name '*.xml' -o -name '*.ttf') DATA_XML := $(shell find ../dat/ -name '*.xml' -o -name '*.ttf')
DATA_SND = $(shell find ../snd/ -name '*.ogg' -o -name '*.wav') ../snd/music.lua DATA_SND := $(shell find ../snd/ -name '*.ogg' -o -name '*.wav') ../snd/music.lua
DATA_MISN = $(shell find ../dat/missions/ -name '*.lua') DATA_MISN := $(shell find ../dat/missions/ -name '*.lua')
DATA = data DATA := data
DATAFILES = $(DATA_AI) $(DATA_GFX) $(DATA_XML) $(DATA_SND) $(DATA_MISN) DATAFILES := $(DATA_AI) $(DATA_GFX) $(DATA_XML) $(DATA_SND) $(DATA_MISN)
# TARGETS. # TARGETS.
.PHONY: all lua bin pack mkspr data utils docs clean purge .PHONY: all clean purge
%.o: %.c %.h %.o: %.c %.h
@$(CC) -c $(CFLAGS) -o $@ $< @$(CC) -c $(CFLAGS) -o $@ $<
@echo -e "\tCC $@" @echo -e "\tCC $@"
all: utils data lua bin all: utils data lua lephisto
bin: $(OBJS) help:
@echo "Possible targets are:":
@echo " lua - Makes Lua."
@echo " lephisto - Makes the Lephisto binary."
@echo " mkspr - Makes the mkspr utility."
@echo " data - Creates the data file."
@echo " utils - Makes all the utilities."
@echo " docs - Creates the doxygen documentation."
@echo " clean - Removes Lephisto's main binary and data file."
@echo " purge - Removes everything done."
lephisto: $(OBJS)
@$(CC) $(LDFLAGS) -o $(APPNAME) $(OBJS) ../lib/lua/liblua.a @$(CC) $(LDFLAGS) -o $(APPNAME) $(OBJS) ../lib/lua/liblua.a
@echo "\tLD $(APPNAME)" @echo -e "\tLD $(APPNAME)"
lua: lua:
@if [ ! -e ../lib/lua/liblua.a ]; then (cd ../lib/lua; $(MAKE) a); fi @if [ ! -e ../lib/lua/liblua.a ]; then make -C ../lib/lua a; fi
pack: ../src/pack.c ../utils/pack/main.c pack: ../src/pack.c ../utils/pack/main.c
@(cd ../utils/pack; $(MAKE)) @make -C ../utils/pack
mksprite: ../utils/mkspr/main.c mksprite: ../utils/mkspr/main.c
@(cd ../utils/mkspr; $(MAKE)) @make -C ../utils/mkspr
$(VERSIONFILE): $(VERSIONFILE):
@echo -n "$(VMAJOR).$(VMINOR).$(VREV)" > $(VERSIONFILE) @echo -n "$(VMAJOR).$(VMINOR).$(VREV)" > $(VERSIONFILE)
data: pack $(DATAFILES) data: $(DATAFILES)
@echo -n "$(VMAJOR).$(VMINOR).$(VREV)" > $(VERSIONFILE) @echo -n "$(VMAJOR).$(VMINOR).$(VREV)" > $(VERSIONFILE)
@echo -e "\tCreating data..\n" @echo -e "\tCreating data..\n"
@./pack $(DATA) $(DATAFILES) $(VERSIONFILE) @./pack $(DATA) $(DATAFILES) $(VERSIONFILE)
utils: mksprite utils: mksprite pack
docs: docs:
@(cd docs/doxygen; doxygen) @(cd docs/doxygen; doxygen)
clean: clean:
@echo -e "\tRemoving data" @echo -e "\tRemoving data"
@rm -f $(DATA) @$(RM) $(DATA)
@$(RM) $(OBJS)
@echo -e "\tRemoving object files" @echo -e "\tRemoving object files"
@rm -f $(OBJS)
purge: clean purge: clean
@echo -e "\tCleaning utilites" @echo -e "\tCleaning utilites"
@(cd ../utils/pack; $(MAKE) clean) @make -C ../utils/pack clean
@(cd ../utils/mkspr; $(MAKE) clean) @make -C ../utils/mkspr clean
@echo -e "\tCleaning Lua" @echo -e "\tCleaning Lua"
@(cd ../lib/lua; $(MAKE) clean) @make -C ../lib/lua clean
@echo -e "\tRemoving binaries."
@$(RM) Lephisto mksprite data pack

View File

@ -733,7 +733,7 @@ static Weapon* weapon_create(const Outfit* outfit, const double dir, const Vec2*
mass = 1; /* Lasers are presumed to have unitory mass. */ mass = 1; /* Lasers are presumed to have unitory mass. */
vectcpy(&v, vel); vectcpy(&v, vel);
vect_cadd(&v, outfit->u.blt.speed*cos(rdir), outfit->u.blt.speed*sin(rdir)); vect_cadd(&v, outfit->u.blt.speed*cos(rdir), outfit->u.blt.speed*sin(rdir));
w->timer += outfit->u.blt.range/outfit->u.blt.speed; w->timer = outfit->u.blt.range/outfit->u.blt.speed;
w->solid = solid_create(mass, rdir, pos, &v); w->solid = solid_create(mass, rdir, pos, &v);
w->voice = sound_playPos(w->outfit->u.blt.sound, w->voice = sound_playPos(w->outfit->u.blt.sound,
w->solid->pos.x + w->solid->vel.x, w->solid->pos.x + w->solid->vel.x,