Mercurial > hg > syntilista
comparison Makefile.gen @ 262:847917a62ea2
Build system cleanups.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Tue, 14 Jan 2020 03:08:32 +0200 |
parents | 14ed3a2500e6 |
children | f0e180b13e05 |
comparison
equal
deleted
inserted
replaced
261:f6a99b984b8e | 262:847917a62ea2 |
---|---|
1 ### | 1 ### |
2 ### Main build file | 2 ### Compiler flags |
3 ### | 3 ### |
4 | |
5 CFLAGS += -O2 -W -Wall -Wextra | 4 CFLAGS += -O2 -W -Wall -Wextra |
6 CXXFLAGS += -O2 -W -Wall -Wextra -std=c++11 | 5 CXXFLAGS += -O2 -W -Wall -Wextra -std=c++11 |
7 | 6 |
8 # Tools | 7 |
8 ### | |
9 ### Tools, paths and directories | |
10 ### | |
9 ifneq ($(BINTOOL_PREFIX),) | 11 ifneq ($(BINTOOL_PREFIX),) |
10 CC = $(BINTOOL_PREFIX)gcc | 12 CC = $(BINTOOL_PREFIX)gcc |
11 CXX = $(BINTOOL_PREFIX)g++ | 13 CXX = $(BINTOOL_PREFIX)g++ |
12 AR = $(BINTOOL_PREFIX)ar | 14 AR = $(BINTOOL_PREFIX)ar |
13 endif | 15 endif |
14 RANLIB = $(BINTOOL_PREFIX)ranlib | 16 RANLIB = $(BINTOOL_PREFIX)ranlib |
15 WINDRES = $(BINTOOL_PREFIX)windres | 17 WINDRES = $(BINTOOL_PREFIX)windres |
16 | 18 |
19 | |
17 INSTALL ?= install | 20 INSTALL ?= install |
18 MKDIR ?= mkdir | 21 MKDIR ?= mkdir |
19 MKDIR_P ?= $(MKDIR) -p | 22 MKDIR_P ?= $(MKDIR) -p |
20 | 23 |
21 # Common defines | 24 |
25 ### | |
26 ### Main targets and objects | |
27 ### | |
22 DEFINES += -DQT_DEPRECATED_WARNINGS -DQT_NO_DEBUG \ | 28 DEFINES += -DQT_DEPRECATED_WARNINGS -DQT_NO_DEBUG \ |
23 -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_SQL_LIB \ | 29 -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_SQL_LIB \ |
24 -DQT_CORE_LIB | 30 -DQT_CORE_LIB |
25 | 31 |
26 # Application stuff | 32 # Application stuff |
66 comma:= , | 72 comma:= , |
67 APP_VERSION_COM := $(subst .,$(comma),$(APP_VERSION)) | 73 APP_VERSION_COM := $(subst .,$(comma),$(APP_VERSION)) |
68 CXXFLAGS += -DAPP_VERSION=\"$(APP_VERSION)\" | 74 CXXFLAGS += -DAPP_VERSION=\"$(APP_VERSION)\" |
69 | 75 |
70 | 76 |
77 ### | |
78 ### Functions and compilation/link commands | |
79 ### | |
71 ifneq ($(V),1) | 80 ifneq ($(V),1) |
72 COMPILE_C_OBJ = @if test ! -d $(OBJPATH); then $(MKDIR_P) $(OBJPATH); fi && echo " CC $<" && $(CC) $(CFLAGS) -c -o $@ $< | 81 DO_CMD=/bin/echo -E " $(1) $(2)" && $(3) |
73 COMPILE_CXX_OBJ = @if test ! -d $(OBJPATH); then $(MKDIR_P) $(OBJPATH); fi && echo " CXX $<" && $(CXX) $(CXXFLAGS) -c -o $@ $< | |
74 LINK_C_BIN = @if test ! -d $(BINPATH); then $(MKDIR_P) $(BINPATH); fi && echo " LINK $@" && $(CC) -o $@ $(filter %.o %.a,$+) | |
75 LINK_CXX_BIN = @if test ! -d $(BINPATH); then $(MKDIR_P) $(BINPATH); fi && echo " LINK $@" && $(CXX) -o $@ $(filter %.o %.a,$+) | |
76 LINK_STATIC_LIB = @echo " AR $@" && $(AR) cru $@ $(filter %.o,$+) && $(RANLIB) $@ | |
77 else | 82 else |
78 COMPILE_C_OBJ = @if test ! -d $(OBJPATH); then $(MKDIR_P) $(OBJPATH); fi && echo "$(CC) $(CFLAGS) -c -o $@ $<" && $(CC) $(CFLAGS) -c -o $@ $< | 83 DO_CMD=/bin/echo -E $(3) && $(3) |
79 COMPILE_CXX_OBJ = @if test ! -d $(OBJPATH); then $(MKDIR_P) $(OBJPATH); fi && echo "$(CXX) $(CXXFLAGS) -c -o $@ $<" && $(CXX) $(CXXFLAGS) -c -o $@ $< | |
80 LINK_C_BIN = @if test ! -d $(BINPATH); then $(MKDIR_P) $(BINPATH); fi && echo "$(CC) -o $@ $(filter %.o %.a,$+)" && $(CC) -o $@ $(filter %.o %.a,$+) | |
81 LINK_CXX_BIN = @if test ! -d $(BINPATH); then $(MKDIR_P) $(BINPATH); fi && echo "$(CXX) -o $@ $(filter %.o %.a,$+)" && $(CXX) -o $@ $(filter %.o %.a,$+) | |
82 LINK_STATIC_LIB = @echo "$(AR) cru $@ $(filter %.o,$+)" && $(AR) cru $@ $(filter %.o,$+) && echo "$(RANLIB) $@" && $(RANLIB) $@ | |
83 endif | 84 endif |
85 DO_MKDIR=if test ! -d "$(1)"; then mkdir -p "$(1)"; fi | |
86 | |
87 | |
88 COMPILE_C_OBJ = \ | |
89 @$(call DO_MKDIR,$(OBJPATH)) ; \ | |
90 $(call DO_CMD,CC,$<,$(CC) $(CFLAGS) $(DM_CFLAGS) -c -o $@ $< $(1)) | |
91 | |
92 LINK_C_BIN = \ | |
93 @$(call DO_MKDIR,$(BINPATH)) ; \ | |
94 $(call DO_CMD,LINK,$@,$(CC) -o $@ $(filter %.o %.a,$+) $(LDFLAGS) $(1)) | |
95 | |
96 COMPILE_CXX_OBJ = \ | |
97 @$(call DO_MKDIR,$(OBJPATH)) ; \ | |
98 $(call DO_CMD,CXX,$<,$(CXX) $(CXXFLAGS) $(DM_CFLAGS) -c -o $@ $< $(1)) | |
99 | |
100 LINK_CXX_BIN = \ | |
101 @$(call DO_MKDIR,$(BINPATH)) ; \ | |
102 $(call DO_CMD,LINK,$@,$(CXX) -o $@ $(filter %.o %.a,$+) $(LDFLAGS) $(1)) | |
103 | |
104 LINK_STATIC_LIB = \ | |
105 @$(call DO_MKDIR,$(OBJPATH)) ; \ | |
106 $(call DO_CMD,AR,$@ $(filter %.o,$+),$(AR) cru $@ $(filter %.o,$+)) ; \ | |
107 $(call DO_CMD,RANLIB,$@,$(RANLIB) $@) | |
84 | 108 |
85 | 109 |
86 ### | 110 ### |
87 ### Target rules | 111 ### Generic target rules |
88 ### | 112 ### |
89 all: $(NOBUILD_TARGETS) $(NOINST_TARGETS) $(TARGETS) | 113 all: $(NOBUILD_TARGETS) $(NOINST_TARGETS) $(TARGETS) |
90 | 114 |
91 | 115 |
92 moc_predefs.h: | 116 moc_predefs.h: |