From 1d7773938c946f7dc621f57eda5efdd581547263 Mon Sep 17 00:00:00 2001 From: George Harker Date: Fri, 4 Nov 2016 11:21:02 -0700 Subject: make it work with modern arduino and teensyduino scripts --- Teensy.mk | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) (limited to 'Teensy.mk') diff --git a/Teensy.mk b/Teensy.mk index 3676c78..c33c7be 100644 --- a/Teensy.mk +++ b/Teensy.mk @@ -34,8 +34,8 @@ endif include $(ARDMK_DIR)/Common.mk ARDMK_VENDOR = teensy -ARDUINO_CORE_PATH = $(ARDUINO_DIR)/hardware/teensy/cores/teensy3 -BOARDS_TXT = $(ARDUINO_DIR)/hardware/$(ARDMK_VENDOR)/boards.txt +ARDUINO_CORE_PATH = $(ARDUINO_DIR)/hardware/teensy/avr/cores/teensy3 +BOARDS_TXT = $(ARDUINO_DIR)/hardware/$(ARDMK_VENDOR)/avr/boards.txt ifndef F_CPU F_CPU=96000000 @@ -152,11 +152,26 @@ ifeq ("$(call PARSE_TEENSY,$(BOARD_TAG),build.elide_constructors)", "true") CXXFLAGS += -felide-constructors endif -LDFLAGS += $(call PARSE_TEENSY,$(BOARD_TAG),build.linkoption) $(call PARSE_TEENSY,$(BOARD_TAG),build.additionalobject) +CXXFLAGS += $(call PARSE_TEENSY,$(BOARD_TAG),build.flags.common) +CXXFLAGS += $(call PARSE_TEENSY,$(BOARD_TAG),build.flags.cpu) +CXXFLAGS += $(call PARSE_TEENSY,$(BOARD_TAG),build.flags.defs) +CXXFLAGS += $(call PARSE_TEENSY,$(BOARD_TAG),build.flags.cpp) -ifneq ("$(call PARSE_TEENSY,$(BOARD_TAG),build.linkscript)",) - LDFLAGS += -T$(ARDUINO_CORE_PATH)/$(call PARSE_TEENSY,$(BOARD_TAG),build.linkscript) -endif +CFLAGS += $(call PARSE_TEENSY,$(BOARD_TAG),build.flags.common) +CFLAGS += $(call PARSE_TEENSY,$(BOARD_TAG),build.flags.cpu) +CFLAGS += $(call PARSE_TEENSY,$(BOARD_TAG),build.flags.defs) + +ASFLAGS += $(call PARSE_TEENSY,$(BOARD_TAG),build.flags.common) +ASFLAGS += $(call PARSE_TEENSY,$(BOARD_TAG),build.flags.cpu) +ASFLAGS += $(call PARSE_TEENSY,$(BOARD_TAG),build.flags.defs) +ASFLAGS += $(call PARSE_TEENSY,$(BOARD_TAG),build.flags.S) + +LDFLAGS += $(call PARSE_TEENSY,$(BOARD_TAG),build.flags.cpu) + +AMCU := $(call PARSE_TEENSY,$(BOARD_TAG),build.mcu) +LDFLAGS += -Wl,--gc-sections,--relax +LINKER_SCRIPTS = -T${ARDUINO_CORE_PATH}/${AMCU}.ld +OTHER_LIBS = $(call PARSE_TEENSY,$(BOARD_TAG),build.flags.libs) ######################################################################## # some fairly odd settings so that 'make upload' works @@ -171,3 +186,4 @@ RESET_CMD = nohup $(ARDUINO_DIR)/hardware/tools/teensy_post_compile -board=$(BOA # automatially include Arduino.mk for the user include $(ARDMK_DIR)/Arduino.mk + -- cgit v1.2.3 From 0c55418057b59929bda4c7840f303e4b1cf66cb1 Mon Sep 17 00:00:00 2001 From: George Harker Date: Fri, 4 Nov 2016 11:28:18 -0700 Subject: fix platform dir --- Teensy.mk | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'Teensy.mk') diff --git a/Teensy.mk b/Teensy.mk index c33c7be..48dcb9e 100644 --- a/Teensy.mk +++ b/Teensy.mk @@ -49,6 +49,12 @@ endif ARCHITECTURE = $(call PARSE_TEENSY,$(BOARD_TAG),build.architecture) AVR_TOOLS_DIR = $(call dir_if_exists,$(ARDUINO_DIR)/hardware/tools/$(ARCHITECTURE)) +# define plaform lib dir ignoring teensy's oversight on putting it all in avr +ifndef ARDUINO_PLATFORM_LIB_PATH + ARDUINO_PLATFORM_LIB_PATH = $(ARDUINO_DIR)/hardware/$(ARDMK_VENDOR)/avr/libraries + $(call show_config_variable,ARDUINO_PLATFORM_LIB_PATH,[COMPUTED],(from ARDUINO_DIR)) +endif + ######################################################################## # command names -- cgit v1.2.3 From bcf664079c9dcbc30a356d4adf2b2c3d161cd18a Mon Sep 17 00:00:00 2001 From: George Harker Date: Fri, 4 Nov 2016 11:37:10 -0700 Subject: fix mcu --- Teensy.mk | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'Teensy.mk') diff --git a/Teensy.mk b/Teensy.mk index 48dcb9e..edbdbb4 100644 --- a/Teensy.mk +++ b/Teensy.mk @@ -179,6 +179,10 @@ LDFLAGS += -Wl,--gc-sections,--relax LINKER_SCRIPTS = -T${ARDUINO_CORE_PATH}/${AMCU}.ld OTHER_LIBS = $(call PARSE_TEENSY,$(BOARD_TAG),build.flags.libs) +CPUFLAGS = $(call PARSE_TEENSY,$(BOARD_TAG),build.flags.cpu) +# usually defined as per teensy31.build.mcu=mk20dx256 but that isn't valid switch +MCU := $(shell echo ${CPUFLAGS} | sed -n -e 's/.*-mcpu=\([a-zA-Z0-9_-]*\).*/\1/p') + ######################################################################## # some fairly odd settings so that 'make upload' works # -- cgit v1.2.3 From 0b1aa8d26a42c9a69b4fd58cd4282115621b61af Mon Sep 17 00:00:00 2001 From: George Harker Date: Sat, 5 Nov 2016 12:10:15 -0700 Subject: hard code ARCHITECTURE if not found in boards.txt, update history --- Teensy.mk | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'Teensy.mk') diff --git a/Teensy.mk b/Teensy.mk index edbdbb4..9e986a8 100644 --- a/Teensy.mk +++ b/Teensy.mk @@ -46,7 +46,12 @@ ifndef PARSE_TEENSY PARSE_TEENSY = $(shell grep -v "^\#" "$(BOARDS_TXT)" | grep $(1).$(2) | cut -d = -f 2,3 ) endif +# if boards.txt gets modified, look there, else hard code it ARCHITECTURE = $(call PARSE_TEENSY,$(BOARD_TAG),build.architecture) +ifeq ($(strip $(MONITOR_PORT)),) + ARCHITECTURE = arm +endif + AVR_TOOLS_DIR = $(call dir_if_exists,$(ARDUINO_DIR)/hardware/tools/$(ARCHITECTURE)) # define plaform lib dir ignoring teensy's oversight on putting it all in avr -- cgit v1.2.3 From 7d564b6a26ffaaf270b80fa10deb9d4d732c1aae Mon Sep 17 00:00:00 2001 From: George Harker Date: Sat, 5 Nov 2016 12:19:15 -0700 Subject: fix incorrect variable ref --- Teensy.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Teensy.mk') diff --git a/Teensy.mk b/Teensy.mk index 9e986a8..ffd3a6b 100644 --- a/Teensy.mk +++ b/Teensy.mk @@ -48,7 +48,7 @@ endif # if boards.txt gets modified, look there, else hard code it ARCHITECTURE = $(call PARSE_TEENSY,$(BOARD_TAG),build.architecture) -ifeq ($(strip $(MONITOR_PORT)),) +ifeq ($(strip $(ARCHITECTURE)),) ARCHITECTURE = arm endif -- cgit v1.2.3