# HG changeset patch # User Matti Hamalainen # Date 1491532822 -10800 # Node ID b86eb06070ba20db53e4c34c35d76d8793b3ba7d # Parent 200ec310660ae9437d7e8187c1be32d07a007901 More work on buildsystem. diff -r 200ec310660a -r b86eb06070ba Makefile.cross-mingw-win32 --- 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 diff -r 200ec310660a -r b86eb06070ba Makefile.gen --- 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) diff -r 200ec310660a -r b86eb06070ba main.h --- 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)