From d91c8d2f8e23f4fb221facf36a9cf2ac32f02410 Mon Sep 17 00:00:00 2001 From: Quentin Quadrat Date: Mon, 1 Jul 2024 22:44:15 +0200 Subject: [PATCH] Use MyMakefile-v2 --- .makefile | 2 +- Makefile | 107 ++++++++--------------------- Makefile.common | 4 ++ VERSION.txt | 1 - doc/demos/Unzipper/Makefile | 51 ++++---------- doc/doxygen-logo.png | Bin 0 -> 8679 bytes external/compile-external-libs.sh | 2 - external/download-external-libs.sh | 2 - 8 files changed, 46 insertions(+), 123 deletions(-) create mode 100644 Makefile.common delete mode 100644 VERSION.txt create mode 100644 doc/doxygen-logo.png diff --git a/.makefile b/.makefile index 9f5eb26..937c117 160000 --- a/.makefile +++ b/.makefile @@ -1 +1 @@ -Subproject commit 9f5eb268d18c518c30d094b937b1a4274142cd1b +Subproject commit 937c1171b1be522d4051a3372c880b7ee1498ceb diff --git a/Makefile b/Makefile index 5179d4c..5c4b600 100644 --- a/Makefile +++ b/Makefile @@ -1,103 +1,54 @@ -################################################### -# Project definition -# -PROJECT = Zipper -TARGET = $(PROJECT) -DESCRIPTION = C++ wrapper around minizip compression library -STANDARD = --std=c++11 -BUILD_TYPE = release - -################################################### -# Documentation -# -LOGO = logo.png - ################################################### # Location of the project directory and Makefiles # P := . M := $(P)/.makefile -include $(M)/Makefile.header - -################################################### -# Inform Makefile where to find *.cpp and *.o files -# -VPATH += $(P)/src $(P)/src/utils $(THIRDPART) ################################################### -# Inform Makefile where to find header files -# -INCLUDES += -I. -I$(P)/include -I$(P)/src - -################################################### -# Compilation +# Project definition # -#CXXFLAGS += -Wno-undef +include $(P)/Makefile.common +TARGET_NAME := $(PROJECT_NAME) +TARGET_DESCRIPTION := An open source implementation of the SimCity 2013 simulation engine GlassBox +include $(M)/project/Makefile ################################################### -# Project defines. +# Compile shared and static libraries # -DEFINES += -DHAVE_AES -ifeq ($(ARCHI),Windows) -DEFINES += -DUSE_WINDOWS +LIB_FILES := $(call rwildcard,src,*.cpp) +INCLUDES := $(P)/include $(P)/src $(P) +VPATH := $(P)/src $(P)/src/utils $(THIRDPART_DIR) +ifeq ($(OS),Windows) + LIB_FILES += src/utils/dirent.c + DEFINES += -DUSE_WINDOWS -DHAVE_AES else -DEFINES += -UUSE_WINDOWS + DEFINES += -UUSE_WINDOWS -DHAVE_AES endif +THIRDPART_LIBS := $(abspath $(THIRDPART_DIR)/minizip/build/libminizip.a) +THIRDPART_LIBS += $(abspath $(THIRDPART_DIR)/minizip/build/libaes.a) +THIRDPART_LIBS += $(abspath $(THIRDPART_DIR)/zlib-ng/build/libz.a) ################################################### -# Compiled files +# Documentation # -ifeq ($(ARCHI),Windows) -LIB_OBJS += dirent.o -endif -LIB_OBJS += Timestamp.o Path.o Zipper.o Unzipper.o +PATH_PROJECT_LOGO := $(PROJECT_DOC_DIR)/doxygen-logo.png ################################################### -# Libraries. +# Generic Makefile rules # -PKG_LIBS += -LINKER_FLAGS += -THIRDPART_LIBS += \ - $(abspath $(THIRDPART)/minizip/build/libminizip.a) \ - $(abspath $(THIRDPART)/minizip/build/libaes.a) \ - $(abspath $(THIRDPART)/zlib-ng/build/libz.a) +include $(M)/rules/Makefile ################################################### -# Compile static and shared libraries -all: $(STATIC_LIB_TARGET) $(SHARED_LIB_TARGET) $(PKG_FILE) +# Extra rules +# +all:: demos -################################################### -# Compile the demo as standalone application. .PHONY: demos -demos: | $(STATIC_LIB_TARGET) $(SHARED_LIB_TARGET) - @$(call print-from,"Compiling demos",$(PROJECT),unzip) - $(MAKE) -C doc/demos/Unzipper all +demos: + $(Q)$(MAKE) --no-print-directory --directory=doc/demos/Unzipper all -################################################### -# Compile and launch unit tests and generate the code coverage html report. -.PHONY: unit-tests -.PHONY: check -unit-tests check: - @$(call print-simple,"Compiling unit tests") - @$(MAKE) -C tests coverage - -################################################### -# Install project. You need to be root. -.PHONY: install -install: $(STATIC_LIB_TARGET) $(SHARED_LIB_TARGET) $(PKG_FILE) - @$(call INSTALL_DOCUMENTATION) - @$(call INSTALL_PROJECT_LIBRARIES) - @$(call INSTALL_PROJECT_HEADERS) +clean:: + $(Q)$(MAKE) --no-print-directory --directory=doc/demos/Unzipper clean -################################################### -# Clean the whole project. -.PHONY: veryclean -veryclean: clean - @rm -fr cov-int $(PROJECT).tgz *.log foo 2> /dev/null - @(cd tests && $(MAKE) -s clean) - @$(call print-simple,"Cleaning","$(THIRDPART)") - @rm -fr $(THIRDPART)/*/ doc/html 2> /dev/null - -################################################### -# Sharable informations between all Makefiles -include $(M)/Makefile.footer +install:: + $(Q)$(MAKE) --no-print-directory --directory=doc/demos/Unzipper install \ No newline at end of file diff --git a/Makefile.common b/Makefile.common new file mode 100644 index 0000000..f8841ce --- /dev/null +++ b/Makefile.common @@ -0,0 +1,4 @@ +PROJECT_NAME := zipper +PROJECT_VERSION := 2.1.0 +COMPILATION_MODE := release +CXX_STANDARD := --std=c++11 \ No newline at end of file diff --git a/VERSION.txt b/VERSION.txt deleted file mode 100644 index 7ec1d6d..0000000 --- a/VERSION.txt +++ /dev/null @@ -1 +0,0 @@ -2.1.0 diff --git a/doc/demos/Unzipper/Makefile b/doc/demos/Unzipper/Makefile index 2c95efc..2296815 100644 --- a/doc/demos/Unzipper/Makefile +++ b/doc/demos/Unzipper/Makefile @@ -1,53 +1,26 @@ -################################################### -# Project definition -# -PROJECT = Zipper -TARGET = demo_unzip -DESCRIPTION = Demo for unzipping a zip -STANDARD = --std=c++11 -BUILD_TYPE = release - ################################################### # Location of the project directory and Makefiles # P := ../../.. M := $(P)/.makefile -include $(M)/Makefile.header - -################################################### -# Inform Makefile where to find *.cpp and *.o files -# -VPATH += $(P) src - -################################################### -# Inform Makefile where to find header files -# -INCLUDES += -I$(P)/include -Isrc ################################################### -# Compilation -# -CXXFLAGS += - -################################################### -# Project defines. +# Project definition # -DEFINES += +include $(P)/Makefile.common +TARGET_NAME := unzipper-demo +TARGET_DESCRIPTION := A demo for unzipping using $(PROJECT_NAME) +include $(M)/project/Makefile ################################################### -# Compile the demo as standalone application. +# Compile the standalone application # -OBJS += demo_unzip.o +SRC_FILES := $(call rwildcard,src,*.cpp) +INCLUDES := $(P)/include src +VPATH := $(P)/demo +INTERNAL_LIBS := $(call internal-lib,$(PROJECT_NAME)) ################################################### -# Libraries: link against our newly compiled lib +# Generic Makefile rules # -THIRDPART_LIBS += $(abspath $(P)/$(BUILD)/libzipper.a) - -################################################### -# Compile static and shared libraries -all: $(TARGET) - -################################################### -# Sharable informations between all Makefiles -include $(M)/Makefile.footer +include $(M)/rules/Makefile diff --git a/doc/doxygen-logo.png b/doc/doxygen-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..5ed3982654056f456bf0f42c2b0f7d927c3c6ba1 GIT binary patch literal 8679 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 literal 0 HcmV?d00001 diff --git a/external/compile-external-libs.sh b/external/compile-external-libs.sh index 65d33a7..d0805e0 100755 --- a/external/compile-external-libs.sh +++ b/external/compile-external-libs.sh @@ -21,8 +21,6 @@ ### find them when you'll start your application. ############################################################################### -source ../.makefile/compile-external-libs.sh - ### Library zlib-ng print-compile zlib-ng if [ -e zlib-ng ]; diff --git a/external/download-external-libs.sh b/external/download-external-libs.sh index bb2c168..ef363b0 100755 --- a/external/download-external-libs.sh +++ b/external/download-external-libs.sh @@ -5,8 +5,6 @@ ### It replaces git submodules that I dislike. ############################################################################### -source ../.makefile/download-external-libs.sh - ### zlib replacement with optimizations for "next generation" systems. ### License: zlib cloning zlib-ng/zlib-ng