#Release #Debug BUILD_TYPE = Release ifneq ($(shell test -d .git), 0) GIT_SHORT_HASH:= $(shell git rev-parse --short HEAD) endif VERSION_MAJOR = 1 VERSION_MINOR = 0 VERSION_PATCH = 0 VERSION = $(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH)-$(GIT_SHORT_HASH) COMMON_DEFINITIONS = \ -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) \ -DVERSION_MAJOR=$(VERSION_MAJOR) \ -DVERSION_MINOR=$(VERSION_MINOR) \ -DVERSION_PATCH=$(VERSION_PATCH) \ -DVERSION=$(VERSION) \ define generate_common rm -R -f build_$(2) mkdir build_$(2) cd build_$(2) && cmake -G"Unix Makefiles" \ $(COMMON_DEFINITIONS) \ -DLWEXT4_BUILD_SHARED_LIB=ON \ $(3) \ -DCMAKE_TOOLCHAIN_FILE=../toolchain/$(1).cmake .. endef define generate_common_static rm -R -f build_$(2) mkdir build_$(2) cd build_$(2) && cmake -G"Unix Makefiles" \ $(COMMON_DEFINITIONS) \ -DLWEXT4_BUILD_SHARED_LIB=OFF \ $(3) \ -DCMAKE_TOOLCHAIN_FILE=../toolchain/$(1).cmake .. endef generic: $(call generate_common_static,$@,$@) osx: $(call generate_common,$@,$@) osx32: $(call generate_common,$@,osx,-DCMAKE_OSX_ARCHITECTURES=i386) osx-arm64: $(call generate_common,$@,osx) cortex-m0: $(call generate_common,$@,$@) cortex-m0+: $(call generate_common,$@,$@) cortex-m3: $(call generate_common,$@,$@) cortex-m4: $(call generate_common,$@,$@) cortex-m4f: $(call generate_common,$@,$@) cortex-m7: $(call generate_common,$@,$@) arm-sim: $(call generate_common,$@,$@) avrxmega7: $(call generate_common,$@,$@) msp430: $(call generate_common,$@,$@) mingw: $(call generate_common,$@,$@,-DWIN32=1) mingw-32: $(call generate_common,$@,$@,-DWIN32=1) lib_only: rm -R -f build_lib_only mkdir build_lib_only cd build_lib_only && cmake $(COMMON_DEFINITIONS) -DLIB_ONLY=TRUE .. all: generic clean: rm -R -f build_* rm -R -f ext_images include fs_test.mk