@@ -84,20 +84,43 @@ endif
84
84
85
85
# Imported source files and paths
86
86
CHIBIOS ?= $(TMK_DIR ) /tool/chibios/chibios
87
- # Startup files.
88
- include $(CHIBIOS ) /os/common/ports/ARMCMx/compilers/GCC/mk/startup_$(MCU_STARTUP ) .mk
87
+ # Startup files. Try a few different locations, for compability with old versions and
88
+ # for things hardware in the contrib repository
89
+ STARTUP_MK = $(CHIBIOS ) /os/common/ports/ARMCMx/compilers/GCC/mk/startup_$(MCU_STARTUP ) .mk
90
+ ifeq ("$(wildcard $(STARTUP_MK ) ) ","")
91
+ STARTUP_MK = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_$(MCU_STARTUP).mk
92
+ ifeq ("$(wildcard $(STARTUP_MK))","")
93
+ STARTUP_MK = $(CHIBIOS_CONTRIB)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_$(MCU_STARTUP).mk
94
+ endif
95
+ endif
96
+ include $(STARTUP_MK )
89
97
# HAL-OSAL files (optional).
90
98
include $(CHIBIOS ) /os/hal/hal.mk
91
- include $(CHIBIOS ) /os/hal/ports/$(MCU_FAMILY ) /$(MCU_SERIES ) /platform.mk
92
- ifneq ("$(wildcard $(TARGET_DIR ) /boards/$(BOARD ) ) ","")
93
- include $(TARGET_DIR)/boards/$(BOARD)/board.mk
94
- else
95
- include $(CHIBIOS)/os/hal/boards/$(BOARD)/board.mk
99
+
100
+ PLATFORM_MK = $(CHIBIOS ) /os/hal/ports/$(MCU_FAMILY ) /$(MCU_SERIES ) /platform.mk
101
+ ifeq ("$(wildcard $(PLATFORM_MK ) ) ","")
102
+ PLATFORM_MK = $(CHIBIOS_CONTRIB ) /os/hal/ports/$(MCU_FAMILY ) /$(MCU_SERIES ) /platform.mk
103
+ endif
104
+ include $(PLATFORM_MK )
105
+
106
+
107
+ BOARD_MK = $(TARGET_DIR ) /boards/$(BOARD )
108
+ ifeq ("$(wildcard $(BOARD_MK ) ) ","")
109
+ BOARD_MK = $(CHIBIOS)/os/hal/boards/$(BOARD)/board.mk
110
+ ifeq ("$(wildcard $(BOARD_MK))","")
111
+ BOARD_MK = $(CHIBIOS_CONTRIB)/os/hal/boards/$(BOARD)/board.mk
112
+ endif
96
113
endif
114
+ include $(BOARD_MK )
97
115
include $(CHIBIOS ) /os/hal/osal/rt/osal.mk
98
116
# RTOS files (optional).
99
117
include $(CHIBIOS ) /os/rt/rt.mk
100
- include $(CHIBIOS ) /os/rt/ports/ARMCMx/compilers/GCC/mk/port_v$(ARMV ) m.mk
118
+ # Compability with old version
119
+ PORT_V = $(CHIBIOS ) /os/rt/ports/ARMCMx/compilers/GCC/mk/port_v$(ARMV ) m.mk
120
+ ifeq ("$(wildcard $(PORT_V ) ) ","")
121
+ PORT_V = $(CHIBIOS ) /os/common/ports/ARMCMx/compilers/GCC/mk/port_v$(ARMV ) m.mk
122
+ endif
123
+ include $(PORT_V )
101
124
# Other files (optional).
102
125
103
126
# Define linker script file here
@@ -228,4 +251,7 @@ endif
228
251
# #############################################################################
229
252
230
253
RULESPATH = $(CHIBIOS ) /os/common/ports/ARMCMx/compilers/GCC
254
+ ifeq ("$(wildcard $(RULESPATH ) /rules.mk) ","")
255
+ RULESPATH = $(CHIBIOS ) /os/common/startup/ARMCMx/compilers/GCC
256
+ endif
231
257
include $(RULESPATH ) /rules.mk
0 commit comments