X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=Makefile;h=12ee5c7b5ffb237ff12480597519170da16ec7a5;hb=HEAD;hp=3a7dfc56434137cb53f0893f08d4a7db8eb28c60;hpb=0e812379de04940b434165da07466980d46b4d65;p=lwext4.git diff --git a/Makefile b/Makefile index 3a7dfc5..12ee5c7 100644 --- a/Makefile +++ b/Makefile @@ -1,64 +1,78 @@ #Release #Debug -BUILD_TYPE = Debug +BUILD_TYPE = Release -#Check: http://www.cmake.org/Wiki/CMake_Generator_Specific_Information -#"Unix Makefiles" -#"Eclipse CDT4 - Unix Makefiles" -PROJECT_SETUP = "Unix Makefiles" +ifneq ($(shell test -d .git), 0) +GIT_SHORT_HASH:= $(shell git rev-parse --short HEAD) +endif -generic: - rm -R -f build_generic - mkdir build_generic - cd build_generic && cmake -G$(PROJECT_SETUP) -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) -DCMAKE_TOOLCHAIN_FILE=../toolchain/generic.cmake .. - -bf518: - rm -R -f build_bf518 - mkdir build_bf518 - cd build_bf518 && cmake -G$(PROJECT_SETUP) -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) -DCMAKE_TOOLCHAIN_FILE=../toolchain/bf518.cmake .. +VERSION_MAJOR = 1 +VERSION_MINOR = 0 +VERSION_PATCH = 0 -avrxmega7: - rm -R -f build_avrxmega7 - mkdir build_avrxmega7 - cd build_avrxmega7 && cmake -G$(PROJECT_SETUP) -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) -DCMAKE_TOOLCHAIN_FILE=../toolchain/avrxmega7.cmake .. +VERSION = $(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH)-$(GIT_SHORT_HASH) -msp430: - rm -R -f build_msp430 - mkdir build_msp430 - cd build_msp430 && cmake -G$(PROJECT_SETUP) -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) -DCMAKE_TOOLCHAIN_FILE=../toolchain/msp430.cmake .. +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_$(1) + mkdir build_$(1) + cd build_$(1) && cmake -G"Unix Makefiles" \ + $(COMMON_DEFINITIONS) \ + $(2) \ + -DCMAKE_TOOLCHAIN_FILE=../toolchain/$(1).cmake .. +endef + +generic: + $(call generate_common,$@) cortex-m0: - rm -R -f build_cortex-m0 - mkdir build_cortex-m0 - cd build_cortex-m0 && cmake -G$(PROJECT_SETUP) -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) -DCMAKE_TOOLCHAIN_FILE=../toolchain/cortex-m0.cmake .. + $(call generate_common,$@) + +cortex-m0+: + $(call generate_common,$@) cortex-m3: - rm -R -f build_cortex-m3 - mkdir build_cortex-m3 - cd build_cortex-m3 && cmake -G$(PROJECT_SETUP) -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) -DCMAKE_TOOLCHAIN_FILE=../toolchain/cortex-m3.cmake .. + $(call generate_common,$@) cortex-m4: - rm -R -f build_cortex-m4 - mkdir build_cortex-m4 - cd build_cortex-m4 && cmake -G$(PROJECT_SETUP) -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) -DCMAKE_TOOLCHAIN_FILE=../toolchain/cortex-m4.cmake .. + $(call generate_common,$@) + +cortex-m4f: + $(call generate_common,$@) + +cortex-m7: + $(call generate_common,$@) arm-sim: - rm -R -f build_arm-sim - mkdir build_arm-sim - cd build_arm-sim && cmake -G$(PROJECT_SETUP) -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) -DCMAKE_TOOLCHAIN_FILE=../toolchain/arm-sim.cmake .. + $(call generate_common,$@) + +avrxmega7: + $(call generate_common,$@) + +msp430: + $(call generate_common,$@) -all: generic bf518 cortex-m3 cortex-m4 generic +mingw: + $(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 - -unpack_images: - rm -R -f ext_images - 7z x ext_images.7z include fs_test.mk