comparison Makefile.gen @ 2381:e61aaa51415c

Reorganize Makefile.gen some for clarity.
author Matti Hamalainen <ccr@tnsp.org>
date Wed, 08 Jan 2020 13:24:11 +0200
parents 6f2675365314
children 1f26fd82735a
comparison
equal deleted inserted replaced
2380:89cb93184175 2381:e61aaa51415c
1 ### 1 ###
2 ### Get settings from config.mak 2 ### Get settings from config.mak or other include
3 ### 3 ###
4 ifneq ($(DM_CONFIG),) 4 ifneq ($(DM_CONFIG),)
5 ifneq ($(DM_CONFIG),no) 5 ifneq ($(DM_CONFIG),no)
6 include $(DM_CONFIG) 6 include $(DM_CONFIG)
7 endif 7 endif
8 else 8 else
9 include config.mak 9 include config.mak
10 endif 10 endif
11 11
12
13 ###
14 ### Compiler flags
15 ###
16 ifeq ($(EXTRA_CFLAGS),)
17 EXTRA_CFLAGS=-O3
18 # -march=corei7
19 endif
20
21 CFLAGS += -g -W -Wall -DHAVE_STRING_H $(EXTRA_CFLAGS)
22 #CFLAGS += -std=c11 -D_FILE_OFFSET_BITS=64
23 CXXFLAGS = $(CFLAGS)
24
25 DM_CFLAGS += -I$(DMLIB_SRC) $(SDL_CFLAGS)
26 DM_LDFLAGS += $(LDFLAGS)
27
28
29 ###
30 ### Paths and directories
31 ###
12 MKDIR ?= mkdir 32 MKDIR ?= mkdir
13 MKDIR_P ?= $(MKDIR) -p 33 MKDIR_P ?= $(MKDIR) -p
14 BINPATH ?= ./ 34 BINPATH ?= ./
15 DMLIB ?= ./ 35 DMLIB ?= ./
16 TOOL_SRC = $(DMLIB)tools/ 36 TOOL_SRC = $(DMLIB)tools/
19 TOOL_BINPATH ?= $(TOOL_SRC) 39 TOOL_BINPATH ?= $(TOOL_SRC)
20 TESTS_BINPATH ?= $(TESTS_SRC) 40 TESTS_BINPATH ?= $(TESTS_SRC)
21 41
22 DMLIB_SRC = $(DMLIB)src/ 42 DMLIB_SRC = $(DMLIB)src/
23 43
24 DM_CFLAGS += -I$(DMLIB_SRC)
25
26 ifeq ($(EXTRA_CFLAGS),)
27 EXTRA_CFLAGS=-O3
28 # -march=corei7
29 endif
30 44
31 45
32 ### 46 ###
33 ### Extra debug messages etc? 47 ### Extra debug messages etc?
34 ### 48 ###
278 endif 292 endif
279 endif 293 endif
280 294
281 295
282 ### 296 ###
283 ### Rest of the rules 297 ### Compilation commands
284 ### 298 ###
285 CFLAGS += -g -W -Wall -DHAVE_STRING_H $(EXTRA_CFLAGS)
286 #CFLAGS += -std=c11 -D_FILE_OFFSET_BITS=64
287 CXXFLAGS=$(CFLAGS)
288
289 DM_CFLAGS += $(SDL_CFLAGS)
290 DM_LDFLAGS += $(LDFLAGS)
291
292
293 ifneq ($(V),1) 299 ifneq ($(V),1)
294 COMPILE_C_OBJ = @if test ! -d $(OBJPATH); then $(MKDIR_P) $(OBJPATH); fi && echo " CC $<" && $(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) 300 COMPILE_C_OBJ = @if test ! -d $(OBJPATH); then $(MKDIR_P) $(OBJPATH); fi && echo " CC $<" && $(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS)
295 COMPILE_CXX_OBJ = @if test ! -d $(OBJPATH); then $(MKDIR_P) $(OBJPATH); fi && echo " CXX $<" && $(CXX) $(CXXFLAGS) -c -o $@ $< $(DM_CFLAGS) 301 COMPILE_CXX_OBJ = @if test ! -d $(OBJPATH); then $(MKDIR_P) $(OBJPATH); fi && echo " CXX $<" && $(CXX) $(CXXFLAGS) -c -o $@ $< $(DM_CFLAGS)
296 LINK_C_BIN = @if test ! -d $(BINPATH); then $(MKDIR_P) $(BINPATH); fi && echo " LINK $@" && $(CC) -o $@ $(filter %.o %.a,$+) 302 LINK_C_BIN = @if test ! -d $(BINPATH); then $(MKDIR_P) $(BINPATH); fi && echo " LINK $@" && $(CC) -o $@ $(filter %.o %.a,$+)
297 LINK_CXX_BIN = @if test ! -d $(BINPATH); then $(MKDIR_P) $(BINPATH); fi && echo " LINK $@" && $(CXX) -o $@ $(filter %.o %.a,$+) 303 LINK_CXX_BIN = @if test ! -d $(BINPATH); then $(MKDIR_P) $(BINPATH); fi && echo " LINK $@" && $(CXX) -o $@ $(filter %.o %.a,$+)
303 LINK_CXX_BIN = @if test ! -d $(BINPATH); then $(MKDIR_P) $(BINPATH); fi && echo "$(CXX) -o $@ $(filter %.o %.a,$+)" && $(CXX) -o $@ $(filter %.o %.a,$+) 309 LINK_CXX_BIN = @if test ! -d $(BINPATH); then $(MKDIR_P) $(BINPATH); fi && echo "$(CXX) -o $@ $(filter %.o %.a,$+)" && $(CXX) -o $@ $(filter %.o %.a,$+)
304 LINK_STATIC_LIB = @echo "$(AR) cru $@ $(filter %.o,$+)" && $(AR) cru $@ $(filter %.o,$+) && echo "$(RANLIB) $@" && $(RANLIB) $@ 310 LINK_STATIC_LIB = @echo "$(AR) cru $@ $(filter %.o,$+)" && $(AR) cru $@ $(filter %.o,$+) && echo "$(RANLIB) $@" && $(RANLIB) $@
305 endif 311 endif
306 312
307 313
314 ###
315 ### Main targets and objects
316 ###
308 DMLIB_A = $(OBJPATH)dmlib.a 317 DMLIB_A = $(OBJPATH)dmlib.a
309 DMLIB_OBJS += \ 318 DMLIB_OBJS += \
310 dmfile.o dmlib.o dmcurves.o dmstring.o \ 319 dmfile.o dmlib.o dmcurves.o dmstring.o \
311 dmgrowbuf.o dmargs.o dmvecmat.o dmperlin.o \ 320 dmgrowbuf.o dmargs.o dmvecmat.o dmperlin.o \
312 dmimage.o dmengine.o dmfft.o dmzlib.o 321 dmimage.o dmengine.o dmfft.o dmzlib.o