comparison Makefile.gen @ 263:f0e180b13e05

More build system improvements.
author Matti Hamalainen <ccr@tnsp.org>
date Tue, 14 Jan 2020 03:27:25 +0200
parents 847917a62ea2
children 2400c2fac4b1
comparison
equal deleted inserted replaced
262:847917a62ea2 263:f0e180b13e05
29 -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_SQL_LIB \ 29 -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_SQL_LIB \
30 -DQT_CORE_LIB 30 -DQT_CORE_LIB
31 31
32 # Application stuff 32 # Application stuff
33 APP_IMG=img/ 33 APP_IMG=img/
34 APP_BIN=$(BINPATH)Syntilista$(EXEEXT) 34 APP_BIN=$(BINPATH)Syntilista$(BINEXT)
35 35
36 APP_HDRS=\ 36 APP_HDRS=\
37 src/main.h \ 37 src/main.h \
38 src/util.h \ 38 src/util.h \
39 src/ui_viewtransactions.h \ 39 src/ui_viewtransactions.h \
80 ifneq ($(V),1) 80 ifneq ($(V),1)
81 DO_CMD=/bin/echo -E " $(1) $(2)" && $(3) 81 DO_CMD=/bin/echo -E " $(1) $(2)" && $(3)
82 else 82 else
83 DO_CMD=/bin/echo -E $(3) && $(3) 83 DO_CMD=/bin/echo -E $(3) && $(3)
84 endif 84 endif
85 DO_MKDIR=if test ! -d "$(1)"; then mkdir -p "$(1)"; fi 85 DO_MKDIR=if test ! -z "$(1)" -a ! -d "$(1)"; then /bin/echo -E " MKDIR $(1)"; mkdir -p "$(1)"; fi
86 86
87 87
88 COMPILE_C_OBJ = \ 88 COMPILE_C_OBJ = \
89 @$(call DO_MKDIR,$(OBJPATH)) ; \ 89 @$(call DO_MKDIR,$(OBJPATH)) ; \
90 $(call DO_CMD,CC,$<,$(CC) $(CFLAGS) $(DM_CFLAGS) -c -o $@ $< $(1)) 90 $(call DO_CMD,CC,$<,$(CC) $(CFLAGS) $(DM_CFLAGS) -c -o $@ $< $(1))
113 all: $(NOBUILD_TARGETS) $(NOINST_TARGETS) $(TARGETS) 113 all: $(NOBUILD_TARGETS) $(NOINST_TARGETS) $(TARGETS)
114 114
115 115
116 moc_predefs.h: 116 moc_predefs.h:
117 @echo "" > $(OBJPATH)dummy.cpp 117 @echo "" > $(OBJPATH)dummy.cpp
118 @$(CXX) $(CXXFLAGS) -dM -E -o $@ $(OBJPATH)dummy.cpp 118 @$(call DO_CMD,CXX,$@,$(CXX) $(CXXFLAGS) -dM -E -o $@ $(OBJPATH)dummy.cpp)
119 119
120 moc_%.cpp: %.h $(QT_MOC_RULES) 120 moc_%.cpp: %.h $(QT_MOC_RULES)
121 @echo " Qt::MOC $@ $<" 121 @$(call DO_CMD,Qt:MOC,$@ $<,$(QT_MOC) $(DEFINES) $(QT_MOC_FLAGS) $(INCPATH) $< -o $@)
122 @$(QT_MOC) $(DEFINES) $(QT_MOC_FLAGS) $(INCPATH) $< -o $@
123 122
124 ui_%.h: %.ui 123 ui_%.h: %.ui
125 @echo " Qt::UIC $@ $<" 124 @$(call DO_CMD,Qt:UIC,$@ $<,$(QT_UIC) $(QT_UIC_FLAGS) $< -o $@)
126 @$(QT_UIC) $(QT_UIC_FLAGS) $< -o $@
127 125
128 126
129 $(OBJPATH)%.o: src/%.cpp src/%.h 127 $(OBJPATH)%.o: src/%.cpp src/%.h
130 $(COMPILE_CXX_OBJ) $(DEFINES) $(INCPATH) 128 $(COMPILE_CXX_OBJ) $(DEFINES) $(INCPATH)
131 129
132 $(OBJPATH)%.o: src/%.cpp 130 $(OBJPATH)%.o: src/%.cpp
133 $(COMPILE_CXX_OBJ) $(DEFINES) $(INCPATH) 131 $(COMPILE_CXX_OBJ) $(DEFINES) $(INCPATH)
134 132
135 133
136
137 ### 134 ###
138 ### Windows specific rules 135 ### Windows specific rules
139 ### 136 ###
140 %.rc: %.rc.in icon.ico VERSION 137 %.rc: %.rc.in icon.ico VERSION
141 @sed -e "s/@APP_VERSION@/$(APP_VERSION)/g;s/@APP_VERSION_COM@/$(APP_VERSION_COM)/g;s#@APP_EXE@#$(notdir $(APP_BIN))#g" < $< > $@ 138 @sed -e "s/@APP_VERSION@/$(APP_VERSION)/g;s/@APP_VERSION_COM@/$(APP_VERSION_COM)/g;s#@APP_EXE@#$(notdir $(APP_BIN))#g" < $< > $@
142 139
143 $(OBJPATH)%.o: src/%.rc 140 $(OBJPATH)%.o: src/%.rc
144 @echo " WINDRES $<" 141 @$(call DO_CMD,WINDRES,$<,$(WINDRES) $< -O coff -o $@)
145 @$(WINDRES) $< -O coff -o $@
146 142
147 143
148 ### 144 ###
149 ### Application rules 145 ### Application rules
150 ### 146 ###
159 155
160 $(APP_IMG)logo.png: $(addprefix $(APP_IMG),$(LOGO_IMG)) 156 $(APP_IMG)logo.png: $(addprefix $(APP_IMG),$(LOGO_IMG))
161 convert "$<" -scale "258x220" "$@" 157 convert "$<" -scale "258x220" "$@"
162 158
163 icon.ico: $(addprefix $(APP_IMG),$(ICON_PNGS)) 159 icon.ico: $(addprefix $(APP_IMG),$(ICON_PNGS))
164 @echo " CONVERT $+ -> $@" 160 @$(call DO_CMD,CONVERT,$+ -> $@,convert $+ $@)
165 @convert $+ $@
166 161
167 src/%.cpp: src/%.qrc $(APP_RESOURCES) 162 src/%.cpp: src/%.qrc $(APP_RESOURCES)
168 @echo " Qt:RCC $@ $<" 163 @$(call DO_CMD,Qt:RCC,$@ $<,$(QT_RCC) -name "Syntilista" $< -o $@)
169 @$(QT_RCC) -name "Syntilista" $< -o $@
170 164
171 $(OBJPATH)main.o: src/main.cpp $(APP_HDRS) VERSION 165 $(OBJPATH)main.o: src/main.cpp $(APP_HDRS) VERSION
172 $(COMPILE_CXX_OBJ) $(DEFINES) $(INCPATH) 166 $(COMPILE_CXX_OBJ) $(DEFINES) $(INCPATH)
173
174 167
175 $(APP_BIN): $(addprefix $(OBJPATH),$(APP_OBJS)) $(APP_DEP_LIBS) | $(APP_DEPS) 168 $(APP_BIN): $(addprefix $(OBJPATH),$(APP_OBJS)) $(APP_DEP_LIBS) | $(APP_DEPS)
176 $(LINK_CXX_BIN) $(APP_LIBS) 169 $(LINK_CXX_BIN) $(APP_LIBS)
177 170
178 171