comparison Makefile.gen @ 2415:a2c565ae8098

Import build system improvements from th-libs.
author Matti Hamalainen <ccr@tnsp.org>
date Tue, 14 Jan 2020 02:08:26 +0200
parents bc05bcfc4598
children 9b4958ef4af2
comparison
equal deleted inserted replaced
2414:69a5af2eb1ea 2415:a2c565ae8098
292 endif 292 endif
293 endif 293 endif
294 294
295 295
296 ### 296 ###
297 ### Compilation commands 297 ### Functions and compilation/link commands
298 ### 298 ###
299 ifneq ($(V),1) 299 ifneq ($(V),1)
300 COMPILE_C_OBJ = @if test ! -d $(OBJPATH); then $(MKDIR_P) $(OBJPATH); fi && echo " CC $<" && $(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) 300 DO_CMD=/bin/echo -E " $(1) $(2)" && $(3)
301 COMPILE_CXX_OBJ = @if test ! -d $(OBJPATH); then $(MKDIR_P) $(OBJPATH); fi && echo " CXX $<" && $(CXX) $(CXXFLAGS) -c -o $@ $< $(DM_CFLAGS)
302 LINK_C_BIN = @if test ! -d $(BINPATH); then $(MKDIR_P) $(BINPATH); fi && echo " LINK $@" && $(CC) -o $@ $(filter %.o %.a,$+)
303 LINK_CXX_BIN = @if test ! -d $(BINPATH); then $(MKDIR_P) $(BINPATH); fi && echo " LINK $@" && $(CXX) -o $@ $(filter %.o %.a,$+)
304 LINK_STATIC_LIB = @echo " AR $@" && $(AR) cru $@ $(filter %.o,$+) && $(RANLIB) $@
305 else 301 else
306 COMPILE_C_OBJ = @if test ! -d $(OBJPATH); then $(MKDIR_P) $(OBJPATH); fi && echo "$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS)" && $(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) 302 DO_CMD=/bin/echo -E $(3) && $(3)
307 COMPILE_CXX_OBJ = @if test ! -d $(OBJPATH); then $(MKDIR_P) $(OBJPATH); fi && echo "$(CXX) $(CXXFLAGS) -c -o $@ $< $(DM_CFLAGS)" && $(CXX) $(CXXFLAGS) -c -o $@ $< $(DM_CFLAGS) 303 endif
308 LINK_C_BIN = @if test ! -d $(BINPATH); then $(MKDIR_P) $(BINPATH); fi && echo "$(CC) -o $@ $(filter %.o %.a,$+)" && $(CC) -o $@ $(filter %.o %.a,$+) 304 DO_MKDIR=if test ! -d "$(1)"; then mkdir -p "$(1)"; fi
309 LINK_CXX_BIN = @if test ! -d $(BINPATH); then $(MKDIR_P) $(BINPATH); fi && echo "$(CXX) -o $@ $(filter %.o %.a,$+)" && $(CXX) -o $@ $(filter %.o %.a,$+) 305
310 LINK_STATIC_LIB = @echo "$(AR) cru $@ $(filter %.o,$+)" && $(AR) cru $@ $(filter %.o,$+) && echo "$(RANLIB) $@" && $(RANLIB) $@ 306
311 endif 307 COMPILE_C_OBJ = \
308 @$(call DO_MKDIR,$(OBJPATH)) ; \
309 $(call DO_CMD,CC,$<,$(CC) $(CFLAGS) $(DM_CFLAGS) -c -o $@ $< $(1))
310
311 LINK_C_BIN = \
312 @$(call DO_MKDIR,$(BINPATH)) ; \
313 $(call DO_CMD,LINK,$@,$(CC) -o $@ $(filter %.o %.a,$+) $(LDFLAGS) $(1))
314
315 COMPILE_CXX_OBJ = \
316 $(call DO_MKDIR,$(OBJPATH)) ; \
317 $(call DO_CMD,CXX,$<,$(CXX) $(CXXFLAGS) $(DM_CFLAGS) -c -o $@ $< $(1))
318
319 LINK_CXX_BIN = \
320 @$(call DO_MKDIR,$(BINPATH)) ; \
321 $(call DO_CMD,LINK,$@,$(CXX) -o $@ $(filter %.o %.a,$+) $(LDFLAGS) $(1))
322
323 LINK_STATIC_LIB = \
324 @$(call DO_MKDIR,$(OBJPATH)) ; \
325 $(call DO_CMD,AR,$@ $(filter %.o,$+),$(AR) cru $@ $(filter %.o,$+)) ; \
326 $(call DO_CMD,RANLIB,$@,$(RANLIB) $@)
312 327
313 328
314 ### 329 ###
315 ### Main targets and objects 330 ### Main targets and objects
316 ### 331 ###