Skip to content

Commit 1d77739

Browse files
committed
make it work with modern arduino and teensyduino scripts
1 parent 23556d7 commit 1d77739

File tree

2 files changed

+24
-8
lines changed

2 files changed

+24
-8
lines changed

Arduino.mk

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1293,7 +1293,7 @@ endif
12931293
$(OBJDIR)/%.eep: $(OBJDIR)/%.elf $(COMMON_DEPS)
12941294
@$(MKDIR) $(dir $@)
12951295
-$(OBJCOPY) -j .eeprom --set-section-flags=.eeprom='alloc,load' \
1296-
--change-section-lma .eeprom=0 -O ihex $< $@
1296+
--no-change-warnings --change-section-lma .eeprom=0 -O ihex $< $@
12971297

12981298
$(OBJDIR)/%.lss: $(OBJDIR)/%.elf $(COMMON_DEPS)
12991299
@$(MKDIR) $(dir $@)
@@ -1439,7 +1439,7 @@ pre-build:
14391439
$(call runscript_if_exists,$(PRE_BUILD_HOOK))
14401440

14411441
$(TARGET_ELF): $(LOCAL_OBJS) $(CORE_LIB) $(OTHER_OBJS)
1442-
$(CC) $(LDFLAGS) -o $@ $(LOCAL_OBJS) $(CORE_LIB) $(OTHER_OBJS) -lc -lm $(LINKER_SCRIPTS)
1442+
$(CC) $(LDFLAGS) -o $@ $(LOCAL_OBJS) $(CORE_LIB) $(OTHER_OBJS) $(OTHER_LIBS) -lc -lm $(LINKER_SCRIPTS)
14431443

14441444
$(CORE_LIB): $(CORE_OBJS) $(LIB_OBJS) $(PLATFORM_LIB_OBJS) $(USER_LIB_OBJS)
14451445
$(AR) rcs $@ $(CORE_OBJS) $(LIB_OBJS) $(PLATFORM_LIB_OBJS) $(USER_LIB_OBJS)

Teensy.mk

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ endif
3434
include $(ARDMK_DIR)/Common.mk
3535

3636
ARDMK_VENDOR = teensy
37-
ARDUINO_CORE_PATH = $(ARDUINO_DIR)/hardware/teensy/cores/teensy3
38-
BOARDS_TXT = $(ARDUINO_DIR)/hardware/$(ARDMK_VENDOR)/boards.txt
37+
ARDUINO_CORE_PATH = $(ARDUINO_DIR)/hardware/teensy/avr/cores/teensy3
38+
BOARDS_TXT = $(ARDUINO_DIR)/hardware/$(ARDMK_VENDOR)/avr/boards.txt
3939

4040
ifndef F_CPU
4141
F_CPU=96000000
@@ -152,11 +152,26 @@ ifeq ("$(call PARSE_TEENSY,$(BOARD_TAG),build.elide_constructors)", "true")
152152
CXXFLAGS += -felide-constructors
153153
endif
154154

155-
LDFLAGS += $(call PARSE_TEENSY,$(BOARD_TAG),build.linkoption) $(call PARSE_TEENSY,$(BOARD_TAG),build.additionalobject)
155+
CXXFLAGS += $(call PARSE_TEENSY,$(BOARD_TAG),build.flags.common)
156+
CXXFLAGS += $(call PARSE_TEENSY,$(BOARD_TAG),build.flags.cpu)
157+
CXXFLAGS += $(call PARSE_TEENSY,$(BOARD_TAG),build.flags.defs)
158+
CXXFLAGS += $(call PARSE_TEENSY,$(BOARD_TAG),build.flags.cpp)
156159

157-
ifneq ("$(call PARSE_TEENSY,$(BOARD_TAG),build.linkscript)",)
158-
LDFLAGS += -T$(ARDUINO_CORE_PATH)/$(call PARSE_TEENSY,$(BOARD_TAG),build.linkscript)
159-
endif
160+
CFLAGS += $(call PARSE_TEENSY,$(BOARD_TAG),build.flags.common)
161+
CFLAGS += $(call PARSE_TEENSY,$(BOARD_TAG),build.flags.cpu)
162+
CFLAGS += $(call PARSE_TEENSY,$(BOARD_TAG),build.flags.defs)
163+
164+
ASFLAGS += $(call PARSE_TEENSY,$(BOARD_TAG),build.flags.common)
165+
ASFLAGS += $(call PARSE_TEENSY,$(BOARD_TAG),build.flags.cpu)
166+
ASFLAGS += $(call PARSE_TEENSY,$(BOARD_TAG),build.flags.defs)
167+
ASFLAGS += $(call PARSE_TEENSY,$(BOARD_TAG),build.flags.S)
168+
169+
LDFLAGS += $(call PARSE_TEENSY,$(BOARD_TAG),build.flags.cpu)
170+
171+
AMCU := $(call PARSE_TEENSY,$(BOARD_TAG),build.mcu)
172+
LDFLAGS += -Wl,--gc-sections,--relax
173+
LINKER_SCRIPTS = -T${ARDUINO_CORE_PATH}/${AMCU}.ld
174+
OTHER_LIBS = $(call PARSE_TEENSY,$(BOARD_TAG),build.flags.libs)
160175

161176
########################################################################
162177
# 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
171186
# automatially include Arduino.mk for the user
172187

173188
include $(ARDMK_DIR)/Arduino.mk
189+

0 commit comments

Comments
 (0)