Mercurial > hg > syntilista
comparison Makefile.gen @ 258:daaad6ad8212
Build system improvements.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Thu, 05 Dec 2019 16:36:01 +0200 |
parents | 43a5e09bb832 |
children | 14ed3a2500e6 |
comparison
equal
deleted
inserted
replaced
257:f65e0de45c2b | 258:daaad6ad8212 |
---|---|
53 | 53 |
54 APP_RESOURCES += $(addprefix $(APP_IMG),logo.png $(ICON_PNGS)) COPYING.html | 54 APP_RESOURCES += $(addprefix $(APP_IMG),logo.png $(ICON_PNGS)) COPYING.html |
55 | 55 |
56 # And target lists | 56 # And target lists |
57 TARGETS = $(APP_BIN) | 57 TARGETS = $(APP_BIN) |
58 NOBUILD_TARGETS += $(OBJPATH) $(BINPATH) | 58 NOBUILD_TARGETS += |
59 NOINST_TARGETS += | 59 NOINST_TARGETS += |
60 CLEAN_TARGETS += icon.ico src/moc_*.cpp src/ui_*.h | 60 CLEAN_TARGETS += icon.ico src/moc_*.cpp src/ui_*.h |
61 DISTCLEAN_TARGETS += | 61 DISTCLEAN_TARGETS += |
62 | 62 |
63 | 63 |
64 # Version | 64 # Version |
65 APP_VERSION := $(shell cat VERSION) | 65 APP_VERSION := $(shell cat VERSION) |
66 comma:= , | 66 comma:= , |
67 APP_VERSION_COM := $(subst .,$(comma),$(APP_VERSION)) | 67 APP_VERSION_COM := $(subst .,$(comma),$(APP_VERSION)) |
68 CXXFLAGS += -DAPP_VERSION=\"$(APP_VERSION)\" | 68 CXXFLAGS += -DAPP_VERSION=\"$(APP_VERSION)\" |
69 | |
70 | |
71 ifneq ($(V),1) | |
72 COMPILE_C_OBJ = @if test ! -d $(OBJPATH); then $(MKDIR_P) $(OBJPATH); fi && echo " CC $<" && $(CC) $(CFLAGS) -c -o $@ $< | |
73 COMPILE_CXX_OBJ = @if test ! -d $(OBJPATH); then $(MKDIR_P) $(OBJPATH); fi && echo " CXX $<" && $(CXX) $(CXXFLAGS) -c -o $@ $< | |
74 LINK_C_BIN = @if test ! -d $(BINPATH); then $(MKDIR_P) $(BINPATH); fi && echo " LINK $@" && $(CC) -o $@ $(filter %.o %.a,$+) | |
75 LINK_CXX_BIN = @if test ! -d $(BINPATH); then $(MKDIR_P) $(BINPATH); fi && echo " LINK $@" && $(CXX) -o $@ $(filter %.o %.a,$+) | |
76 LINK_STATIC_LIB = @echo " AR $@" && $(AR) cru $@ $(filter %.o,$+) && $(RANLIB) $@ | |
77 else | |
78 COMPILE_C_OBJ = @if test ! -d $(OBJPATH); then $(MKDIR_P) $(OBJPATH); fi && echo "$(CC) $(CFLAGS) -c -o $@ $<" && $(CC) $(CFLAGS) -c -o $@ $< | |
79 COMPILE_CXX_OBJ = @if test ! -d $(OBJPATH); then $(MKDIR_P) $(OBJPATH); fi && echo "$(CXX) $(CXXFLAGS) -c -o $@ $<" && $(CXX) $(CXXFLAGS) -c -o $@ $< | |
80 LINK_C_BIN = @if test ! -d $(BINPATH); then $(MKDIR_P) $(BINPATH); fi && echo "$(CC) -o $@ $(filter %.o %.a,$+)" && $(CC) -o $@ $(filter %.o %.a,$+) | |
81 LINK_CXX_BIN = @if test ! -d $(BINPATH); then $(MKDIR_P) $(BINPATH); fi && echo "$(CXX) -o $@ $(filter %.o %.a,$+)" && $(CXX) -o $@ $(filter %.o %.a,$+) | |
82 LINK_STATIC_LIB = @echo "$(AR) cru $@ $(filter %.o,$+)" && $(AR) cru $@ $(filter %.o,$+) && echo "$(RANLIB) $@" && $(RANLIB) $@ | |
83 endif | |
69 | 84 |
70 | 85 |
71 ### | 86 ### |
72 ### Target rules | 87 ### Target rules |
73 ### | 88 ### |
85 ui_%.h: %.ui | 100 ui_%.h: %.ui |
86 @echo " Qt::UIC $@ $<" | 101 @echo " Qt::UIC $@ $<" |
87 @$(QT_UIC) $(QT_UIC_FLAGS) $< -o $@ | 102 @$(QT_UIC) $(QT_UIC_FLAGS) $< -o $@ |
88 | 103 |
89 | 104 |
90 $(OBJPATH) $(BINPATH): | |
91 @echo " MKDIR $@" | |
92 @$(MKDIR_P) $@ | |
93 | |
94 $(OBJPATH)%.o: src/%.cpp src/%.h | 105 $(OBJPATH)%.o: src/%.cpp src/%.h |
95 @echo " CXX $@" | 106 $(COMPILE_CXX_OBJ) $(DEFINES) $(INCPATH) |
96 @$(CXX) $(CXXFLAGS) $(DEFINES) $(INCPATH) -c -o $@ $< | |
97 | 107 |
98 $(OBJPATH)%.o: src/%.cpp | 108 $(OBJPATH)%.o: src/%.cpp |
99 @echo " CXX $@" | 109 $(COMPILE_CXX_OBJ) $(DEFINES) $(INCPATH) |
100 @$(CXX) $(CXXFLAGS) $(DEFINES) $(INCPATH) -c -o $@ $< | |
101 | 110 |
102 | 111 |
103 | 112 |
104 ### | 113 ### |
105 ### Windows specific rules | 114 ### Windows specific rules |
134 src/%.cpp: src/%.qrc $(APP_RESOURCES) | 143 src/%.cpp: src/%.qrc $(APP_RESOURCES) |
135 @echo " Qt:RCC $@ $<" | 144 @echo " Qt:RCC $@ $<" |
136 @$(QT_RCC) -name "Syntilista" $< -o $@ | 145 @$(QT_RCC) -name "Syntilista" $< -o $@ |
137 | 146 |
138 $(OBJPATH)main.o: src/main.cpp $(APP_HDRS) VERSION | 147 $(OBJPATH)main.o: src/main.cpp $(APP_HDRS) VERSION |
139 @echo " CXX $@" | 148 $(COMPILE_CXX_OBJ) $(DEFINES) $(INCPATH) |
140 @$(CXX) $(CXXFLAGS) $(DEFINES) $(INCPATH) -c -o $@ $< | |
141 | 149 |
142 | 150 |
143 $(APP_BIN): $(addprefix $(OBJPATH),$(APP_OBJS)) $(APP_DEP_LIBS) | $(APP_DEPS) | 151 $(APP_BIN): $(addprefix $(OBJPATH),$(APP_OBJS)) $(APP_DEP_LIBS) | $(APP_DEPS) |
144 @echo " LINK $@" | 152 $(LINK_BIN) $(APP_LIBS) |
145 @$(CXX) $(LDFLAGS) -o $@ $+ $(APP_LIBS) | |
146 | 153 |
147 | 154 |
148 ### | 155 ### |
149 ### Special targets | 156 ### Special targets |
150 ### | 157 ### |