diff --git a/Arduino.mk b/Arduino.mk index 767f493..508c7ab 100644 --- a/Arduino.mk +++ b/Arduino.mk @@ -836,7 +836,7 @@ endif get_monitor_port = $(if $(wildcard $(DEVICE_PATH)),$(firstword $(wildcard $(DEVICE_PATH))),$(error Arduino port $(DEVICE_PATH) not found!)) # Returns the ISP port (first wildcard expansion) if it exists, otherwise it errors. -get_isp_port = $(if $(wildcard $(ISP_PORT)),$(firstword $(wildcard $(ISP_PORT))),$(error ISP port $(ISP_PORT) not found!)) +get_isp_port = $(if $(wildcard $(ISP_PORT)),$(firstword $(wildcard $(ISP_PORT))),$(if $(findstring Xusb,X$(ISP_PORT)),$(ISP_PORT),$(error ISP port $(ISP_PORT) not found!))) # Command for avr_size: do $(call avr_size,elffile,hexfile) ifneq (,$(findstring AVR,$(shell $(SIZE) --help))) @@ -1075,8 +1075,12 @@ endif AVRDUDE_ISP_OPTS = -c $(ISP_PROG) -b $(AVRDUDE_ISP_BAUDRATE) -ifneq ($(strip $(ISP_PROG)),$(filter $(ISP_PROG), usbasp usbtiny gpio)) - AVRDUDE_ISP_OPTS += -P $(call get_isp_port) +ifndef $(ISP_PORT) + ifneq ($(strip $(ISP_PROG)),$(filter $(ISP_PROG), usbasp usbtiny gpio)) + AVRDUDE_ISP_OPTS += -P $(call get_isp_port) + endif +else + AVRDUDE_ISP_OPTS += -P $(call get_isp_port) endif ifndef ISP_EEPROM diff --git a/HISTORY.md b/HISTORY.md index 469a835..a70ac82 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -13,6 +13,7 @@ I tried to give credit whenever possible. If I have missed anyone, kindly add it - Tweak: Add `OBJDIR` to `arduino-mk-vars.md` (https://github.com/tinyladi) - Tweak: *Beautify* `arduino-mk-vars.md` with code blocks. (https://github.com/tinyladi) - Fix: AVR tools paths for chipKIT in Linux. (https://github.com/peplin) +- Fix: Consider usb or usb:... to be a valid ISP_PORT (https://github.com/geoffholden) ### 1.3.1 (2014-02-04) - Fix: BUNDLED_AVR_TOOLS_DIR is now set properly when using only arduino-core and not the whole arduino package. (https://github.com/sej7278)