diff Makefile.gen @ 50:402446a76794

And more build system work.
author Matti Hamalainen <ccr@tnsp.org>
date Fri, 07 Apr 2017 06:04:07 +0300
parents b86eb06070ba
children 1ac8fdd932b3
line wrap: on
line diff
--- a/Makefile.gen	Fri Apr 07 05:40:22 2017 +0300
+++ b/Makefile.gen	Fri Apr 07 06:04:07 2017 +0300
@@ -1,4 +1,8 @@
+###
+### Main build file
+###
 
+# Tools
 CC = $(BINTOOL_PREFIX)gcc
 CXX = $(BINTOOL_PREFIX)g++
 AR = $(BINTOOL_PREFIX)ar
@@ -9,37 +13,38 @@
 MKDIR ?= mkdir
 MKDIR_P ?= $(MKDIR) -p
 
+# Common defines
+DEFINES += -DQT_DEPRECATED_WARNINGS -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_SQL_LIB -DQT_CORE_LIB
 
+# Application stuff
 APP_BIN=$(BINPATH)Syntilista$(EXEEXT)
 APP_OBJS=main.o qrc_Syntilista.o moc_main.o
-APP_VERSION=
+APP_VERSION := $(shell cat VERSION)
+comma:= ,
+APP_VERSION_COM := $(subst .,$(comma),$(APP_VERSION))
+CXXFLAGS += -DAPP_VERSION=\"$(APP_VERSION)\"
 
 LOGO_SVG ?= kampuscafe4.svg
 ICON_PNGS = icon-16.png icon-32.png icon-48.png icon-64.png 
 
 
+# And target lists
 TARGETS = $(APP_BIN)
 NOBUILD_TARGETS += $(OBJPATH) $(BINPATH)
-NOINST_TARGETS += qrc_Syntilista.cpp
-# moc_main.cpp
+NOINST_TARGETS += 
 
 
-##
-## Version strings
-##
-APP_VERSION := $(shell cat VERSION)
-comma:= ,
-APP_VERSION_COM := $(subst .,$(comma),$(NN_VERSION))
-CXXFLAGS += -DAPP_VERSION=\"$(APP_VERSION)\"
-
-
-##
-## Target rules
-##
+###
+### Target rules
+###
 all: $(NOBUILD_TARGETS) $(NOINST_TARGETS) $(TARGETS)
 
 
-moc_%.cpp: %.h
+moc_predefs.h:
+	@echo "" > $(OBJPATH)dummy.cpp
+	@$(CXX) $(CXXFLAGS) -dM -E -o $@ $(OBJPATH)dummy.cpp
+
+moc_%.cpp: %.h $(QT_MOC_RULES)
 	@echo " Qt::MOC $@ $<"
 	@$(QT_MOC) $(DEFINES) $(QT_MOC_FLAGS) $(INCPATH) $< -o $@
 
@@ -61,17 +66,16 @@
 	@$(CXX) $(CXXFLAGS) $(DEFINES) $(INCPATH) -c -o $@ $<
 
 
-###
-### Windows specific targets
-###
-$(OBJPATH)moc_predefs.h: $(QT5_PREFIX)/mkspecs/features/data/dummy.cpp
-	@$(CXX) $(CXXFLAGS) -dM -E -o $@ $<
 
-resource.rc: resource.rc.in $VERSION
-	@sed -e "s/@VERSION@/$(APP_VERSION)/g;s/@VERSION_COM@/$(APP_VERSION_COM)/g;s#@EXE@#$(notdir $(APP_BIN))#g" < $< > $@
+###
+### Windows specific rules
+###
+resource.rc: resource.rc.in icon.ico VERSION
+	@sed -e "s/@APP_VERSION@/$(APP_VERSION)/g;s/@APP_VERSION_COM@/$(APP_VERSION_COM)/g;s#@APP_EXE@#$(notdir $(APP_BIN))#g" < $< > $@
 
-resource.o: resource.rc
-	$(WINDRES) $< -O coff -o $@
+%.o: %.rc
+	@echo " WINDRES $<"
+	@$(WINDRES) $< -O coff -o $@
 
 
 ###
@@ -83,8 +87,8 @@
 logo.png: $(LOGO_SVG)
 	inkscape --export-area-page -w 300 -h 280 -e "$@" "$<"
 
-Syntilista.ico: $(ICON_PNGS)
-	convert $< $+
+icon.ico: $(ICON_PNGS)
+	convert $< $@
 
 qrc_Syntilista.cpp: Syntilista.qrc logo.png $(ICON_PNGS)
 	@echo " Qt:RCC $@ $<"
@@ -95,14 +99,14 @@
 	@$(CXX) $(CXXFLAGS) $(DEFINES) $(INCPATH) -c -o $@ $<
 
 
-$(APP_BIN): $(addprefix $(OBJPATH),$(APP_OBJS))
+$(APP_BIN): $(addprefix $(OBJPATH),$(APP_OBJS)) $(APP_DEPS)
 	@echo " LINK $@"
 	@$(CXX) $(LDFLAGS) -o $@ $+ $(LIBS)
 
 
-##
-## Special targets
-##
+###
+### Special targets
+###
 clean:
 	$(RM) $(TARGETS) $(NOINST_TARGETS) $(OBJPATH)*.o