changeset 258:daaad6ad8212

Build system improvements.
author Matti Hamalainen <ccr@tnsp.org>
date Thu, 05 Dec 2019 16:36:01 +0200
parents f65e0de45c2b
children 14ed3a2500e6
files Makefile Makefile.gen
diffstat 2 files changed, 22 insertions(+), 15 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile	Thu Dec 05 03:17:24 2019 +0200
+++ b/Makefile	Thu Dec 05 16:36:01 2019 +0200
@@ -21,13 +21,13 @@
 DEFINES += -DUSE_QTHTTP
 endif
 DEFINES += 
-INCPATH = -I. `pkg-config --cflags $(addprefix Qt5,$(QT5_MODULES))`
+INCPATH = -I. $(shell pkg-config --cflags $(addprefix Qt5,$(QT5_MODULES)))
 
 CFLAGS += -pipe -D_REENTRANT -fPIC
 CXXFLAGS += -pipe -D_REENTRANT -fPIC
 LDFLAGS += -Wl,-O1
 
-APP_LIBS += `pkg-config --libs $(addprefix Qt5,$(QT5_MODULES))`
+APP_LIBS += $(shell pkg-config --libs $(addprefix Qt5,$(QT5_MODULES)))
 APP_DEP_LIBS = 
 APP_DEPS = 
 
--- a/Makefile.gen	Thu Dec 05 03:17:24 2019 +0200
+++ b/Makefile.gen	Thu Dec 05 16:36:01 2019 +0200
@@ -55,7 +55,7 @@
 
 # And target lists
 TARGETS = $(APP_BIN)
-NOBUILD_TARGETS += $(OBJPATH) $(BINPATH)
+NOBUILD_TARGETS +=
 NOINST_TARGETS += 
 CLEAN_TARGETS += icon.ico src/moc_*.cpp src/ui_*.h
 DISTCLEAN_TARGETS += 
@@ -68,6 +68,21 @@
 CXXFLAGS += -DAPP_VERSION=\"$(APP_VERSION)\"
 
 
+ifneq ($(V),1)
+COMPILE_C_OBJ = @if test ! -d $(OBJPATH); then $(MKDIR_P) $(OBJPATH); fi && echo " CC $<" && $(CC) $(CFLAGS) -c -o $@ $<
+COMPILE_CXX_OBJ = @if test ! -d $(OBJPATH); then $(MKDIR_P) $(OBJPATH); fi && echo " CXX $<" && $(CXX) $(CXXFLAGS) -c -o $@ $<
+LINK_C_BIN = @if test ! -d $(BINPATH); then $(MKDIR_P) $(BINPATH); fi && echo " LINK $@" && $(CC) -o $@ $(filter %.o %.a,$+)
+LINK_CXX_BIN = @if test ! -d $(BINPATH); then $(MKDIR_P) $(BINPATH); fi && echo " LINK $@" && $(CXX) -o $@ $(filter %.o %.a,$+)
+LINK_STATIC_LIB = @echo " AR $@" && $(AR) cru $@ $(filter %.o,$+) && $(RANLIB) $@
+else
+COMPILE_C_OBJ = @if test ! -d $(OBJPATH); then $(MKDIR_P) $(OBJPATH); fi && echo "$(CC) $(CFLAGS) -c -o $@ $<" && $(CC) $(CFLAGS) -c -o $@ $<
+COMPILE_CXX_OBJ = @if test ! -d $(OBJPATH); then $(MKDIR_P) $(OBJPATH); fi && echo "$(CXX) $(CXXFLAGS) -c -o $@ $<" && $(CXX) $(CXXFLAGS) -c -o $@ $<
+LINK_C_BIN = @if test ! -d $(BINPATH); then $(MKDIR_P) $(BINPATH); fi && echo "$(CC) -o $@ $(filter %.o %.a,$+)" && $(CC) -o $@ $(filter %.o %.a,$+)
+LINK_CXX_BIN = @if test ! -d $(BINPATH); then $(MKDIR_P) $(BINPATH); fi && echo "$(CXX) -o $@ $(filter %.o %.a,$+)" && $(CXX) -o $@ $(filter %.o %.a,$+)
+LINK_STATIC_LIB = @echo "$(AR) cru $@ $(filter %.o,$+)" && $(AR) cru $@ $(filter %.o,$+) && echo "$(RANLIB) $@" && $(RANLIB) $@
+endif
+
+
 ###
 ### Target rules
 ###
@@ -87,17 +102,11 @@
 	@$(QT_UIC) $(QT_UIC_FLAGS) $< -o $@
 
 
-$(OBJPATH) $(BINPATH):
-	@echo " MKDIR $@"
-	@$(MKDIR_P) $@
-
 $(OBJPATH)%.o: src/%.cpp src/%.h
-	@echo " CXX $@"
-	@$(CXX) $(CXXFLAGS) $(DEFINES) $(INCPATH) -c -o $@ $<
+	$(COMPILE_CXX_OBJ) $(DEFINES) $(INCPATH)
 
 $(OBJPATH)%.o: src/%.cpp
-	@echo " CXX $@"
-	@$(CXX) $(CXXFLAGS) $(DEFINES) $(INCPATH) -c -o $@ $<
+	$(COMPILE_CXX_OBJ) $(DEFINES) $(INCPATH)
 
 
 
@@ -136,13 +145,11 @@
 	@$(QT_RCC) -name "Syntilista" $< -o $@
 
 $(OBJPATH)main.o: src/main.cpp $(APP_HDRS) VERSION
-	@echo " CXX $@"
-	@$(CXX) $(CXXFLAGS) $(DEFINES) $(INCPATH) -c -o $@ $<
+	$(COMPILE_CXX_OBJ) $(DEFINES) $(INCPATH)
 
 
 $(APP_BIN): $(addprefix $(OBJPATH),$(APP_OBJS)) $(APP_DEP_LIBS) | $(APP_DEPS)
-	@echo " LINK $@"
-	@$(CXX) $(LDFLAGS) -o $@ $+ $(APP_LIBS)
+	$(LINK_BIN) $(APP_LIBS)
 
 
 ###