From edd2025baa3699175bc9b57b29f94af79cba20c5 Mon Sep 17 00:00:00 2001 From: Doug Schaefer Date: Tue, 20 Oct 2015 21:12:11 -0400 Subject: [PATCH] Bug 480253 - fix look up of menu properties for boards Also removes the old arduino.mk file. The new system works pretty well. Change-Id: I8a954af055e162ed88eebb69c1812e77a6b74f0b --- .../build/ArduinoBuildConfiguration.java | 2 +- .../templates/arduino.mk | 160 ------------------ 2 files changed, 1 insertion(+), 161 deletions(-) delete mode 100644 toolchains/arduino/org.eclipse.cdt.arduino.core/templates/arduino.mk diff --git a/toolchains/arduino/org.eclipse.cdt.arduino.core/src/org/eclipse/cdt/arduino/core/internal/build/ArduinoBuildConfiguration.java b/toolchains/arduino/org.eclipse.cdt.arduino.core/src/org/eclipse/cdt/arduino/core/internal/build/ArduinoBuildConfiguration.java index 5d6765a6ff4..f8d728cca35 100644 --- a/toolchains/arduino/org.eclipse.cdt.arduino.core/src/org/eclipse/cdt/arduino/core/internal/build/ArduinoBuildConfiguration.java +++ b/toolchains/arduino/org.eclipse.cdt.arduino.core/src/org/eclipse/cdt/arduino/core/internal/build/ArduinoBuildConfiguration.java @@ -247,7 +247,7 @@ public class ArduinoBuildConfiguration { HierarchicalProperties menus = board.getMenus(); if (menus != null) { for (String menuId : menus.getChildren().keySet()) { - String value = settings.get(ArduinoBoard.MENU_QUALIFIER, ""); //$NON-NLS-1$ + String value = settings.get(ArduinoBoard.MENU_QUALIFIER + menuId, ""); //$NON-NLS-1$ if (!value.isEmpty()) { properties.putAll(board.getMenuProperties(menuId, value)); } diff --git a/toolchains/arduino/org.eclipse.cdt.arduino.core/templates/arduino.mk b/toolchains/arduino/org.eclipse.cdt.arduino.core/templates/arduino.mk deleted file mode 100644 index ea72dbc6427..00000000000 --- a/toolchains/arduino/org.eclipse.cdt.arduino.core/templates/arduino.mk +++ /dev/null @@ -1,160 +0,0 @@ -ifeq ($(BOARD),uno) -ARCH = avr -BUILD_CORE = arduino -BUILD_VARIANT = standard -BUILD_MCU = atmega328p -BUILD_F_CPU = 16000000L -BUILD_BOARD = AVR_UNO -LOADER = avrdude -LOADER_PROTOCOL = arduino -LOADER_SPEED = 115200 -LOADER_MAX_SIZE = 32256 -LOADER_MAX_DATA = 2048 -endif - -VERSION = 164 - -ifeq ($(ARCH),avr) -CXXFLAGS = -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -MMD \ - -mmcu=$(BUILD_MCU) -DF_CPU=$(BUILD_F_CPU) -DARDUINO=$(VERSION) -DARDUINO_$(BUILD_BOARD) -DARDUINO_ARCH_AVR $(INCLUDES) -CFLAGS = -g -Os -w -ffunction-sections -fdata-sections -MMD \ - -mmcu=$(BUILD_MCU) -DF_CPU=$(BUILD_F_CPU) -DARDUINO=156 -DARDUINO_$(BUILD_BOARD) -DARDUINO_ARCH_AVR $(INCLUDES) - -CXX = avr-g++ -CC = avr-gcc -AR = avr-ar -OBJCOPY = avr-objcopy - -define do_link -$(CC) -Os -Wl,--gc-sections -mmcu=$(BUILD_MCU) -o $(OUTPUT_DIR)/$(EXE).elf $^ -avr-objcopy -O ihex -R .eeprom $(OUTPUT_DIR)/$(EXE).elf $(OUTPUT_DIR)/$(EXE).hex -$(do_link_extra) -avr-size $(OUTPUT_DIR)/$(EXE).elf -@echo Max text: $(LOADER_MAX_SIZE) -@echo Max data + bss: $(LOADER_MAX_DATA) -endef - -define do_eeprom -avr-objcopy -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load \ - --no-change-warnings --change-section-lma .eeprom=0 \ - $(OUTPUT_DIR)/$(EXE).elf $(OUTPUT_DIR)/$(EXE).eep -endef - -define do_load_avrdude -avrdude -C"$(ARDUINO_HOME)/hardware/tools/avr/etc/avrdude.conf" -p$(BUILD_MCU) -c$(LOADER_PROTOCOL) \ - -P$(SERIAL_PORT) -b$(LOADER_SPEED) -D "-Uflash:w:$(OUTPUT_DIR)/$(EXE).hex:i" -endef - -endif # ARCH = avr - -space := -space += -spacify = $(subst $(space),\$(space),$1) - -ifeq ($(OS),Windows_NT) -RMDIR = rmdir /s /q -fixpath = $(subst /,\,$1) -mymkdir = if not exist "$(call fixpath,$1)" mkdir $(call fixpath,$1) -else -RMDIR = rm -fr -fixpath = $1 -mymkdir = mkdir -p $1 -endif - -src_recurse = $(foreach d,$(subst $2/,,$(wildcard $1*)),$(call src_recurse,$3/$d/,$2,$3) $(filter %.c %.cpp,$d)) -src = $(foreach lib,$3,$(if $(wildcard $2/$(lib)/src),$(call src_recurse,$2/$(lib)/src/,$1,$2),\ - $(subst $1/,,\ - $(wildcard $2/$(lib)/*.c)\ - $(wildcard $2/$(lib)/*.cpp)\ - $(wildcard $2/$(lib)/utility/*.c)\ - $(wildcard $2/$(lib)/utility/*.cpp))))) -objs = $(patsubst %.c,$2/%.o,$(filter %.c,$1)) $(patsubst %.cpp,$2/%.o,$(filter %.cpp,$1)) -incs = $(foreach lib,$1,$(if $(wildcard $3/$(lib)/src),-I"$2/$(lib)/src",-I"$2/$(lib)" -I"$2/$(lib)/utility")) - -PROJECT_OBJS = $(call objs,$(call src_recurse,./,.,.),$(OUTPUT_DIR)/src) - -LIB_ROOT = $(ARDUINO_HOME)/hardware/arduino/$(ARCH)/cores/$(BUILD_CORE) -LIB_ROOT_SPC = $(call spacify,$(LIB_ROOT)) -LIB_ROOT_SPC2 = $(subst :,\:,$(subst \,\\\,$(LIB_ROOT_SPC))) -LIB_OBJS = $(call objs,$(call src_recurse,$(LIB_ROOT_SPC)/,$(LIB_ROOT),$(LIB_ROOT_SPC)),$(OUTPUT_DIR)/lib) - -USER_LIB_ROOT = $(ARDUINO_USER_LIBS) -USER_LIB_ROOT_SPC = $(call spacify,$(USER_LIB_ROOT)) -USER_LIB_ROOT_SPC2 = $(subst :,\:,$(subst \,\\\,$(USER_LIB_ROOT_SPC))) -USER_LIBS = $(foreach lib,$(LIBS),$(subst $(USER_LIB_ROOT)/,,$(wildcard $(USER_LIB_ROOT_SPC)/$(lib)))) -USER_INCLUDES = $(call incs,$(USER_LIBS),$(USER_LIB_ROOT),$(USER_LIB_ROOT_SPC)) -USER_OBJS = $(call objs,$(call src,$(USER_LIB_ROOT),$(USER_LIB_ROOT_SPC),$(USER_LIBS)),$(OUTPUT_DIR)/user) - -HW_LIB_ROOT = $(ARDUINO_HOME)/hardware/arduino/$(ARCH)/libraries -HW_LIB_ROOT_SPC = $(call spacify,$(HW_LIB_ROOT)) -HW_LIB_ROOT_SPC2 = $(subst :,\:,$(subst \,\\\,$(HW_LIB_ROOT_SPC))) -HW_LIBS = $(foreach lib, $(LIBS), $(subst $(HW_LIB_ROOT)/,,$(wildcard $(HW_LIB_ROOT_SPC)/$(lib)))) -HW_INCLUDES = $(call incs,$(HW_LIBS),$(HW_LIB_ROOT),$(HW_LIB_ROOT_SPC)) -HW_OBJS = $(call objs,$(call src,$(HW_LIB_ROOT),$(HW_LIB_ROOT_SPC),$(HW_LIBS)),$(OUTPUT_DIR)/hw) - -ARDUINO_LIB_ROOT = $(ARDUINO_HOME)/libraries -ARDUINO_LIB_ROOT_SPC = $(call spacify,$(ARDUINO_LIB_ROOT)) -ARDUINO_LIB_ROOT_SPC2 = $(subst :,\:,$(subst \,\\\,$(ARDUINO_LIB_ROOT_SPC))) -ARDUINO_LIBS = $(foreach lib, $(LIBS), $(subst $(ARDUINO_LIB_ROOT)/,,$(wildcard $(ARDUINO_LIB_ROOT_SPC)/$(lib)))) -ARDUINO_INCLUDES = $(call incs,$(ARDUINO_LIBS),$(ARDUINO_LIB_ROOT),$(ARDUINO_LIB_ROOT_SPC)) -ARDUINO_OBJS = $(call objs,$(call src,$(ARDUINO_LIB_ROOT),$(ARDUINO_LIB_ROOT_SPC),$(ARDUINO_LIBS)),$(OUTPUT_DIR)/arduino) - -INCLUDES = -I"$(ARDUINO_HOME)/hardware/arduino/$(ARCH)/cores/$(BUILD_CORE)" \ - -I"$(ARDUINO_HOME)/hardware/arduino/$(ARCH)/variants/$(BUILD_VARIANT)" \ - $(USER_INCLUDES) $(HW_INCLUDES) $(ARDUINO_INCLUDES) - -OBJS = $(PROJECT_OBJS) $(USER_OBJS) $(HW_OBJS) $(ARDUINO_OBJS) - -all: $(OUTPUT_DIR)/$(EXE).hex - -clean: - $(RMDIR) $(call fixpath,$(OUTPUT_DIR)) - -load: $(OUTPUT_DIR)/$(EXE).hex - $(do_load_$(LOADER)) - -$(OUTPUT_DIR)/$(EXE).hex: $(OBJS) $(OUTPUT_DIR)/core.a - $(do_link) - -$(OUTPUT_DIR)/core.a: $(LIB_OBJS) - $(AR) r $@ $? - -$(OUTPUT_DIR)/lib/%.o: $(LIB_ROOT_SPC2)/%.c - @-$(call mymkdir,$(dir $@)) - $(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ "$<" - -$(OUTPUT_DIR)/lib/%.o: $(LIB_ROOT_SPC2)/%.cpp - @-$(call mymkdir,$(dir $@)) - $(CXX) -c $(CXXFLAGS) $(CPPFLAGS) -o $@ "$<" - -$(OUTPUT_DIR)/user/%.o: $(USER_LIB_ROOT_SPC2)/%.c - @-$(call mymkdir,$(dir $@)) - $(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ "$<" - -$(OUTPUT_DIR)/user/%.o: $(USER_LIB_ROOT_SPC2)/%.cpp - @-$(call mymkdir,$(dir $@)) - $(CXX) -c $(CXXFLAGS) $(CPPFLAGS) -o $@ "$<" - -$(OUTPUT_DIR)/hw/%.o: $(HW_LIB_ROOT_SPC2)/%.c - @-$(call mymkdir,$(dir $@)) - $(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ "$<" - -$(OUTPUT_DIR)/hw/%.o: $(HW_LIB_ROOT_SPC2)/%.cpp - @-$(call mymkdir,$(dir $@)) - $(CXX) -c $(CXXFLAGS) $(CPPFLAGS) -o $@ "$<" - -$(OUTPUT_DIR)/arduino/%.o: $(ARDUINO_LIB_ROOT_SPC2)/%.c - @-$(call mymkdir,$(dir $@)) - $(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ "$<" - -$(OUTPUT_DIR)/arduino/%.o: $(ARDUINO_LIB_ROOT_SPC2)/%.cpp - @-$(call mymkdir,$(dir $@)) - $(CXX) -c $(CXXFLAGS) $(CPPFLAGS) -o $@ "$<" - -$(OUTPUT_DIR)/src/%.o: %.c - @-$(call mymkdir,$(dir $@)) - $(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ $< - -$(OUTPUT_DIR)/src/%.o: %.cpp - @-$(call mymkdir,$(dir $@)) - $(CXX) -c $(CXXFLAGS) $(CPPFLAGS) -o $@ $<