changeset 52:1ac8fdd932b3

More work on build system.
author Matti Hamalainen <ccr@tnsp.org>
date Fri, 07 Apr 2017 17:27:01 +0300
parents d46d3529fc9e
children 73d51966053d
files Makefile Makefile.cross-mingw-win32 Makefile.gen
diffstat 3 files changed, 19 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile	Fri Apr 07 07:19:59 2017 +0300
+++ b/Makefile	Fri Apr 07 17:27:01 2017 +0300
@@ -16,12 +16,12 @@
 DEFINES = 
 INCPATH = -I. `pkg-config --cflags Qt5Core Qt5Gui Qt5Widgets Qt5Sql`
 
-
 CFLAGS += -pipe -O2 -Wall -W -D_REENTRANT -fPIC
 CXXFLAGS += -pipe -O2 -Wall -W -D_REENTRANT -fPIC
 LDFLAGS += -Wl,-O1
-LIBS += `pkg-config --libs Qt5Core Qt5Gui Qt5Widgets Qt5Sql`
 
+APP_LIBS += `pkg-config --libs Qt5Core Qt5Gui Qt5Widgets Qt5Sql`
+APP_DEP_LIBS = 
 APP_DEPS = 
 
 # Qt tools
--- a/Makefile.cross-mingw-win32	Fri Apr 07 07:19:59 2017 +0300
+++ b/Makefile.cross-mingw-win32	Fri Apr 07 17:27:01 2017 +0300
@@ -23,15 +23,18 @@
 CFLAGS += -pipe -fno-keep-inline-dllexport -O2 -Wall -Wextra
 CXXFLAGS += -pipe -fno-keep-inline-dllexport -O2 -frtti -Wall -Wextra -fexceptions -mthreads
 LDFLAGS += -Wl,-s -Wl,-subsystem,windows -mthreads
-LIBS = -lglu32 -lopengl32 -lgdi32 -luser32 -lmingw32 \
-	-L$(QT5_PREFIX)/lib $(QT5_PREFIX)/lib/libqtmain.a \
+
+APP_LIBS = -lglu32 -lopengl32 -lgdi32 -luser32 -lmingw32 \
+	-L$(QT5_PREFIX)/lib \
+	$(QT5_PREFIX)/lib/libqtmain.a \
 	-lshell32 \
 	$(QT5_PREFIX)/lib/libQt5Widgets.a \
 	$(QT5_PREFIX)/lib/libQt5Gui.a \
 	$(QT5_PREFIX)/lib/libQt5Sql.a \
 	$(QT5_PREFIX)/lib/libQt5Core.a 
 
-APP_DEPS = resource.o
+APP_DEP_LIBS = $(OBJPATH)resource.o
+APP_DEPS = 
 
 # Qt tools
 QT_RCC = $(QT5_PREFIX)/bin/rcc
--- a/Makefile.gen	Fri Apr 07 07:19:59 2017 +0300
+++ b/Makefile.gen	Fri Apr 07 17:27:01 2017 +0300
@@ -25,13 +25,14 @@
 CXXFLAGS += -DAPP_VERSION=\"$(APP_VERSION)\"
 
 LOGO_SVG ?= kampuscafe4.svg
-ICON_PNGS = icon-16.png icon-32.png icon-48.png icon-64.png 
+ICON_PNGS = icon-64.png icon-48.png icon-32.png icon-16.png
 
 
 # And target lists
 TARGETS = $(APP_BIN)
 NOBUILD_TARGETS += $(OBJPATH) $(BINPATH)
-NOINST_TARGETS += 
+NOINST_TARGETS +=
+DISTCLEAN_TARGETS += icon.ico $(ICON_PNGS) moc_*.cpp ui_*.h
 
 
 ###
@@ -73,7 +74,7 @@
 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" < $< > $@
 
-%.o: %.rc
+$(OBJPATH)%.o: %.rc
 	@echo " WINDRES $<"
 	@$(WINDRES) $< -O coff -o $@
 
@@ -85,10 +86,11 @@
 	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 "$@" "$<"
+	inkscape --export-area-page -w 320 -h 280 -e "$@" "$<"
 
 icon.ico: $(ICON_PNGS)
-	convert $< $@
+	@echo " CONVERT $+ -> $@"
+	@convert $+ $@
 
 qrc_Syntilista.cpp: Syntilista.qrc logo.png $(ICON_PNGS)
 	@echo " Qt:RCC $@ $<"
@@ -99,18 +101,18 @@
 	@$(CXX) $(CXXFLAGS) $(DEFINES) $(INCPATH) -c -o $@ $<
 
 
-$(APP_BIN): $(addprefix $(OBJPATH),$(APP_OBJS)) $(APP_DEPS)
+$(APP_BIN): $(addprefix $(OBJPATH),$(APP_OBJS)) $(APP_DEP_LIBS) | $(APP_DEPS)
 	@echo " LINK $@"
-	@$(CXX) $(LDFLAGS) -o $@ $+ $(LIBS)
+	@$(CXX) $(LDFLAGS) -o $@ $+ $(APP_LIBS)
 
 
 ###
 ### Special targets
 ###
 clean:
-	$(RM) $(TARGETS) $(NOINST_TARGETS) $(OBJPATH)*.o
+	-$(RM) $(TARGETS) $(NOINST_TARGETS) $(OBJPATH)*.o
 
 distclean: clean
-	$(RM) *~ core *.core
+	-$(RM) $(DISTCLEAN_TARGETS) *~ core *.core
 
 .PHONY: clean distclean all