Makefile 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. #Release
  2. #Debug
  3. BUILD_TYPE = Release
  4. ifneq ($(shell test -d .git), 0)
  5. GIT_SHORT_HASH:= $(shell git rev-parse --short HEAD)
  6. endif
  7. VERSION_MAJOR = 1
  8. VERSION_MINOR = 0
  9. VERSION_PATCH = 0
  10. VERSION = $(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH)-$(GIT_SHORT_HASH)
  11. COMMON_DEFINITIONS = \
  12. -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) \
  13. -DVERSION_MAJOR=$(VERSION_MAJOR) \
  14. -DVERSION_MINOR=$(VERSION_MINOR) \
  15. -DVERSION_PATCH=$(VERSION_PATCH) \
  16. -DVERSION=$(VERSION) \
  17. define generate_common
  18. rm -R -f build_$(1)
  19. mkdir build_$(1)
  20. cd build_$(1) && cmake -G"Unix Makefiles" \
  21. $(COMMON_DEFINITIONS) \
  22. $(2) \
  23. -DCMAKE_TOOLCHAIN_FILE=../toolchain/$(1).cmake ..
  24. endef
  25. generic:
  26. $(call generate_common,$@)
  27. cortex-m0:
  28. $(call generate_common,$@)
  29. cortex-m0+:
  30. $(call generate_common,$@)
  31. cortex-m3:
  32. $(call generate_common,$@)
  33. cortex-m4:
  34. $(call generate_common,$@)
  35. cortex-m4f:
  36. $(call generate_common,$@)
  37. cortex-m7:
  38. $(call generate_common,$@)
  39. arm-sim:
  40. $(call generate_common,$@)
  41. avrxmega7:
  42. $(call generate_common,$@)
  43. msp430:
  44. $(call generate_common,$@)
  45. mingw:
  46. $(call generate_common,$@,-DWIN32=1)
  47. lib_only:
  48. rm -R -f build_lib_only
  49. mkdir build_lib_only
  50. cd build_lib_only && cmake $(COMMON_DEFINITIONS) -DLIB_ONLY=TRUE ..
  51. all:
  52. generic
  53. clean:
  54. rm -R -f build_*
  55. rm -R -f ext_images
  56. include fs_test.mk