From 01a9ae0513f1be1c920d36a68d56e8a4912b09c8 Mon Sep 17 00:00:00 2001
From: Allanis <allanis@saracraft.net>
Date: Tue, 31 Dec 2013 05:42:27 +0000
Subject: [PATCH] [Change] Cleaned makefile up a fair bit.

---
 bin/Makefile | 87 ++++++++++++++++++++++++++++++----------------------
 src/weapon.c |  2 +-
 2 files changed, 51 insertions(+), 38 deletions(-)

diff --git a/bin/Makefile b/bin/Makefile
index 04cb1ee..9d365ec 100644
--- a/bin/Makefile
+++ b/bin/Makefile
@@ -11,21 +11,21 @@ OS := LINUX
 VMAJOR			:= 0
 VMINOR			:= 0
 VREV				:= 1
-VERSION			:= -DVMAJOR=$(VMAJOR) -DVMINOR=$(VMINOR) -DVREV=$(VREV)
-VERSIONFILE	:= VERSION
+VERSION			= -DVMAJOR=$(VMAJOR) -DVMINOR=$(VMINOR) -DVREV=$(VREV)
+VERSIONFILE	= VERSION
 
 # OBJECTS.
-APPNAME = Lephisto
+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)
-CGL  =
-CFLAGS = $(CLUA) $(CSDL) $(CXML) $(CTTF) $(CGL) $(VERSION) -D$(OS)
+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) -D$(OS)
 
 # OS Stuff.
 ifeq ($(OS),LINUX)
@@ -52,13 +52,13 @@ CFLAGS += -O2 -funroll-loops -pipe -std=c99
 endif
 
 # LDFLAGS.
-LDLUA = ../lib/lua/liblua.a
-LDSDL = $(shell sdl-config --libs) -lSDL_image -lSDL_mixer
-LDXML = $(shell xml2-config --libs)
-LDTTF = $(shell freetype-config --libs)
-LDGL	= -lGL
-LDPNG   = -lpng
-LDFLAGS = -lm $(LDLUA) $(LDSDL) $(LDXML) $(LDTTF) $(LDGL) $(LDPNG)
+LDLUA := ../lib/lua/liblua.a
+LDSDL := $(shell sdl-config --libs) -lSDL_image -lSDL_mixer
+LDXML := $(shell xml2-config --libs)
+LDTTF := $(shell freetype-config --libs)
+LDGL	:= -lGL
+LDPNG   := -lpng
+LDFLAGS := -lm $(LDLUA) $(LDSDL) $(LDXML) $(LDTTF) $(LDGL) $(LDPNG)
 
 # This is just for gstat to run some analysis on performance.
 ifdef DEBUG
@@ -66,59 +66,72 @@ 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') ../snd/music.lua
-DATA_MISN	= $(shell find ../dat/missions/ -name '*.lua')
-DATA = data
-DATAFILES = $(DATA_AI) $(DATA_GFX) $(DATA_XML) $(DATA_SND) $(DATA_MISN)
+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') ../snd/music.lua
+DATA_MISN	:= $(shell find ../dat/missions/ -name '*.lua')
+DATA := data
+DATAFILES := $(DATA_AI) $(DATA_GFX) $(DATA_XML) $(DATA_SND) $(DATA_MISN)
 
 # TARGETS.
-.PHONY: all lua bin pack mkspr data utils docs clean purge
+.PHONY: all clean purge
 
 %.o: %.c %.h
 	@$(CC) -c $(CFLAGS) -o $@ $<
 	@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
-	@echo "\tLD $(APPNAME)"
+	@echo -e "\tLD $(APPNAME)"
 
 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
-	@(cd ../utils/pack; $(MAKE))
+	@make -C ../utils/pack
 
 mksprite: ../utils/mkspr/main.c
-	@(cd ../utils/mkspr; $(MAKE))
+	@make -C ../utils/mkspr
 
 $(VERSIONFILE):
 	@echo -n "$(VMAJOR).$(VMINOR).$(VREV)" > $(VERSIONFILE)
 
-data: pack $(DATAFILES)
+data: $(DATAFILES)
 	@echo -n "$(VMAJOR).$(VMINOR).$(VREV)" > $(VERSIONFILE)
 	@echo -e "\tCreating data..\n"
 	@./pack $(DATA) $(DATAFILES) $(VERSIONFILE)
 
-utils: mksprite
+utils: mksprite pack
 
 docs:
 	@(cd docs/doxygen; doxygen)
 
 clean:
 	@echo -e "\tRemoving data"
-	@rm -f $(DATA)
+	@$(RM) $(DATA)
+	@$(RM) $(OBJS)
 	@echo -e "\tRemoving object files"
-	@rm -f $(OBJS)
 
 purge: clean
 	@echo -e "\tCleaning utilites"
-	@(cd ../utils/pack; $(MAKE) clean)
-	@(cd ../utils/mkspr; $(MAKE) clean)
+	@make -C ../utils/pack clean
+	@make -C ../utils/mkspr clean
 	@echo -e "\tCleaning Lua"
-	@(cd ../lib/lua; $(MAKE) clean)
+	@make -C ../lib/lua clean
+	@echo -e "\tRemoving binaries."
+	@$(RM) Lephisto mksprite data pack
 
diff --git a/src/weapon.c b/src/weapon.c
index d2faa7f..4094a9a 100644
--- a/src/weapon.c
+++ b/src/weapon.c
@@ -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. */
     vectcpy(&v, vel);
     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->voice = sound_playPos(w->outfit->u.blt.sound,
         w->solid->pos.x + w->solid->vel.x,