Mercurial > hg > syntilista
view 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 source
### ### Main build file ### # Tools CC = $(BINTOOL_PREFIX)gcc CXX = $(BINTOOL_PREFIX)g++ AR = $(BINTOOL_PREFIX)ar RANLIB = $(BINTOOL_PREFIX)ranlib WINDRES = $(BINTOOL_PREFIX)windres INSTALL ?= install 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 := $(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 += ### ### Target rules ### all: $(NOBUILD_TARGETS) $(NOINST_TARGETS) $(TARGETS) 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 $@ ui_%.h: %.ui @echo " Qt:UIC $@ $<" @$(QT_UIC) $(QT_UIC_FLAGS) $< -o $@ $(OBJPATH) $(BINPATH): @echo " MKDIR $@" @$(MKDIR_P) $@ $(OBJPATH)%.o: %.cpp %.h @echo " CXX $@" @$(CXX) $(CXXFLAGS) $(DEFINES) $(INCPATH) -c -o $@ $< $(OBJPATH)%.o: %.cpp @echo " CXX $@" @$(CXX) $(CXXFLAGS) $(DEFINES) $(INCPATH) -c -o $@ $< ### ### 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" < $< > $@ %.o: %.rc @echo " WINDRES $<" @$(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 "$@" "$<" icon.ico: $(ICON_PNGS) convert $< $@ qrc_Syntilista.cpp: Syntilista.qrc logo.png $(ICON_PNGS) @echo " Qt:RCC $@ $<" @$(QT_RCC) -name "Syntilista" $< -o $@ $(OBJPATH)main.o: main.cpp main.h ui_mainwindow.h ui_editperson.h @echo " CXX $@" @$(CXX) $(CXXFLAGS) $(DEFINES) $(INCPATH) -c -o $@ $< $(APP_BIN): $(addprefix $(OBJPATH),$(APP_OBJS)) $(APP_DEPS) @echo " LINK $@" @$(CXX) $(LDFLAGS) -o $@ $+ $(LIBS) ### ### Special targets ### clean: $(RM) $(TARGETS) $(NOINST_TARGETS) $(OBJPATH)*.o distclean: clean $(RM) *~ core *.core .PHONY: clean distclean all