changeset 49:b86eb06070ba

More work on buildsystem.
author Matti Hamalainen <ccr@tnsp.org>
date Fri, 07 Apr 2017 05:40:22 +0300
parents 200ec310660a
children 402446a76794
files Makefile.cross-mingw-win32 Makefile.gen main.h
diffstat 3 files changed, 38 insertions(+), 23 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile.cross-mingw-win32	Fri Apr 07 05:11:40 2017 +0300
+++ b/Makefile.cross-mingw-win32	Fri Apr 07 05:40:22 2017 +0300
@@ -3,8 +3,8 @@
 #
 
 # Miscellaneous
-QT5_PREFIX = /misc/packages/qt5-src/qtbase
-BINTOOL_PREFIX = i686-w64-mingw32-
+QT5_PREFIX ?= /misc/packages/qt5-src/qtbase
+BINTOOL_PREFIX ?= i686-w64-mingw32-
 PREFIX =
 BINPATH = win32/
 OBJPATH = obj/win32/
@@ -41,16 +41,4 @@
 
 
 include Makefile.gen
-
-###
-### 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@/$(NN_VERSION)/g;s/@VERSION_COM@/$(NN_VERSION_COM)/g;s/@ICON@/$(ICON)/g;s#@EXE@#$(notdir $(NNCHAT_BIN))#g" < $< > $@
-
-#resource.o: resource.rc
-#	$(WINDRES) $< -O coff -o $@
 	
\ No newline at end of file
--- a/Makefile.gen	Fri Apr 07 05:11:40 2017 +0300
+++ b/Makefile.gen	Fri Apr 07 05:40:22 2017 +0300
@@ -3,22 +3,35 @@
 CXX = $(BINTOOL_PREFIX)g++
 AR = $(BINTOOL_PREFIX)ar
 RANLIB = $(BINTOOL_PREFIX)ranlib
+WINDRES = $(BINTOOL_PREFIX)windres
+
 INSTALL ?= install
 MKDIR ?= mkdir
 MKDIR_P ?= $(MKDIR) -p
 
 
-SYNTILISTA_BIN=$(BINPATH)Syntilista$(EXEEXT)
-SYNTILISTA_OBJS=main.o qrc_Syntilista.o moc_main.o
+APP_BIN=$(BINPATH)Syntilista$(EXEEXT)
+APP_OBJS=main.o qrc_Syntilista.o moc_main.o
+APP_VERSION=
 
 LOGO_SVG ?= kampuscafe4.svg
+ICON_PNGS = icon-16.png icon-32.png icon-48.png icon-64.png 
 
-TARGETS = $(SYNTILISTA_BIN)
+
+TARGETS = $(APP_BIN)
 NOBUILD_TARGETS += $(OBJPATH) $(BINPATH)
 NOINST_TARGETS += qrc_Syntilista.cpp
 # moc_main.cpp
 
 
+##
+## Version strings
+##
+APP_VERSION := $(shell cat VERSION)
+comma:= ,
+APP_VERSION_COM := $(subst .,$(comma),$(NN_VERSION))
+CXXFLAGS += -DAPP_VERSION=\"$(APP_VERSION)\"
+
 
 ##
 ## Target rules
@@ -48,17 +61,32 @@
 	@$(CXX) $(CXXFLAGS) $(DEFINES) $(INCPATH) -c -o $@ $<
 
 
-##
-## Application rules
-##
+###
+### 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" < $< > $@
+
+resource.o: resource.rc
+	$(WINDRES) $< -O coff -o $@
+
+
+###
+### Application rules
+###
 icon-%.png: $(LOGO_SVG)
 	inkscape --export-area-page -w $(patsubst icon-%.png,%,$@) -h $(patsubst icon-%.png,%,$@) -e "$@" "$<"
 
 logo.png: $(LOGO_SVG)
 	inkscape --export-area-page -w 300 -h 280 -e "$@" "$<"
 
+Syntilista.ico: $(ICON_PNGS)
+	convert $< $+
 
-qrc_Syntilista.cpp: Syntilista.qrc logo.png icon-16.png icon-32.png icon-48.png icon-64.png 
+qrc_Syntilista.cpp: Syntilista.qrc logo.png $(ICON_PNGS)
 	@echo " Qt:RCC $@ $<"
 	@$(QT_RCC) -name "Syntilista" $< -o $@
 
@@ -67,7 +95,7 @@
 	@$(CXX) $(CXXFLAGS) $(DEFINES) $(INCPATH) -c -o $@ $<
 
 
-$(SYNTILISTA_BIN): $(addprefix $(OBJPATH),$(SYNTILISTA_OBJS))
+$(APP_BIN): $(addprefix $(OBJPATH),$(APP_OBJS))
 	@echo " LINK $@"
 	@$(CXX) $(LDFLAGS) -o $@ $+ $(LIBS)
 
--- a/main.h	Fri Apr 07 05:11:40 2017 +0300
+++ b/main.h	Fri Apr 07 05:40:22 2017 +0300
@@ -19,7 +19,6 @@
 #define APP_VENDOR        "TNSP"                    // Vendor ID (for settings, etc.)
 #define APP_ID            "Kampus Syntilista"       // Application ID (for settings)
 #define APP_NAME          "Café Kampus Syntilista"  // Application title/name
-#define APP_VERSION       "0.2"                     // Version string
 #define APP_SQLITE_FILE   "syntilista.sqlite3"      // SQLite3 database file name (without path)