X-Git-Url: https://git.friedersdorff.com/?a=blobdiff_plain;f=tmk_core%2Ftool%2Fchibios%2Fchibios.mk;h=5afcb1930dbb1b5f206e0b1a6b9ed1f5e49cb440;hb=8345571e1df07cdbe612541baa9e4f3441ad3f9e;hp=77689fc3520eebc6927d9ed819909e02889f520b;hpb=1d9c939f388f9ceef8cd673155a4b2086cb5ad08;p=max%2Ftmk_keyboard.git diff --git a/tmk_core/tool/chibios/chibios.mk b/tmk_core/tool/chibios/chibios.mk index 77689fc3..5afcb193 100644 --- a/tmk_core/tool/chibios/chibios.mk +++ b/tmk_core/tool/chibios/chibios.mk @@ -35,7 +35,7 @@ endif # Enable this if you want link time optimizations (LTO) ifeq ($(USE_LTO),) - USE_LTO = yes + USE_LTO = no endif # If enabled, this option allows to compile the application in THUMB mode. @@ -83,22 +83,47 @@ endif # # Imported source files and paths -CHIBIOS = $(TMK_DIR)/tool/chibios/chibios -# Startup files. -include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/startup_$(MCU_STARTUP).mk +CHIBIOS ?= $(TMK_DIR)/tool/chibios/ChibiOS +CHIBIOS_CONTRIB ?= $(TMK_DIR)/tool/chibios/ChibiOS-Contrib +# Startup files. Try a few different locations, for compability with old versions and +# for things hardware in the contrib repository +STARTUP_MK = $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/startup_$(MCU_STARTUP).mk +ifeq ("$(wildcard $(STARTUP_MK))","") + STARTUP_MK = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_$(MCU_STARTUP).mk + ifeq ("$(wildcard $(STARTUP_MK))","") + STARTUP_MK = $(CHIBIOS_CONTRIB)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_$(MCU_STARTUP).mk + endif +endif +include $(STARTUP_MK) # HAL-OSAL files (optional). include $(CHIBIOS)/os/hal/hal.mk -include $(CHIBIOS)/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)/platform.mk -ifneq ("$(wildcard $(TARGET_DIR)/boards/$(BOARD))","") - include $(TARGET_DIR)/boards/$(BOARD)/board.mk -else - include $(CHIBIOS)/os/hal/boards/$(BOARD)/board.mk + +PLATFORM_MK = $(CHIBIOS)/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)/platform.mk +ifeq ("$(wildcard $(PLATFORM_MK))","") +PLATFORM_MK = $(CHIBIOS_CONTRIB)/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)/platform.mk +endif +include $(PLATFORM_MK) + + +BOARD_MK = $(TARGET_DIR)/boards/$(BOARD)/board.mk +ifeq ("$(wildcard $(BOARD_MK))","") + BOARD_MK = $(CHIBIOS)/os/hal/boards/$(BOARD)/board.mk + ifeq ("$(wildcard $(BOARD_MK))","") + BOARD_MK = $(CHIBIOS_CONTRIB)/os/hal/boards/$(BOARD)/board.mk + endif endif +include $(BOARD_MK) include $(CHIBIOS)/os/hal/osal/rt/osal.mk # RTOS files (optional). include $(CHIBIOS)/os/rt/rt.mk -include $(CHIBIOS)/os/rt/ports/ARMCMx/compilers/GCC/mk/port_v$(ARMV)m.mk +# Compability with old version +PORT_V = $(CHIBIOS)/os/rt/ports/ARMCMx/compilers/GCC/mk/port_v$(ARMV)m.mk +ifeq ("$(wildcard $(PORT_V))","") +PORT_V = $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v$(ARMV)m.mk +endif +include $(PORT_V) # Other files (optional). +include $(CHIBIOS)/os/hal/lib/streams/streams.mk # Define linker script file here ifneq ("$(wildcard $(TARGET_DIR)/ld/$(MCU_LDSCRIPT).ld)","") @@ -116,7 +141,8 @@ CSRC = $(STARTUPSRC) \ $(HALSRC) \ $(PLATFORMSRC) \ $(BOARDSRC) \ - $(CHIBIOS)/os/hal/lib/streams/chprintf.c \ + $(STREAMSSRC) \ + $(LIBSRC) \ $(TMK_DIR)/protocol/chibios/usb_main.c \ $(TMK_DIR)/protocol/chibios/main.c \ $(SRC) @@ -146,11 +172,13 @@ TCSRC = TCPPSRC = # List ASM source files here -ASMSRC = $(STARTUPASM) $(PORTASM) $(OSALASM) +ASMSRC = +ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM) -INCDIR = $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \ +INCDIR = $(CHIBIOS)/os/license \ + $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \ $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \ - $(CHIBIOS)/os/hal/lib/streams $(CHIBIOS)/os/various \ + $(STREAMSINC) $(LIBINC) $(CHIBIOS)/os/various \ $(TMK_DIR) $(COMMON_DIR) $(TMK_DIR)/protocol/chibios \ $(TMK_DIR)/protocol $(TARGET_DIR) @@ -175,7 +203,7 @@ CP = $(TRGT)objcopy AS = $(TRGT)gcc -x assembler-with-cpp AR = $(TRGT)ar OD = $(TRGT)objdump -SZ = $(TRGT)size +SZ = $(TRGT)size -A HEX = $(CP) -O ihex BIN = $(CP) -O binary @@ -228,4 +256,7 @@ endif ############################################################################## RULESPATH = $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC +ifeq ("$(wildcard $(RULESPATH)/rules.mk)","") +RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC/mk +endif include $(RULESPATH)/rules.mk