diff options
| author | gkostka <kostka.grzegorz@gmail.com> | 2017-04-19 17:55:46 +0200 |
|---|---|---|
| committer | gkostka <kostka.grzegorz@gmail.com> | 2017-04-19 17:55:46 +0200 |
| commit | 2a4f69fbabf98920717366cd574f0d4aba1aa3a1 (patch) | |
| tree | 99f716ab3a038daf5483079cb03da29924688260 | |
| parent | dd3f008d8931f870814d139c4b61852cc4d449cb (diff) | |
toolchain: add toolchain files for new MCUs & simplify makefile
| -rw-r--r-- | Makefile | 83 | ||||
| -rw-r--r-- | toolchain/cortex-m0+.cmake | 9 | ||||
| -rw-r--r-- | toolchain/cortex-m4.cmake | 2 | ||||
| -rw-r--r-- | toolchain/cortex-m4f.cmake | 9 | ||||
| -rw-r--r-- | toolchain/cortex-m7.cmake | 9 |
5 files changed, 61 insertions, 51 deletions
@@ -20,72 +20,55 @@ COMMON_DEFINITIONS = \ -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: - rm -R -f build_generic - mkdir build_generic - cd build_generic && cmake -G"Unix Makefiles" \ - $(COMMON_DEFINITIONS) \ - -DCMAKE_TOOLCHAIN_FILE=../toolchain/generic.cmake .. - -mingw: - rm -R -f build_mingw - mkdir build_mingw - cd build_mingw && cmake -G"Unix Makefiles" \ - $(COMMON_DEFINITIONS) \ - -DWIN32=1 \ - -DCMAKE_TOOLCHAIN_FILE=../toolchain/mingw.cmake .. - -avrxmega7: - rm -R -f build_avrxmega7 - mkdir build_avrxmega7 - cd build_avrxmega7 && cmake -G"Unix Makefiles" \ - $(COMMON_DEFINITIONS) \ - -DCMAKE_TOOLCHAIN_FILE=../toolchain/avrxmega7.cmake .. - -msp430: - rm -R -f build_msp430 - mkdir build_msp430 - cd build_msp430 && cmake -G"Unix Makefiles" \ - $(COMMON_DEFINITIONS) \ - -DCMAKE_TOOLCHAIN_FILE=../toolchain/msp430.cmake .. - + $(call generate_common,$@) cortex-m0: - rm -R -f build_cortex-m0 - mkdir build_cortex-m0 - cd build_cortex-m0 && cmake -G"Unix Makefiles" \ - $(COMMON_DEFINITIONS) \ - -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"Unix Makefiles" \ - $(COMMON_DEFINITIONS) \ - -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"Unix Makefiles" \ - $(COMMON_DEFINITIONS) \ - -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"Unix Makefiles" \ - $(COMMON_DEFINITIONS) \ - -DCMAKE_TOOLCHAIN_FILE=../toolchain/arm-sim.cmake .. + $(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 bf518 cortex-m3 cortex-m4 lib_only - +all: + generic clean: rm -R -f build_* diff --git a/toolchain/cortex-m0+.cmake b/toolchain/cortex-m0+.cmake new file mode 100644 index 0000000..56c4dde --- /dev/null +++ b/toolchain/cortex-m0+.cmake @@ -0,0 +1,9 @@ +# Name of the target +set(CMAKE_SYSTEM_NAME Generic) +set(CMAKE_SYSTEM_PROCESSOR cortex-m0) + +set(MCPU_FLAGS "-mthumb -mcpu=cortex-m0plus") +set(VFP_FLAGS "") +set(LD_FLAGS "-nostartfiles") + +include(${CMAKE_CURRENT_LIST_DIR}/common/arm-none-eabi.cmake)
\ No newline at end of file diff --git a/toolchain/cortex-m4.cmake b/toolchain/cortex-m4.cmake index fef16ed..3447233 100644 --- a/toolchain/cortex-m4.cmake +++ b/toolchain/cortex-m4.cmake @@ -3,7 +3,7 @@ set(CMAKE_SYSTEM_NAME Generic) set(CMAKE_SYSTEM_PROCESSOR cortex-m4) set(MCPU_FLAGS "-mthumb -mcpu=cortex-m4") -set(VFP_FLAGS "-mfloat-abi=hard -mfpu=fpv4-sp-d16") +set(VFP_FLAGS "") set(LD_FLAGS "-nostartfiles") include(${CMAKE_CURRENT_LIST_DIR}/common/arm-none-eabi.cmake)
\ No newline at end of file diff --git a/toolchain/cortex-m4f.cmake b/toolchain/cortex-m4f.cmake new file mode 100644 index 0000000..fef16ed --- /dev/null +++ b/toolchain/cortex-m4f.cmake @@ -0,0 +1,9 @@ +# Name of the target +set(CMAKE_SYSTEM_NAME Generic) +set(CMAKE_SYSTEM_PROCESSOR cortex-m4) + +set(MCPU_FLAGS "-mthumb -mcpu=cortex-m4") +set(VFP_FLAGS "-mfloat-abi=hard -mfpu=fpv4-sp-d16") +set(LD_FLAGS "-nostartfiles") + +include(${CMAKE_CURRENT_LIST_DIR}/common/arm-none-eabi.cmake)
\ No newline at end of file diff --git a/toolchain/cortex-m7.cmake b/toolchain/cortex-m7.cmake new file mode 100644 index 0000000..1f1b093 --- /dev/null +++ b/toolchain/cortex-m7.cmake @@ -0,0 +1,9 @@ +# Name of the target +set(CMAKE_SYSTEM_NAME Generic) +set(CMAKE_SYSTEM_PROCESSOR cortex-m4) + +set(MCPU_FLAGS "-mthumb -mcpu=cortex-m7") +set(VFP_FLAGS "-mfloat-abi=hard -mfpu=fpv4-sp-d16") +set(LD_FLAGS "-nostartfiles") + +include(${CMAKE_CURRENT_LIST_DIR}/common/arm-none-eabi.cmake)
\ No newline at end of file |
