changeset 309:18bef142108d

Rename Makefile.gen to Makefile.common
author Matti Hamalainen <ccr@tnsp.org>
date Thu, 03 Aug 2023 12:49:58 +0300
parents abebda3ec9cd
children 8541509ff8a0
files Makefile Makefile.common Makefile.cross-mingw Makefile.gen
diffstat 4 files changed, 213 insertions(+), 213 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile	Wed May 17 11:42:11 2023 +0300
+++ b/Makefile	Thu Aug 03 12:49:58 2023 +0300
@@ -1,6 +1,6 @@
 ###
 ### Configuration settings for Linux and generic UNIX
-### See other Makefile.gen etc files for more options.
+### See other Makefile.common etc files for more options.
 ###
 
 QT_VERSION_PREFIX = Qt6
@@ -27,4 +27,4 @@
 QT_MOC_RULES =
 QT_UIC_FLAGS =
 
-include Makefile.gen
+include Makefile.common
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Makefile.common	Thu Aug 03 12:49:58 2023 +0300
@@ -0,0 +1,210 @@
+###
+### Generic
+###
+QT_MODULES = Core Gui Widgets Sql PrintSupport Network
+
+QT_FLAGS += -DQT_DEPRECATED_WARNINGS -DQT_NO_DEBUG -DUNICODE \
+	-DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB \
+	-DQT_SQL_LIB -DQT_PRINTSUPPORT_LIB -DQT_NETWORK_LIB
+
+
+###
+### Compiler flags
+###
+XCFLAGS += -g -pipe -W -Wall -Wextra
+
+ifneq ($(ASAN),)
+XCFLAGS += -fsanitize=address
+XLDFLAGS += -lasan
+else
+XCFLAGS += -O2
+endif
+
+CFLAGS += -std=c11 $(XCFLAGS)
+CXXFLAGS += -std=c++17 $(XCFLAGS)
+LDFLAGS += $(XLDFLAGS)
+
+
+###
+### Tools, paths and directories
+###
+ifneq ($(BINTOOL_PREFIX),)
+CC = $(BINTOOL_PREFIX)gcc
+CXX = $(BINTOOL_PREFIX)g++
+AR = $(BINTOOL_PREFIX)ar
+endif
+RANLIB = $(BINTOOL_PREFIX)ranlib
+WINDRES = $(BINTOOL_PREFIX)windres
+
+
+INSTALL ?= install
+MKDIR ?= mkdir
+MKDIR_P ?= $(MKDIR) -p
+
+# Qt tools
+QT_RCC = $(QT_TOOL_PREFIX)rcc
+QT_MOC = $(QT_TOOL_PREFIX)moc
+QT_UIC = $(QT_TOOL_PREFIX)uic
+
+
+###
+### Main targets and objects
+###
+APP_IMG=img/
+APP_BIN=$(BINPATH)Syntilista$(BINEXT)
+
+APP_HDRS=\
+	src/main.h \
+	src/util.h \
+	src/ui_viewtransactions.h \
+	src/ui_mainwindow.h \
+	src/ui_editperson.h \
+	src/ui_aboutwindow.h
+
+APP_OBJS=\
+	main.o \
+	util.o \
+	editperson.o \
+	viewtransactions.o \
+	aboutwindow.o \
+	sqlmodels.o \
+	printing.o \
+	resources.o \
+	moc_main.o \
+	runguard.o
+
+LOGO_SVG ?= kampuscafe4.svg
+LOGO_SRC_PNG ?= CafeKampus_logo_FINAL_RGB.png
+
+ICON_PNGS = icon-64.png icon-48.png icon-32.png icon-16.png
+LOGO_PNG = logo.png
+LOGO_SIZE = 256
+
+APP_RESOURCES += $(addprefix $(APP_IMG),$(LOGO_PNG) $(ICON_PNGS)) \
+	COPYING.html
+
+DISTCLEAN_TARGETS += $(addprefix $(APP_IMG),$(LOGO_PNG) $(ICON_PNGS))
+
+
+# And target lists
+TARGETS = $(APP_BIN)
+NOBUILD_TARGETS +=
+NOINST_TARGETS += 
+CLEAN_TARGETS += icon.ico src/moc_*.cpp src/ui_*.h
+DISTCLEAN_TARGETS += 
+
+
+# Version
+APP_VERSION := $(shell cat VERSION)
+comma:= ,
+APP_VERSION_COM := $(subst .,$(comma),$(APP_VERSION))
+CXXFLAGS += -DAPP_VERSION=\"$(APP_VERSION)\"
+
+
+###
+### Functions and compilation/link commands
+###
+ifneq ($(V),1)
+DO_CMD=/bin/echo -E " $(1) $(2)" && $(3)
+else
+DO_CMD=/bin/echo -E $(3) && $(3)
+endif
+DO_MKDIR=if test ! -z "$(1)" -a ! -d "$(1)"; then /bin/echo -E " MKDIR $(1)"; mkdir -p "$(1)"; fi
+
+
+COMPILE_C_OBJ = \
+	@$(call DO_MKDIR,$(OBJPATH)) ; \
+	$(call DO_CMD,CC,$<,$(CC) $(CFLAGS) $(DM_CFLAGS) -c -o $@ $< $(1))
+
+LINK_C_BIN = \
+	@$(call DO_MKDIR,$(BINPATH)) ; \
+	$(call DO_CMD,LINK,$@,$(CC) -o $@ $(filter %.o %.a,$+) $(LDFLAGS) $(1))
+
+COMPILE_CXX_OBJ = \
+	@$(call DO_MKDIR,$(OBJPATH)) ; \
+	$(call DO_CMD,CXX,$<,$(CXX) $(CXXFLAGS) $(DM_CFLAGS) -c -o $@ $< $(1))
+
+LINK_CXX_BIN = \
+	@$(call DO_MKDIR,$(BINPATH)) ; \
+	$(call DO_CMD,LINK,$@,$(CXX) -o $@ $(filter %.o %.a,$+) $(LDFLAGS) $(1))
+
+LINK_STATIC_LIB = \
+	@$(call DO_MKDIR,$(OBJPATH)) ; \
+	$(call DO_CMD,AR,$@ $(filter %.o,$+),$(AR) cru $@ $(filter %.o,$+)) ; \
+	$(call DO_CMD,RANLIB,$@,$(RANLIB) $@)
+
+
+###
+### Generic target rules
+###
+all: $(NOBUILD_TARGETS) $(NOINST_TARGETS) $(TARGETS)
+
+
+moc_predefs.h:
+	@echo "" > $(OBJPATH)dummy.cpp
+	@$(call DO_CMD,CXX,$@,$(CXX) $(CXXFLAGS) -dM -E -o $@ $(OBJPATH)dummy.cpp)
+
+moc_%.cpp: %.h $(QT_MOC_RULES)
+	@$(call DO_CMD,$(QT_VERSION_PREFIX):MOC,$@ $<,$(QT_MOC) $(QT_FLAGS) $(QT_MOC_FLAGS) $(QT_INCLUDES) $< -o $@)
+
+ui_%.h: %.ui
+	@$(call DO_CMD,$(QT_VERSION_PREFIX):UIC,$@ $<,$(QT_UIC) $(QT_UIC_FLAGS) $< -o $@)
+
+
+$(OBJPATH)%.o: src/%.cpp src/%.h
+	$(call COMPILE_CXX_OBJ, $(QT_FLAGS) $(QT_INCLUDES))
+
+$(OBJPATH)%.o: src/%.cpp
+	$(call COMPILE_CXX_OBJ, $(QT_FLAGS) $(QT_INCLUDES))
+
+
+###
+### Windows specific rules
+###
+%.rc: %.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" < $< > $@
+
+$(OBJPATH)%.o: src/%.rc
+	@$(call DO_CMD,WINDRES,$<,$(WINDRES) $< -O coff -o $@)
+
+
+###
+### Application rules
+###
+ifneq ($(LOGO_SRC_SVG),)
+$(APP_IMG)icon-%.png: $(APP_IMG)$(LOGO_SRC_SVG)
+	inkscape --export-area-page --export-type=png -w $(patsubst $(APP_IMG)icon-%.png,%,$@) -h $(patsubst $(APP_IMG)icon-%.png,%,$@) --export-filename="$@" "$<"
+
+$(APP_IMG)$(LOGO_PNG): $(APP_IMG)$(LOGO_SRC_SVG)
+	inkscape --export-area-page --export-type=png -w $(LOGO_SIZE) -h $(LOGO_SIZE) --export-filename="$@" "$<"
+else
+$(APP_IMG)icon-%.png: $(APP_IMG)$(LOGO_SRC_PNG)
+	convert "$<" -scale "$(patsubst $(APP_IMG)icon-%.png,%,$@)x$(patsubst $(APP_IMG)icon-%.png,%,$@)" "$@"
+
+$(APP_IMG)$(LOGO_PNG): $(APP_IMG)$(LOGO_SRC_PNG)
+	convert "$<" -scale "$(LOGO_SIZE)x$(LOGO_SIZE)" "$@"
+endif
+
+icon.ico: $(addprefix $(APP_IMG),$(ICON_PNGS))
+	@$(call DO_CMD,CONVERT,$+ -> $@,convert $+ $@)
+
+src/%.cpp: src/%.qrc $(APP_RESOURCES)
+	@$(call DO_CMD,$(QT_VERSION_PREFIX):RCC,$@ $<,$(QT_RCC) -name "Syntilista" $< -o $@)
+
+$(OBJPATH)main.o: src/main.cpp $(APP_HDRS) VERSION
+	$(call COMPILE_CXX_OBJ, $(QT_FLAGS) $(QT_INCLUDES))
+
+$(APP_BIN): $(addprefix $(OBJPATH),$(APP_OBJS)) $(APP_DEP_LIBS) | $(APP_DEPS)
+	$(call LINK_CXX_BIN, $(APP_LIBS))
+
+
+###
+### Special targets
+###
+clean:
+	-$(RM) $(TARGETS) $(NOINST_TARGETS) $(CLEAN_TARGETS) $(OBJPATH)*.o
+
+distclean: clean
+	-$(RM) $(DISTCLEAN_TARGETS) *~ core *.core
+
+.PHONY: clean distclean all
--- a/Makefile.cross-mingw	Wed May 17 11:42:11 2023 +0300
+++ b/Makefile.cross-mingw	Thu Aug 03 12:49:58 2023 +0300
@@ -54,7 +54,7 @@
 
 CLEAN_TARGETS += src/winres.rc
 
-include Makefile.gen
+include Makefile.common
 
 
 install: all
--- a/Makefile.gen	Wed May 17 11:42:11 2023 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,210 +0,0 @@
-###
-### Generic
-###
-QT_MODULES = Core Gui Widgets Sql PrintSupport Network
-
-QT_FLAGS += -DQT_DEPRECATED_WARNINGS -DQT_NO_DEBUG -DUNICODE \
-	-DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB \
-	-DQT_SQL_LIB -DQT_PRINTSUPPORT_LIB -DQT_NETWORK_LIB
-
-
-###
-### Compiler flags
-###
-XCFLAGS += -g -pipe -W -Wall -Wextra
-
-ifneq ($(ASAN),)
-XCFLAGS += -fsanitize=address
-XLDFLAGS += -lasan
-else
-XCFLAGS += -O2
-endif
-
-CFLAGS += -std=c11 $(XCFLAGS)
-CXXFLAGS += -std=c++17 $(XCFLAGS)
-LDFLAGS += $(XLDFLAGS)
-
-
-###
-### Tools, paths and directories
-###
-ifneq ($(BINTOOL_PREFIX),)
-CC = $(BINTOOL_PREFIX)gcc
-CXX = $(BINTOOL_PREFIX)g++
-AR = $(BINTOOL_PREFIX)ar
-endif
-RANLIB = $(BINTOOL_PREFIX)ranlib
-WINDRES = $(BINTOOL_PREFIX)windres
-
-
-INSTALL ?= install
-MKDIR ?= mkdir
-MKDIR_P ?= $(MKDIR) -p
-
-# Qt tools
-QT_RCC = $(QT_TOOL_PREFIX)rcc
-QT_MOC = $(QT_TOOL_PREFIX)moc
-QT_UIC = $(QT_TOOL_PREFIX)uic
-
-
-###
-### Main targets and objects
-###
-APP_IMG=img/
-APP_BIN=$(BINPATH)Syntilista$(BINEXT)
-
-APP_HDRS=\
-	src/main.h \
-	src/util.h \
-	src/ui_viewtransactions.h \
-	src/ui_mainwindow.h \
-	src/ui_editperson.h \
-	src/ui_aboutwindow.h
-
-APP_OBJS=\
-	main.o \
-	util.o \
-	editperson.o \
-	viewtransactions.o \
-	aboutwindow.o \
-	sqlmodels.o \
-	printing.o \
-	resources.o \
-	moc_main.o \
-	runguard.o
-
-LOGO_SVG ?= kampuscafe4.svg
-LOGO_SRC_PNG ?= CafeKampus_logo_FINAL_RGB.png
-
-ICON_PNGS = icon-64.png icon-48.png icon-32.png icon-16.png
-LOGO_PNG = logo.png
-LOGO_SIZE = 256
-
-APP_RESOURCES += $(addprefix $(APP_IMG),$(LOGO_PNG) $(ICON_PNGS)) \
-	COPYING.html
-
-DISTCLEAN_TARGETS += $(addprefix $(APP_IMG),$(LOGO_PNG) $(ICON_PNGS))
-
-
-# And target lists
-TARGETS = $(APP_BIN)
-NOBUILD_TARGETS +=
-NOINST_TARGETS += 
-CLEAN_TARGETS += icon.ico src/moc_*.cpp src/ui_*.h
-DISTCLEAN_TARGETS += 
-
-
-# Version
-APP_VERSION := $(shell cat VERSION)
-comma:= ,
-APP_VERSION_COM := $(subst .,$(comma),$(APP_VERSION))
-CXXFLAGS += -DAPP_VERSION=\"$(APP_VERSION)\"
-
-
-###
-### Functions and compilation/link commands
-###
-ifneq ($(V),1)
-DO_CMD=/bin/echo -E " $(1) $(2)" && $(3)
-else
-DO_CMD=/bin/echo -E $(3) && $(3)
-endif
-DO_MKDIR=if test ! -z "$(1)" -a ! -d "$(1)"; then /bin/echo -E " MKDIR $(1)"; mkdir -p "$(1)"; fi
-
-
-COMPILE_C_OBJ = \
-	@$(call DO_MKDIR,$(OBJPATH)) ; \
-	$(call DO_CMD,CC,$<,$(CC) $(CFLAGS) $(DM_CFLAGS) -c -o $@ $< $(1))
-
-LINK_C_BIN = \
-	@$(call DO_MKDIR,$(BINPATH)) ; \
-	$(call DO_CMD,LINK,$@,$(CC) -o $@ $(filter %.o %.a,$+) $(LDFLAGS) $(1))
-
-COMPILE_CXX_OBJ = \
-	@$(call DO_MKDIR,$(OBJPATH)) ; \
-	$(call DO_CMD,CXX,$<,$(CXX) $(CXXFLAGS) $(DM_CFLAGS) -c -o $@ $< $(1))
-
-LINK_CXX_BIN = \
-	@$(call DO_MKDIR,$(BINPATH)) ; \
-	$(call DO_CMD,LINK,$@,$(CXX) -o $@ $(filter %.o %.a,$+) $(LDFLAGS) $(1))
-
-LINK_STATIC_LIB = \
-	@$(call DO_MKDIR,$(OBJPATH)) ; \
-	$(call DO_CMD,AR,$@ $(filter %.o,$+),$(AR) cru $@ $(filter %.o,$+)) ; \
-	$(call DO_CMD,RANLIB,$@,$(RANLIB) $@)
-
-
-###
-### Generic target rules
-###
-all: $(NOBUILD_TARGETS) $(NOINST_TARGETS) $(TARGETS)
-
-
-moc_predefs.h:
-	@echo "" > $(OBJPATH)dummy.cpp
-	@$(call DO_CMD,CXX,$@,$(CXX) $(CXXFLAGS) -dM -E -o $@ $(OBJPATH)dummy.cpp)
-
-moc_%.cpp: %.h $(QT_MOC_RULES)
-	@$(call DO_CMD,$(QT_VERSION_PREFIX):MOC,$@ $<,$(QT_MOC) $(QT_FLAGS) $(QT_MOC_FLAGS) $(QT_INCLUDES) $< -o $@)
-
-ui_%.h: %.ui
-	@$(call DO_CMD,$(QT_VERSION_PREFIX):UIC,$@ $<,$(QT_UIC) $(QT_UIC_FLAGS) $< -o $@)
-
-
-$(OBJPATH)%.o: src/%.cpp src/%.h
-	$(call COMPILE_CXX_OBJ, $(QT_FLAGS) $(QT_INCLUDES))
-
-$(OBJPATH)%.o: src/%.cpp
-	$(call COMPILE_CXX_OBJ, $(QT_FLAGS) $(QT_INCLUDES))
-
-
-###
-### Windows specific rules
-###
-%.rc: %.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" < $< > $@
-
-$(OBJPATH)%.o: src/%.rc
-	@$(call DO_CMD,WINDRES,$<,$(WINDRES) $< -O coff -o $@)
-
-
-###
-### Application rules
-###
-ifneq ($(LOGO_SRC_SVG),)
-$(APP_IMG)icon-%.png: $(APP_IMG)$(LOGO_SRC_SVG)
-	inkscape --export-area-page --export-type=png -w $(patsubst $(APP_IMG)icon-%.png,%,$@) -h $(patsubst $(APP_IMG)icon-%.png,%,$@) --export-filename="$@" "$<"
-
-$(APP_IMG)$(LOGO_PNG): $(APP_IMG)$(LOGO_SRC_SVG)
-	inkscape --export-area-page --export-type=png -w $(LOGO_SIZE) -h $(LOGO_SIZE) --export-filename="$@" "$<"
-else
-$(APP_IMG)icon-%.png: $(APP_IMG)$(LOGO_SRC_PNG)
-	convert "$<" -scale "$(patsubst $(APP_IMG)icon-%.png,%,$@)x$(patsubst $(APP_IMG)icon-%.png,%,$@)" "$@"
-
-$(APP_IMG)$(LOGO_PNG): $(APP_IMG)$(LOGO_SRC_PNG)
-	convert "$<" -scale "$(LOGO_SIZE)x$(LOGO_SIZE)" "$@"
-endif
-
-icon.ico: $(addprefix $(APP_IMG),$(ICON_PNGS))
-	@$(call DO_CMD,CONVERT,$+ -> $@,convert $+ $@)
-
-src/%.cpp: src/%.qrc $(APP_RESOURCES)
-	@$(call DO_CMD,$(QT_VERSION_PREFIX):RCC,$@ $<,$(QT_RCC) -name "Syntilista" $< -o $@)
-
-$(OBJPATH)main.o: src/main.cpp $(APP_HDRS) VERSION
-	$(call COMPILE_CXX_OBJ, $(QT_FLAGS) $(QT_INCLUDES))
-
-$(APP_BIN): $(addprefix $(OBJPATH),$(APP_OBJS)) $(APP_DEP_LIBS) | $(APP_DEPS)
-	$(call LINK_CXX_BIN, $(APP_LIBS))
-
-
-###
-### Special targets
-###
-clean:
-	-$(RM) $(TARGETS) $(NOINST_TARGETS) $(CLEAN_TARGETS) $(OBJPATH)*.o
-
-distclean: clean
-	-$(RM) $(DISTCLEAN_TARGETS) *~ core *.core
-
-.PHONY: clean distclean all