aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Arduino.mk26
-rw-r--r--chipKIT.mk27
2 files changed, 31 insertions, 22 deletions
diff --git a/Arduino.mk b/Arduino.mk
index df5ec03..c684d2f 100644
--- a/Arduino.mk
+++ b/Arduino.mk
@@ -354,7 +354,8 @@ endif
ifndef AVR_TOOLS_DIR
- BUNDLED_AVR_TOOLS_DIR := $(call dir_if_exists,$(ARDUINO_DIR)/hardware/tools/avr)
+ BUNDLED_AVR_TOOLS_DIR ?= $(call dir_if_exists,$(ARDUINO_DIR)/hardware/tools/avr)
+
ifdef BUNDLED_AVR_TOOLS_DIR
AVR_TOOLS_DIR = $(BUNDLED_AVR_TOOLS_DIR)
$(call show_config_variable,AVR_TOOLS_DIR,[BUNDLED],(in Arduino distribution))
@@ -708,15 +709,20 @@ TARGET_EEP = $(OBJDIR)/$(TARGET).eep
TARGETS = $(OBJDIR)/$(TARGET).*
CORE_LIB = $(OBJDIR)/libcore.a
-# Names of executables
-CC = $(AVR_TOOLS_PATH)/$(CC_NAME)
-CXX = $(AVR_TOOLS_PATH)/$(CXX_NAME)
-AS = $(AVR_TOOLS_PATH)/$(AS_NAME)
-OBJCOPY = $(AVR_TOOLS_PATH)/$(OBJCOPY_NAME)
-OBJDUMP = $(AVR_TOOLS_PATH)/$(OBJDUMP_NAME)
-AR = $(AVR_TOOLS_PATH)/$(AR_NAME)
-SIZE = $(AVR_TOOLS_PATH)/$(SIZE_NAME)
-NM = $(AVR_TOOLS_PATH)/$(NM_NAME)
+# Names of executables - chipKIT needs to override all to set paths to PIC32
+# tools, and we can't use "?=" assignment because these are already implicitly
+# defined by Make (e.g. $(CC) == cc).
+ifndef OVERRIDE_EXECUTABLES
+ CC = $(AVR_TOOLS_PATH)/$(CC_NAME)
+ CXX = $(AVR_TOOLS_PATH)/$(CXX_NAME)
+ AS = $(AVR_TOOLS_PATH)/$(AS_NAME)
+ OBJCOPY = $(AVR_TOOLS_PATH)/$(OBJCOPY_NAME)
+ OBJDUMP = $(AVR_TOOLS_PATH)/$(OBJDUMP_NAME)
+ AR = $(AVR_TOOLS_PATH)/$(AR_NAME)
+ SIZE = $(AVR_TOOLS_PATH)/$(SIZE_NAME)
+ NM = $(AVR_TOOLS_PATH)/$(NM_NAME)
+endif
+
REMOVE = rm -rf
MV = mv -f
CAT = cat
diff --git a/chipKIT.mk b/chipKIT.mk
index f3ac4cb..1adfda2 100644
--- a/chipKIT.mk
+++ b/chipKIT.mk
@@ -57,21 +57,13 @@ ifndef MPIDE_PREFERENCES_PATH
endif
endif
-
-AVR_TOOLS_DIR = $(ARDUINO_DIR)/hardware/pic32/compiler/pic32-tools
-
-# The same as in Arduino, the Linux distribution contains avrdude and
-# avrdude.conf in a different location.
ifeq ($(CURRENT_OS),LINUX)
- AVRDUDE_DIR = $(ARDUINO_DIR)/hardware/tools
- AVRDUDE = $(AVRDUDE_DIR)/avrdude
- AVRDUDE_CONF = $(AVRDUDE_DIR)/avrdude.conf
-else
- AVRDUDE_DIR = $(ARDUINO_DIR)/hardware/tools/avr
- AVRDUDE = $(AVRDUDE_DIR)/bin/avrdude
- AVRDUDE_CONF = $(AVRDUDE_DIR)/etc/avrdude.conf
+ BUNDLED_AVR_TOOLS_DIR = $(call dir_if_exists,$(MPIDE_DIR)/hardware/tools)
endif
+PIC32_TOOLS_DIR = $(ARDUINO_DIR)/hardware/pic32/compiler/pic32-tools
+PIC32_TOOLS_PATH = $(PIC32_TOOLS_DIR)/bin
+
ALTERNATE_CORE = pic32
ALTERNATE_CORE_PATH = $(MPIDE_DIR)/hardware/pic32
ARDUINO_CORE_PATH = $(ALTERNATE_CORE_PATH)/cores/$(ALTERNATE_CORE)
@@ -88,6 +80,17 @@ AR_NAME = pic32-ar
OBJDUMP_NAME = pic32-objdump
OBJCOPY_NAME = pic32-objcopy
SIZE_NAME = pic32-size
+NM_NAME = pic32-nm
+
+OVERRIDE_EXECUTABLES = 1
+CC = $(PIC32_TOOLS_PATH)/$(CC_NAME)
+CXX = $(PIC32_TOOLS_PATH)/$(CXX_NAME)
+AS = $(PIC32_TOOLS_PATH)/$(AS_NAME)
+OBJCOPY = $(PIC32_TOOLS_PATH)/$(OBJCOPY_NAME)
+OBJDUMP = $(PIC32_TOOLS_PATH)/$(OBJDUMP_NAME)
+AR = $(PIC32_TOOLS_PATH)/$(AR_NAME)
+SIZE = $(PIC32_TOOLS_PATH)/$(SIZE_NAME)
+NM = $(PIC32_TOOLS_PATH)/$(NM_NAME)
LDSCRIPT = $(call PARSE_BOARD,$(BOARD_TAG),ldscript)
LDSCRIPT_FILE = $(ARDUINO_CORE_PATH)/$(LDSCRIPT)