annotate Makefile.gen @ 157:325e7590f93e

Move most of the printing related code to printing.cpp
author Matti Hamalainen <ccr@tnsp.org>
date Tue, 12 Sep 2017 15:56:40 +0300
parents befbd69b4ab5
children 87dfca9f704d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
50
402446a76794 And more build system work.
Matti Hamalainen <ccr@tnsp.org>
parents: 49
diff changeset
1 ###
402446a76794 And more build system work.
Matti Hamalainen <ccr@tnsp.org>
parents: 49
diff changeset
2 ### Main build file
402446a76794 And more build system work.
Matti Hamalainen <ccr@tnsp.org>
parents: 49
diff changeset
3 ###
48
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
4
50
402446a76794 And more build system work.
Matti Hamalainen <ccr@tnsp.org>
parents: 49
diff changeset
5 # Tools
48
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
6 CC = $(BINTOOL_PREFIX)gcc
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
7 CXX = $(BINTOOL_PREFIX)g++
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
8 AR = $(BINTOOL_PREFIX)ar
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
9 RANLIB = $(BINTOOL_PREFIX)ranlib
49
b86eb06070ba More work on buildsystem.
Matti Hamalainen <ccr@tnsp.org>
parents: 48
diff changeset
10 WINDRES = $(BINTOOL_PREFIX)windres
b86eb06070ba More work on buildsystem.
Matti Hamalainen <ccr@tnsp.org>
parents: 48
diff changeset
11
48
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
12 INSTALL ?= install
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
13 MKDIR ?= mkdir
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
14 MKDIR_P ?= $(MKDIR) -p
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
15
50
402446a76794 And more build system work.
Matti Hamalainen <ccr@tnsp.org>
parents: 49
diff changeset
16 # Common defines
402446a76794 And more build system work.
Matti Hamalainen <ccr@tnsp.org>
parents: 49
diff changeset
17 DEFINES += -DQT_DEPRECATED_WARNINGS -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_SQL_LIB -DQT_CORE_LIB
48
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
18
50
402446a76794 And more build system work.
Matti Hamalainen <ccr@tnsp.org>
parents: 49
diff changeset
19 # Application stuff
80
c8fd927cd2c4 Restructure the project by placing source code, images into appropriate
Matti Hamalainen <ccr@tnsp.org>
parents: 76
diff changeset
20 APP_SRC=src/
c8fd927cd2c4 Restructure the project by placing source code, images into appropriate
Matti Hamalainen <ccr@tnsp.org>
parents: 76
diff changeset
21 APP_IMG=img/
49
b86eb06070ba More work on buildsystem.
Matti Hamalainen <ccr@tnsp.org>
parents: 48
diff changeset
22 APP_BIN=$(BINPATH)Syntilista$(EXEEXT)
157
325e7590f93e Move most of the printing related code to printing.cpp
Matti Hamalainen <ccr@tnsp.org>
parents: 94
diff changeset
23 APP_OBJS=main.o printing.o resources.o moc_main.o
50
402446a76794 And more build system work.
Matti Hamalainen <ccr@tnsp.org>
parents: 49
diff changeset
24 APP_VERSION := $(shell cat VERSION)
402446a76794 And more build system work.
Matti Hamalainen <ccr@tnsp.org>
parents: 49
diff changeset
25 comma:= ,
402446a76794 And more build system work.
Matti Hamalainen <ccr@tnsp.org>
parents: 49
diff changeset
26 APP_VERSION_COM := $(subst .,$(comma),$(APP_VERSION))
402446a76794 And more build system work.
Matti Hamalainen <ccr@tnsp.org>
parents: 49
diff changeset
27 CXXFLAGS += -DAPP_VERSION=\"$(APP_VERSION)\"
48
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
28
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
29 LOGO_SVG ?= kampuscafe4.svg
52
1ac8fdd932b3 More work on build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
30 ICON_PNGS = icon-64.png icon-48.png icon-32.png icon-16.png
48
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
31
80
c8fd927cd2c4 Restructure the project by placing source code, images into appropriate
Matti Hamalainen <ccr@tnsp.org>
parents: 76
diff changeset
32 APP_RESOURCES += $(addprefix $(APP_IMG),logo.png $(ICON_PNGS))
56
ac3daf42f781 Rename some files.
Matti Hamalainen <ccr@tnsp.org>
parents: 55
diff changeset
33
49
b86eb06070ba More work on buildsystem.
Matti Hamalainen <ccr@tnsp.org>
parents: 48
diff changeset
34
50
402446a76794 And more build system work.
Matti Hamalainen <ccr@tnsp.org>
parents: 49
diff changeset
35 # And target lists
49
b86eb06070ba More work on buildsystem.
Matti Hamalainen <ccr@tnsp.org>
parents: 48
diff changeset
36 TARGETS = $(APP_BIN)
48
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
37 NOBUILD_TARGETS += $(OBJPATH) $(BINPATH)
81
810ca71af506 Improve 'clean' target handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 80
diff changeset
38 NOINST_TARGETS +=
810ca71af506 Improve 'clean' target handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 80
diff changeset
39 CLEAN_TARGETS += icon.ico $(APP_SRC)moc_*.cpp $(APP_SRC)ui_*.h
810ca71af506 Improve 'clean' target handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 80
diff changeset
40 DISTCLEAN_TARGETS +=
48
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
41
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
42
50
402446a76794 And more build system work.
Matti Hamalainen <ccr@tnsp.org>
parents: 49
diff changeset
43 ###
402446a76794 And more build system work.
Matti Hamalainen <ccr@tnsp.org>
parents: 49
diff changeset
44 ### Target rules
402446a76794 And more build system work.
Matti Hamalainen <ccr@tnsp.org>
parents: 49
diff changeset
45 ###
48
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
46 all: $(NOBUILD_TARGETS) $(NOINST_TARGETS) $(TARGETS)
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
47
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
48
50
402446a76794 And more build system work.
Matti Hamalainen <ccr@tnsp.org>
parents: 49
diff changeset
49 moc_predefs.h:
402446a76794 And more build system work.
Matti Hamalainen <ccr@tnsp.org>
parents: 49
diff changeset
50 @echo "" > $(OBJPATH)dummy.cpp
402446a76794 And more build system work.
Matti Hamalainen <ccr@tnsp.org>
parents: 49
diff changeset
51 @$(CXX) $(CXXFLAGS) -dM -E -o $@ $(OBJPATH)dummy.cpp
402446a76794 And more build system work.
Matti Hamalainen <ccr@tnsp.org>
parents: 49
diff changeset
52
402446a76794 And more build system work.
Matti Hamalainen <ccr@tnsp.org>
parents: 49
diff changeset
53 moc_%.cpp: %.h $(QT_MOC_RULES)
48
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
54 @echo " Qt::MOC $@ $<"
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
55 @$(QT_MOC) $(DEFINES) $(QT_MOC_FLAGS) $(INCPATH) $< -o $@
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
56
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
57 ui_%.h: %.ui
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
58 @echo " Qt:UIC $@ $<"
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
59 @$(QT_UIC) $(QT_UIC_FLAGS) $< -o $@
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
60
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
61
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
62 $(OBJPATH) $(BINPATH):
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
63 @echo " MKDIR $@"
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
64 @$(MKDIR_P) $@
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
65
80
c8fd927cd2c4 Restructure the project by placing source code, images into appropriate
Matti Hamalainen <ccr@tnsp.org>
parents: 76
diff changeset
66 $(OBJPATH)%.o: $(APP_SRC)%.cpp $(APP_SRC)%.h
48
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
67 @echo " CXX $@"
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
68 @$(CXX) $(CXXFLAGS) $(DEFINES) $(INCPATH) -c -o $@ $<
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
69
80
c8fd927cd2c4 Restructure the project by placing source code, images into appropriate
Matti Hamalainen <ccr@tnsp.org>
parents: 76
diff changeset
70 $(OBJPATH)%.o: $(APP_SRC)%.cpp
48
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
71 @echo " CXX $@"
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
72 @$(CXX) $(CXXFLAGS) $(DEFINES) $(INCPATH) -c -o $@ $<
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
73
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
74
49
b86eb06070ba More work on buildsystem.
Matti Hamalainen <ccr@tnsp.org>
parents: 48
diff changeset
75
50
402446a76794 And more build system work.
Matti Hamalainen <ccr@tnsp.org>
parents: 49
diff changeset
76 ###
402446a76794 And more build system work.
Matti Hamalainen <ccr@tnsp.org>
parents: 49
diff changeset
77 ### Windows specific rules
402446a76794 And more build system work.
Matti Hamalainen <ccr@tnsp.org>
parents: 49
diff changeset
78 ###
56
ac3daf42f781 Rename some files.
Matti Hamalainen <ccr@tnsp.org>
parents: 55
diff changeset
79 %.rc: %.rc.in icon.ico VERSION
50
402446a76794 And more build system work.
Matti Hamalainen <ccr@tnsp.org>
parents: 49
diff changeset
80 @sed -e "s/@APP_VERSION@/$(APP_VERSION)/g;s/@APP_VERSION_COM@/$(APP_VERSION_COM)/g;s#@APP_EXE@#$(notdir $(APP_BIN))#g" < $< > $@
49
b86eb06070ba More work on buildsystem.
Matti Hamalainen <ccr@tnsp.org>
parents: 48
diff changeset
81
80
c8fd927cd2c4 Restructure the project by placing source code, images into appropriate
Matti Hamalainen <ccr@tnsp.org>
parents: 76
diff changeset
82 $(OBJPATH)%.o: $(APP_SRC)%.rc
50
402446a76794 And more build system work.
Matti Hamalainen <ccr@tnsp.org>
parents: 49
diff changeset
83 @echo " WINDRES $<"
402446a76794 And more build system work.
Matti Hamalainen <ccr@tnsp.org>
parents: 49
diff changeset
84 @$(WINDRES) $< -O coff -o $@
49
b86eb06070ba More work on buildsystem.
Matti Hamalainen <ccr@tnsp.org>
parents: 48
diff changeset
85
b86eb06070ba More work on buildsystem.
Matti Hamalainen <ccr@tnsp.org>
parents: 48
diff changeset
86
b86eb06070ba More work on buildsystem.
Matti Hamalainen <ccr@tnsp.org>
parents: 48
diff changeset
87 ###
b86eb06070ba More work on buildsystem.
Matti Hamalainen <ccr@tnsp.org>
parents: 48
diff changeset
88 ### Application rules
b86eb06070ba More work on buildsystem.
Matti Hamalainen <ccr@tnsp.org>
parents: 48
diff changeset
89 ###
80
c8fd927cd2c4 Restructure the project by placing source code, images into appropriate
Matti Hamalainen <ccr@tnsp.org>
parents: 76
diff changeset
90 $(APP_IMG)icon-%.png: $(addprefix $(APP_IMG),$(LOGO_SVG))
86
50fb9b4e2751 Fix Inkscape export for icons.
Matti Hamalainen <ccr@tnsp.org>
parents: 81
diff changeset
91 inkscape --export-area-page -w $(patsubst $(APP_IMG)icon-%.png,%,$@) -h $(patsubst $(APP_IMG)icon-%.png,%,$@) -e "$@" "$<"
48
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
92
80
c8fd927cd2c4 Restructure the project by placing source code, images into appropriate
Matti Hamalainen <ccr@tnsp.org>
parents: 76
diff changeset
93 $(APP_IMG)logo.png: $(addprefix $(APP_IMG),$(LOGO_SVG))
94
befbd69b4ab5 Adjust main window logo size.
Matti Hamalainen <ccr@tnsp.org>
parents: 90
diff changeset
94 inkscape --export-area-page -w 258 -h 220 -e "$@" "$<"
48
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
95
80
c8fd927cd2c4 Restructure the project by placing source code, images into appropriate
Matti Hamalainen <ccr@tnsp.org>
parents: 76
diff changeset
96 icon.ico: $(addprefix $(APP_IMG),$(ICON_PNGS))
52
1ac8fdd932b3 More work on build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
97 @echo " CONVERT $+ -> $@"
1ac8fdd932b3 More work on build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
98 @convert $+ $@
48
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
99
80
c8fd927cd2c4 Restructure the project by placing source code, images into appropriate
Matti Hamalainen <ccr@tnsp.org>
parents: 76
diff changeset
100 $(APP_SRC)%.cpp: $(APP_SRC)%.qrc $(APP_RESOURCES)
48
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
101 @echo " Qt:RCC $@ $<"
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
102 @$(QT_RCC) -name "Syntilista" $< -o $@
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
103
90
efab68769c75 Implement new separate About dialog/help window.
Matti Hamalainen <ccr@tnsp.org>
parents: 86
diff changeset
104 $(OBJPATH)main.o: $(addprefix $(APP_SRC),main.cpp main.h ui_mainwindow.h ui_editperson.h ui_aboutwindow.h) VERSION
48
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
105 @echo " CXX $@"
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
106 @$(CXX) $(CXXFLAGS) $(DEFINES) $(INCPATH) -c -o $@ $<
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
107
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
108
52
1ac8fdd932b3 More work on build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
109 $(APP_BIN): $(addprefix $(OBJPATH),$(APP_OBJS)) $(APP_DEP_LIBS) | $(APP_DEPS)
48
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
110 @echo " LINK $@"
52
1ac8fdd932b3 More work on build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
111 @$(CXX) $(LDFLAGS) -o $@ $+ $(APP_LIBS)
48
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
112
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
113
50
402446a76794 And more build system work.
Matti Hamalainen <ccr@tnsp.org>
parents: 49
diff changeset
114 ###
402446a76794 And more build system work.
Matti Hamalainen <ccr@tnsp.org>
parents: 49
diff changeset
115 ### Special targets
402446a76794 And more build system work.
Matti Hamalainen <ccr@tnsp.org>
parents: 49
diff changeset
116 ###
48
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
117 clean:
81
810ca71af506 Improve 'clean' target handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 80
diff changeset
118 -$(RM) $(TARGETS) $(NOINST_TARGETS) $(CLEAN_TARGETS) $(OBJPATH)*.o
48
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
119
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
120 distclean: clean
52
1ac8fdd932b3 More work on build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
121 -$(RM) $(DISTCLEAN_TARGETS) *~ core *.core
48
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
122
200ec310660a Begin revamp of the buildsystem, don't use qmake anymore.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
123 .PHONY: clean distclean all