Mercurial > hg > syntilista
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