comparison 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
comparison
equal deleted inserted replaced
713:80c3e69aa301 714:0ad76fa080ca
3 ### 3 ###
4 include config.mak 4 include config.mak
5 5
6 BINPATH ?= ./ 6 BINPATH ?= ./
7 DMLIB ?= ./ 7 DMLIB ?= ./
8 TOOL_BINPATH ?= $(DMLIB)tools/
9 TESTS_BINPATH ?= $(DMLIB)tests/
10
11
8 DM_CFLAGS += -I$(DMLIB) 12 DM_CFLAGS += -I$(DMLIB)
9
10 ifeq ($(EXTRA_CFLAGS),) 13 ifeq ($(EXTRA_CFLAGS),)
11 EXTRA_CFLAGS=-O3 -march=core2 -DDM_DEVEL 14 EXTRA_CFLAGS=-O3 -march=core2 -DDM_DEVEL
12 endif 15 endif
13 16
14 17
247 250
248 ifeq ($(DM_BUILD_TESTS),yes) 251 ifeq ($(DM_BUILD_TESTS),yes)
249 TESTS_BINARIES += vecmattest fptest evaltest 252 TESTS_BINARIES += vecmattest fptest evaltest
250 endif 253 endif
251 254
252 FONTCONV_BIN=$(BINPATH)fontconv$(EXEEXT) 255 FONTCONV_BIN=$(TOOL_BINPATH)fontconv$(EXEEXT)
253 DATA2INC_BIN=$(BINPATH)data2inc$(EXEEXT) 256 DATA2INC_BIN=$(TOOL_BINPATH)data2inc$(EXEEXT)
254 257
255 258
256 ### 259 ###
257 ### Rest of the rules 260 ### Rest of the rules
258 ### 261 ###
268 dmfile.o dmbstr.o dmlib.o dmlerp.o dmstring.o \ 271 dmfile.o dmbstr.o dmlib.o dmlerp.o dmstring.o \
269 dmargs.o dmvecmat.o dmperlin.o dmimage.o \ 272 dmargs.o dmvecmat.o dmperlin.o dmimage.o \
270 dmwav.o dmengine.o dmq3d.o 273 dmwav.o dmengine.o dmq3d.o
271 274
272 275
273 TESTS_TARGETS = $(addprefix $(BINPATH),$(addsuffix $(EXEEXT),$(TESTS_BINARIES))) 276 TESTS_TARGETS = $(addprefix $(TESTS_BINPATH),$(addsuffix $(EXEEXT),$(TESTS_BINARIES)))
274 TOOL_TARGETS = $(addprefix $(BINPATH),$(addsuffix $(EXEEXT),$(TOOL_BINARIES))) 277 TOOL_TARGETS = $(addprefix $(TOOL_BINPATH),$(addsuffix $(EXEEXT),$(TOOL_BINARIES)))
275 TARGETS += $(DMLIB_A) $(addprefix $(BINPATH),$(addsuffix $(EXEEXT),$(BINARIES))) \ 278 TARGETS += $(DMLIB_A) $(addprefix $(BINPATH),$(addsuffix $(EXEEXT),$(BINARIES))) \
276 $(TOOL_TARGETS) $(TESTS_TARGETS) 279 $(TOOL_TARGETS) $(TESTS_TARGETS)
277 280
278 all: $(TARGETS) 281 all: $(TARGETS)
279 282
400 403
401 404
402 ### 405 ###
403 ### Tests 406 ### Tests
404 ### 407 ###
405 $(BINPATH)blittest$(EXEEXT): $(OBJPATH)blittest.o $(DMLIB_A) 408 $(TESTS_BINPATH)blittest$(EXEEXT): $(OBJPATH)blittest.o $(DMLIB_A)
406 @echo " LINK $+" 409 @echo " LINK $+"
407 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) -lSDL_ttf 410 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) -lSDL_ttf
408 411
409 $(BINPATH)efu$(EXEEXT): $(OBJPATH)efu.o $(DMLIB_A) 412 $(TESTS_BINPATH)efu$(EXEEXT): $(OBJPATH)efu.o $(DMLIB_A)
410 @echo " LINK $+" 413 @echo " LINK $+"
411 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) -lSDL_ttf 414 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) -lSDL_ttf
412 415
413 $(BINPATH)vptest$(EXEEXT): $(OBJPATH)vptest.o $(DMLIB_A) 416 $(TESTS_BINPATH)vptest$(EXEEXT): $(OBJPATH)vptest.o $(DMLIB_A)
414 @echo " LINK $+" 417 @echo " LINK $+"
415 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) -lSDL_ttf 418 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) -lSDL_ttf
416 419
417 $(BINPATH)evaltest$(EXEEXT): $(OBJPATH)evaltest.o $(OBJPATH)dmeval.o $(DMLIB_A) 420 $(TESTS_BINPATH)evaltest$(EXEEXT): $(OBJPATH)evaltest.o $(OBJPATH)dmeval.o $(DMLIB_A)
418 @echo " LINK $+" 421 @echo " LINK $+"
419 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) -lm 422 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) -lm
420 423
421 $(BINPATH)%test$(EXEEXT): $(OBJPATH)%test.o $(DMLIB_A) 424 $(TESTS_BINPATH)%test$(EXEEXT): $(OBJPATH)%test.o $(DMLIB_A)
422 @echo " LINK $+" 425 @echo " LINK $+"
423 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) -lm 426 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) -lm
424 427
425 $(BINPATH)plrtest$(EXEEXT): $(OBJPATH)plrtest.o $(DMLIB_A) 428 $(TESTS_BINPATH)plrtest$(EXEEXT): $(OBJPATH)plrtest.o $(DMLIB_A)
426 @echo " LINK $+" 429 @echo " LINK $+"
427 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) 430 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS)
428 431
429 432
430 ### 433 ###
436 439
437 $(DATA2INC_BIN): $(OBJPATH)data2inc.o $(DMLIB_A) 440 $(DATA2INC_BIN): $(OBJPATH)data2inc.o $(DMLIB_A)
438 @echo " LINK $+" 441 @echo " LINK $+"
439 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) 442 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS)
440 443
441 $(BINPATH)packed$(EXEEXT): $(OBJPATH)packed.o $(DMLIB_A) 444 $(TOOL_BINPATH)packed$(EXEEXT): $(OBJPATH)packed.o $(DMLIB_A)
442 @echo " LINK $+" 445 @echo " LINK $+"
443 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) 446 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS)
444 447
445 $(BINPATH)mod2wav$(EXEEXT): $(OBJPATH)mod2wav.o $(DMLIB_A) 448 $(TOOL_BINPATH)mod2wav$(EXEEXT): $(OBJPATH)mod2wav.o $(DMLIB_A)
446 @echo " LINK $+" 449 @echo " LINK $+"
447 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) -lm 450 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) -lm
448 451
449 $(BINPATH)xm2jss$(EXEEXT): $(OBJPATH)xm2jss.o $(DMLIB_A) 452 $(TOOL_BINPATH)xm2jss$(EXEEXT): $(OBJPATH)xm2jss.o $(DMLIB_A)
450 @echo " LINK $+" 453 @echo " LINK $+"
451 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) 454 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS)
452 455
453 $(BINPATH)viewmod$(EXEEXT): $(OBJPATH)viewmod.o $(DMLIB_A) 456 $(TOOL_BINPATH)viewmod$(EXEEXT): $(OBJPATH)viewmod.o $(DMLIB_A)
454 @echo " LINK $+" 457 @echo " LINK $+"
455 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) 458 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS)
456 459
457 $(BINPATH)ppl$(EXEEXT): $(DMLIB)setupfont.h $(OBJPATH)ppl.o $(DMLIB_A) 460 $(TOOL_BINPATH)ppl$(EXEEXT): $(DMLIB)setupfont.h $(OBJPATH)ppl.o $(DMLIB_A)
458 @echo " LINK $+" 461 @echo " LINK $+"
459 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) 462 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS)
460 463
461 $(BINPATH)objlink$(EXEEXT): $(OBJPATH)objlink.o $(DMLIB_A) 464 $(TOOL_BINPATH)objlink$(EXEEXT): $(OBJPATH)objlink.o $(DMLIB_A)
462 @echo " LINK $+" 465 @echo " LINK $+"
463 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) 466 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS)
464 467
465 $(BINPATH)gfxconv$(EXEEXT): $(OBJPATH)gfxconv.o $(DMLIB_A) 468 $(TOOL_BINPATH)gfxconv$(EXEEXT): $(OBJPATH)gfxconv.o $(DMLIB_A)
466 @echo " LINK $+" 469 @echo " LINK $+"
467 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(LIBPNG_LDFLAGS) $(ZLIB_LDFLAGS) 470 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(LIBPNG_LDFLAGS) $(ZLIB_LDFLAGS)
468 471
469 $(BINPATH)view64$(EXEEXT): $(OBJPATH)view64.o $(DMLIB_A) 472 $(TOOL_BINPATH)view64$(EXEEXT): $(OBJPATH)view64.o $(DMLIB_A)
470 @echo " LINK $+" 473 @echo " LINK $+"
471 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(LIBPNG_LDFLAGS) $(ZLIB_LDFLAGS) $(SDL_LDFLAGS) 474 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(LIBPNG_LDFLAGS) $(ZLIB_LDFLAGS) $(SDL_LDFLAGS)
472 475
473 $(BINPATH)gentab$(EXEEXT): $(OBJPATH)gentab.o $(DMLIB_A) 476 $(TOOL_BINPATH)gentab$(EXEEXT): $(OBJPATH)gentab.o $(DMLIB_A)
474 @echo " LINK $+" 477 @echo " LINK $+"
475 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) -lm 478 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) -lm
476 479
477 $(BINPATH)auval$(EXEEXT): $(OBJPATH)auval.o $(OBJPATH)dmeval.o $(DMLIB_A) 480 $(TOOL_BINPATH)auval$(EXEEXT): $(OBJPATH)auval.o $(OBJPATH)dmeval.o $(DMLIB_A)
478 @echo " LINK $+" 481 @echo " LINK $+"
479 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) -lSDL_ttf 482 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) -lSDL_ttf
480 483
481 484
482 ### 485 ###