Merge pull request #49 from sirocyl/patch-1
[lwext4.git] / Makefile
index 28a1c14e2b0198f0384fa63fa1bf3a38c253df26..12ee5c7b5ffb237ff12480597519170da16ec7a5 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,36 +1,84 @@
-\r
-all: generic bf518 cortex-m3 cortex-m4 generic\r
-\r
-bf518:\r
-       rm -R -f bf518\r
-       mkdir bf518\r
-       cd bf518 && cmake -G"Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE=../src/toolchain/bf518.cmake ../src\r
-       cd bf518 && make\r
-\r
-cortex-m3:\r
-       rm -R -f cortex-m3\r
-       mkdir cortex-m3\r
-       cd cortex-m3 && cmake -G"Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE=../src/toolchain/cortex-m3.cmake ../src\r
-       cd cortex-m3 && make\r
-\r
-cortex-m4:\r
-       rm -R -f cortex-m4\r
-       mkdir cortex-m4\r
-       cd cortex-m4 && cmake -G"Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE=../src/toolchain/cortex-m4.cmake ../src\r
-       cd cortex-m4 && make\r
-       \r
-       \r
-generic:\r
-       rm -R -f generic\r
-       mkdir generic\r
-       cd generic && cmake -G"Unix Makefiles" ../src\r
-       cd generic&& make\r
-       \r
-       \r
-clean:\r
-       rm -R -f bf518\r
-       rm -R -f cortex-m3\r
-       rm -R -f cortex-m4\r
-       rm -R -f generic\r
-\r
-       
\ No newline at end of file
+
+#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_$(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:
+       $(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)
+       
+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
+
+
+       
+
+       
+