view Makefile.gen @ 48:200ec310660a

Begin revamp of the buildsystem, don't use qmake anymore.
author Matti Hamalainen <ccr@tnsp.org>
date Fri, 07 Apr 2017 05:11:40 +0300
parents
children b86eb06070ba
line wrap: on
line source


CC = $(BINTOOL_PREFIX)gcc
CXX = $(BINTOOL_PREFIX)g++
AR = $(BINTOOL_PREFIX)ar
RANLIB = $(BINTOOL_PREFIX)ranlib
INSTALL ?= install
MKDIR ?= mkdir
MKDIR_P ?= $(MKDIR) -p


SYNTILISTA_BIN=$(BINPATH)Syntilista$(EXEEXT)
SYNTILISTA_OBJS=main.o qrc_Syntilista.o moc_main.o

LOGO_SVG ?= kampuscafe4.svg

TARGETS = $(SYNTILISTA_BIN)
NOBUILD_TARGETS += $(OBJPATH) $(BINPATH)
NOINST_TARGETS += qrc_Syntilista.cpp
# moc_main.cpp



##
## Target rules
##
all: $(NOBUILD_TARGETS) $(NOINST_TARGETS) $(TARGETS)


moc_%.cpp: %.h
	@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 $@ $<


##
## 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 "$@" "$<"


qrc_Syntilista.cpp: Syntilista.qrc logo.png icon-16.png icon-32.png icon-48.png icon-64.png 
	@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 $@ $<


$(SYNTILISTA_BIN): $(addprefix $(OBJPATH),$(SYNTILISTA_OBJS))
	@echo " LINK $@"
	@$(CXX) $(LDFLAGS) -o $@ $+ $(LIBS)


##
## Special targets
##
clean:
	$(RM) $(TARGETS) $(NOINST_TARGETS) $(OBJPATH)*.o

distclean: clean
	$(RM) *~ core *.core

.PHONY: clean distclean all