diff Makefile.gen @ 714:0ad76fa080ca

Improve build system by adding support for separate binary paths for tools and tests, that default to $(DMLIB)tools/ and $(DMLIB)tests/
author Matti Hamalainen <ccr@tnsp.org>
date Wed, 17 Apr 2013 19:29:16 +0300
parents 84811c6dd32d
children 24096d1ef794
line wrap: on
line diff
--- a/Makefile.gen	Wed Apr 17 07:50:14 2013 +0300
+++ b/Makefile.gen	Wed Apr 17 19:29:16 2013 +0300
@@ -5,8 +5,11 @@
 
 BINPATH ?= ./
 DMLIB ?= ./
+TOOL_BINPATH ?= $(DMLIB)tools/
+TESTS_BINPATH ?= $(DMLIB)tests/
+
+
 DM_CFLAGS += -I$(DMLIB)
-
 ifeq ($(EXTRA_CFLAGS),)
 EXTRA_CFLAGS=-O3 -march=core2 -DDM_DEVEL
 endif
@@ -249,8 +252,8 @@
 TESTS_BINARIES += vecmattest fptest evaltest
 endif
 
-FONTCONV_BIN=$(BINPATH)fontconv$(EXEEXT)
-DATA2INC_BIN=$(BINPATH)data2inc$(EXEEXT)
+FONTCONV_BIN=$(TOOL_BINPATH)fontconv$(EXEEXT)
+DATA2INC_BIN=$(TOOL_BINPATH)data2inc$(EXEEXT)
 
 
 ###
@@ -270,8 +273,8 @@
 	dmwav.o	dmengine.o dmq3d.o
 
 
-TESTS_TARGETS = $(addprefix $(BINPATH),$(addsuffix $(EXEEXT),$(TESTS_BINARIES)))
-TOOL_TARGETS = $(addprefix $(BINPATH),$(addsuffix $(EXEEXT),$(TOOL_BINARIES)))
+TESTS_TARGETS = $(addprefix $(TESTS_BINPATH),$(addsuffix $(EXEEXT),$(TESTS_BINARIES)))
+TOOL_TARGETS = $(addprefix $(TOOL_BINPATH),$(addsuffix $(EXEEXT),$(TOOL_BINARIES)))
 TARGETS += $(DMLIB_A) $(addprefix $(BINPATH),$(addsuffix $(EXEEXT),$(BINARIES))) \
 	$(TOOL_TARGETS) $(TESTS_TARGETS)
 
@@ -402,27 +405,27 @@
 ###
 ### Tests
 ###
-$(BINPATH)blittest$(EXEEXT): $(OBJPATH)blittest.o $(DMLIB_A)
+$(TESTS_BINPATH)blittest$(EXEEXT): $(OBJPATH)blittest.o $(DMLIB_A)
 	@echo " LINK $+"
 	@$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) -lSDL_ttf
 
-$(BINPATH)efu$(EXEEXT): $(OBJPATH)efu.o $(DMLIB_A)
+$(TESTS_BINPATH)efu$(EXEEXT): $(OBJPATH)efu.o $(DMLIB_A)
 	@echo " LINK $+"
 	@$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) -lSDL_ttf
 
-$(BINPATH)vptest$(EXEEXT): $(OBJPATH)vptest.o $(DMLIB_A)
+$(TESTS_BINPATH)vptest$(EXEEXT): $(OBJPATH)vptest.o $(DMLIB_A)
 	@echo " LINK $+"
 	@$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) -lSDL_ttf
 
-$(BINPATH)evaltest$(EXEEXT): $(OBJPATH)evaltest.o $(OBJPATH)dmeval.o $(DMLIB_A)
+$(TESTS_BINPATH)evaltest$(EXEEXT): $(OBJPATH)evaltest.o $(OBJPATH)dmeval.o $(DMLIB_A)
 	@echo " LINK $+"
 	@$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) -lm
 
-$(BINPATH)%test$(EXEEXT): $(OBJPATH)%test.o $(DMLIB_A)
+$(TESTS_BINPATH)%test$(EXEEXT): $(OBJPATH)%test.o $(DMLIB_A)
 	@echo " LINK $+"
 	@$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) -lm
 
-$(BINPATH)plrtest$(EXEEXT): $(OBJPATH)plrtest.o $(DMLIB_A)
+$(TESTS_BINPATH)plrtest$(EXEEXT): $(OBJPATH)plrtest.o $(DMLIB_A)
 	@echo " LINK $+"
 	@$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS)
 
@@ -438,43 +441,43 @@
 	@echo " LINK $+"
 	@$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS)
 
-$(BINPATH)packed$(EXEEXT): $(OBJPATH)packed.o $(DMLIB_A)
+$(TOOL_BINPATH)packed$(EXEEXT): $(OBJPATH)packed.o $(DMLIB_A)
 	@echo " LINK $+"
 	@$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS)
 
-$(BINPATH)mod2wav$(EXEEXT): $(OBJPATH)mod2wav.o $(DMLIB_A)
+$(TOOL_BINPATH)mod2wav$(EXEEXT): $(OBJPATH)mod2wav.o $(DMLIB_A)
 	@echo " LINK $+"
 	@$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) -lm
 
-$(BINPATH)xm2jss$(EXEEXT): $(OBJPATH)xm2jss.o $(DMLIB_A)
+$(TOOL_BINPATH)xm2jss$(EXEEXT): $(OBJPATH)xm2jss.o $(DMLIB_A)
 	@echo " LINK $+"
 	@$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS)
 
-$(BINPATH)viewmod$(EXEEXT): $(OBJPATH)viewmod.o $(DMLIB_A)
+$(TOOL_BINPATH)viewmod$(EXEEXT): $(OBJPATH)viewmod.o $(DMLIB_A)
 	@echo " LINK $+"
 	@$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS)
 
-$(BINPATH)ppl$(EXEEXT): $(DMLIB)setupfont.h $(OBJPATH)ppl.o $(DMLIB_A) 
+$(TOOL_BINPATH)ppl$(EXEEXT): $(DMLIB)setupfont.h $(OBJPATH)ppl.o $(DMLIB_A) 
 	@echo " LINK $+"
 	@$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS)
 
-$(BINPATH)objlink$(EXEEXT): $(OBJPATH)objlink.o $(DMLIB_A)
+$(TOOL_BINPATH)objlink$(EXEEXT): $(OBJPATH)objlink.o $(DMLIB_A)
 	@echo " LINK $+"
 	@$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS)
 
-$(BINPATH)gfxconv$(EXEEXT): $(OBJPATH)gfxconv.o $(DMLIB_A)
+$(TOOL_BINPATH)gfxconv$(EXEEXT): $(OBJPATH)gfxconv.o $(DMLIB_A)
 	@echo " LINK $+"
 	@$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(LIBPNG_LDFLAGS) $(ZLIB_LDFLAGS)
 
-$(BINPATH)view64$(EXEEXT): $(OBJPATH)view64.o $(DMLIB_A)
+$(TOOL_BINPATH)view64$(EXEEXT): $(OBJPATH)view64.o $(DMLIB_A)
 	@echo " LINK $+"
 	@$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(LIBPNG_LDFLAGS) $(ZLIB_LDFLAGS) $(SDL_LDFLAGS)
 
-$(BINPATH)gentab$(EXEEXT): $(OBJPATH)gentab.o $(DMLIB_A)
+$(TOOL_BINPATH)gentab$(EXEEXT): $(OBJPATH)gentab.o $(DMLIB_A)
 	@echo " LINK $+"
 	@$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) -lm
 
-$(BINPATH)auval$(EXEEXT): $(OBJPATH)auval.o $(OBJPATH)dmeval.o $(DMLIB_A)
+$(TOOL_BINPATH)auval$(EXEEXT): $(OBJPATH)auval.o $(OBJPATH)dmeval.o $(DMLIB_A)
 	@echo " LINK $+"
 	@$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) -lSDL_ttf