comparison Makefile.gen @ 880:951297a7938a

Improve build system.
author Matti Hamalainen <ccr@tnsp.org>
date Wed, 04 Feb 2015 19:47:34 +0200
parents 5ea0bf4379b1
children 65a5251898a0
comparison
equal deleted inserted replaced
879:d6b18e9a3a62 880:951297a7938a
1 ### 1 ###
2 ### Get settings from config.mak 2 ### Get settings from config.mak
3 ### 3 ###
4 ifneq ($(DMCONFIG),)
5 include $(DMCONFIG)
6 else
4 include config.mak 7 include config.mak
5 8 endif
9
10 MKDIR ?= mkdir
11 MKDIR_P ?= $(MKDIR) -p
6 BINPATH ?= ./ 12 BINPATH ?= ./
7 DMLIB ?= ./ 13 DMLIB ?= ./
8 TOOL_BINPATH ?= $(DMLIB)tools/ 14 TOOL_BINPATH ?= $(DMLIB)tools/
9 TESTS_BINPATH ?= $(DMLIB)tests/ 15 TESTS_BINPATH ?= $(DMLIB)tests/
10 16
11 DMLIBSRC = $(DMLIB)src/ 17 DMLIBSRC = $(DMLIB)src/
12 18
13 DM_CFLAGS += -I$(DMLIBSRC) 19 DM_CFLAGS += -I$(DMLIBSRC)
20
14 ifeq ($(EXTRA_CFLAGS),) 21 ifeq ($(EXTRA_CFLAGS),)
15 EXTRA_CFLAGS=-O3 -march=core2 -DDM_DEVEL 22 EXTRA_CFLAGS=-O3 -march=core2 -DDM_DEVEL
16 endif 23 endif
17 24
18 MKDIR ?= mkdir 25
19 MKDIR_P ?= $(MKDIR) -p 26 ###
27 ### Build demo target?
28 ###
29 ifneq ($(DEMO_BIN),)
30 BINARIES += $(DEMO_BIN)
31 endif
20 32
21 33
22 ### 34 ###
23 ### Editor 35 ### Editor
24 ### 36 ###
272 TESTS_TARGETS = $(addprefix $(TESTS_BINPATH),$(addsuffix $(EXEEXT),$(TESTS_BINARIES))) 284 TESTS_TARGETS = $(addprefix $(TESTS_BINPATH),$(addsuffix $(EXEEXT),$(TESTS_BINARIES)))
273 TOOL_TARGETS = $(addprefix $(TOOL_BINPATH),$(addsuffix $(EXEEXT),$(TOOL_BINARIES))) 285 TOOL_TARGETS = $(addprefix $(TOOL_BINPATH),$(addsuffix $(EXEEXT),$(TOOL_BINARIES)))
274 TARGETS += $(DMLIB_A) $(addprefix $(BINPATH),$(addsuffix $(EXEEXT),$(BINARIES))) \ 286 TARGETS += $(DMLIB_A) $(addprefix $(BINPATH),$(addsuffix $(EXEEXT),$(BINARIES))) \
275 $(TOOL_TARGETS) $(TESTS_TARGETS) 287 $(TOOL_TARGETS) $(TESTS_TARGETS)
276 288
277 NONBUILD+=$(OBJPATH) $(BINPATH) 289 NONBUILD += $(OBJPATH) $(BINPATH)
278 290
279 291
280 all: $(NONBUILD) $(TARGETS) 292 all: $(NONBUILD) $(TARGETS)
281 293
282 294
465 @echo " LINK $+" 477 @echo " LINK $+"
466 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) 478 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS)
467 479
468 $(TOOL_BINPATH)ppl$(EXEEXT): $(DMLIBSRC)setupfont.h $(OBJPATH)ppl.o $(DMLIB_A) 480 $(TOOL_BINPATH)ppl$(EXEEXT): $(DMLIBSRC)setupfont.h $(OBJPATH)ppl.o $(DMLIB_A)
469 @echo " LINK $+" 481 @echo " LINK $+"
470 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) 482 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) -lm
471 483
472 $(TOOL_BINPATH)objlink$(EXEEXT): $(OBJPATH)objlink.o $(DMLIB_A) 484 $(TOOL_BINPATH)objlink$(EXEEXT): $(OBJPATH)objlink.o $(DMLIB_A)
473 @echo " LINK $+" 485 @echo " LINK $+"
474 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) 486 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS)
475 487
485 @echo " LINK $+" 497 @echo " LINK $+"
486 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) -lm 498 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) -lm
487 499
488 $(TOOL_BINPATH)auval$(EXEEXT): $(OBJPATH)auval.o $(OBJPATH)dmeval.o $(OBJPATH)dmevalw.o $(DMLIB_A) 500 $(TOOL_BINPATH)auval$(EXEEXT): $(OBJPATH)auval.o $(OBJPATH)dmeval.o $(OBJPATH)dmevalw.o $(DMLIB_A)
489 @echo " LINK $+" 501 @echo " LINK $+"
490 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) $(SDL_TTF_LDFLAGS) 502 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) $(SDL_TTF_LDFLAGS) -lm
491 503
492 504
493 ### 505 ###
494 ### Demo binary 506 ### Demo binary
495 ### 507 ###
496 $(BINPATH)$(DEMO_BIN)$(EXEEXT): $(addprefix $(OBJPATH),$(DEMO_OBJS)) $(DMLIB_A) 508 $(BINPATH)$(DEMO_BIN)$(EXEEXT): $(addprefix $(OBJPATH),$(DEMO_OBJS)) $(DMLIB_A)
497 @echo " LINK $+" 509 @echo " LINK $+"
498 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) 510 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) -lm
499 511
500 512
501 ### 513 ###
502 ### Editor targets 514 ### Editor targets
503 ### 515 ###