Fix inexplicable change to dylib paths with new VM.
[lwext4.git] / Makefile
1
2 #Release
3 #Debug
4 BUILD_TYPE = Release
5
6 ifneq ($(shell test -d .git), 0)
7 GIT_SHORT_HASH:= $(shell git rev-parse --short HEAD)
8 endif
9
10 VERSION_MAJOR = 1
11 VERSION_MINOR = 0
12 VERSION_PATCH = 0
13
14 VERSION = $(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH)-$(GIT_SHORT_HASH)
15
16 COMMON_DEFINITIONS =                                      \
17         -DCMAKE_BUILD_TYPE=$(BUILD_TYPE)                      \
18         -DVERSION_MAJOR=$(VERSION_MAJOR)                      \
19         -DVERSION_MINOR=$(VERSION_MINOR)                      \
20         -DVERSION_PATCH=$(VERSION_PATCH)                      \
21         -DVERSION=$(VERSION)                                  \
22
23 define generate_common
24         rm -R -f build_$(2)
25         mkdir build_$(2)
26         cd build_$(2) && cmake -G"Unix Makefiles"           \
27         $(COMMON_DEFINITIONS)                               \
28         -DLWEXT4_BUILD_SHARED_LIB=ON                        \
29         $(3)                                                \
30         -DCMAKE_TOOLCHAIN_FILE=../toolchain/$(1).cmake ..
31 endef
32
33 define generate_common_static
34         rm -R -f build_$(2)
35         mkdir build_$(2)
36         cd build_$(2) && cmake -G"Unix Makefiles"           \
37         $(COMMON_DEFINITIONS)                               \
38         -DLWEXT4_BUILD_SHARED_LIB=OFF                       \
39         $(3)                                                \
40         -DCMAKE_TOOLCHAIN_FILE=../toolchain/$(1).cmake ..
41 endef
42
43 generic:
44         $(call generate_common_static,$@,$@)
45
46 osx:
47         $(call generate_common,$@,$@)
48
49 osx32:
50         $(call generate_common,$@,osx,-DCMAKE_OSX_ARCHITECTURES=i386)
51
52 osx-arm64:
53         $(call generate_common,$@,osx)
54
55 cortex-m0:
56         $(call generate_common,$@,$@)
57
58 cortex-m0+:
59         $(call generate_common,$@,$@)
60
61 cortex-m3:
62         $(call generate_common,$@,$@)
63
64 cortex-m4:
65         $(call generate_common,$@,$@)
66
67 cortex-m4f:
68         $(call generate_common,$@,$@)
69
70 cortex-m7:
71         $(call generate_common,$@,$@)
72
73 arm-sim:
74         $(call generate_common,$@,$@)
75
76 avrxmega7:
77         $(call generate_common,$@,$@)
78
79 msp430:
80         $(call generate_common,$@,$@)
81
82 mingw:
83         $(call generate_common,$@,$@,-DWIN32=1)
84
85 mingw-32:
86         $(call generate_common,$@,$@,-DWIN32=1)
87
88 lib_only:
89         rm -R -f build_lib_only
90         mkdir build_lib_only
91         cd build_lib_only && cmake $(COMMON_DEFINITIONS) -DLIB_ONLY=TRUE ..
92
93 all:
94         generic
95
96 clean:
97         rm -R -f build_*
98         rm -R -f ext_images
99
100
101 include fs_test.mk