Merge branch 'master' of https://github.com/sudar/Arduino-Makefile into update
This commit is contained in:
commit
33eeca3ab6
2 changed files with 19 additions and 12 deletions
28
Arduino.mk
28
Arduino.mk
|
@ -299,7 +299,7 @@ ifndef ARDUINO_VERSION
|
|||
# Remove all the decimals, and right-pad with zeros, and finally grab the first 3 bytes.
|
||||
# Works for 1.0 and 1.0.1
|
||||
VERSION_FILE := $(ARDUINO_DIR)/lib/version.txt
|
||||
AUTO_ARDUINO_VERSION := $(shell [ -e $(VERSION_FILE) ] && cat $(VERSION_FILE) | sed -e 's/^[0-9]://g' -e 's/[.]//g' -e 's/$$/0000/' | head -c3)
|
||||
AUTO_ARDUINO_VERSION := $(shell [ -e "$(VERSION_FILE)" ] && cat "$(VERSION_FILE)" | sed -e 's/^[0-9]://g' -e 's/[.]//g' -e 's/$$/0000/' | head -c3)
|
||||
ifdef AUTO_ARDUINO_VERSION
|
||||
ARDUINO_VERSION = $(AUTO_ARDUINO_VERSION)
|
||||
$(call show_config_variable,ARDUINO_VERSION,[AUTODETECTED])
|
||||
|
@ -331,7 +331,7 @@ ifndef ARDUINO_SKETCHBOOK
|
|||
|
||||
ifneq ($(ARDUINO_PREFERENCES_PATH),)
|
||||
ARDUINO_SKETCHBOOK = $(shell grep --max-count=1 --regexp="sketchbook.path=" \
|
||||
$(ARDUINO_PREFERENCES_PATH) | \
|
||||
"$(ARDUINO_PREFERENCES_PATH)" | \
|
||||
sed -e 's/sketchbook.path=//' )
|
||||
endif
|
||||
|
||||
|
@ -520,7 +520,7 @@ endif
|
|||
|
||||
ifndef PARSE_BOARD
|
||||
# result = $(call READ_BOARD_TXT, 'boardname', 'parameter')
|
||||
PARSE_BOARD = $(shell grep -v "^\#" $(BOARDS_TXT) | grep $(1).$(2) | cut -d = -f 2 )
|
||||
PARSE_BOARD = $(shell grep -v "^\#" "$(BOARDS_TXT)" | grep $(1).$(2) | cut -d = -f 2 )
|
||||
endif
|
||||
|
||||
# If NO_CORE is set, then we don't have to parse boards.txt file
|
||||
|
@ -684,7 +684,7 @@ ifeq ($(strip $(NO_CORE)),)
|
|||
|
||||
CORE_OBJ_FILES = $(CORE_C_SRCS:.c=.o) $(CORE_CPP_SRCS:.cpp=.o) $(CORE_AS_SRCS:.S=.o)
|
||||
CORE_OBJS = $(patsubst $(ARDUINO_CORE_PATH)/%, \
|
||||
$(OBJDIR)/%,$(CORE_OBJ_FILES))
|
||||
$(OBJDIR)/core/%,$(CORE_OBJ_FILES))
|
||||
endif
|
||||
else
|
||||
$(call show_config_info,NO_CORE set so core library will not be built,[MANUAL])
|
||||
|
@ -752,7 +752,6 @@ endif
|
|||
TARGET_HEX = $(OBJDIR)/$(TARGET).hex
|
||||
TARGET_ELF = $(OBJDIR)/$(TARGET).elf
|
||||
TARGET_EEP = $(OBJDIR)/$(TARGET).eep
|
||||
TARGETS = $(OBJDIR)/$(TARGET).*
|
||||
CORE_LIB = $(OBJDIR)/libcore.a
|
||||
|
||||
# Names of executables - chipKIT needs to override all to set paths to PIC32
|
||||
|
@ -866,6 +865,7 @@ LDFLAGS += -$(MCU_FLAG_NAME)=$(MCU) -Wl,--gc-sections -O$(OPTIMIZATION_LEV
|
|||
SIZEFLAGS ?= --mcu=$(MCU) -C
|
||||
|
||||
# for backwards compatibility, grab ARDUINO_PORT if the user has it set
|
||||
# instead of MONITOR_PORT
|
||||
MONITOR_PORT ?= $(ARDUINO_PORT)
|
||||
|
||||
ifeq ($(CURRENT_OS), WINDOWS)
|
||||
|
@ -879,12 +879,16 @@ ifeq ($(CURRENT_OS), WINDOWS)
|
|||
DEVICE_PATH = /dev/ttyS$(shell awk 'BEGIN{ print $(COM_PORT_ID) - 1 }')
|
||||
endif
|
||||
|
||||
ifdef ARDUINO_PORT
|
||||
ifneq ($(strip $(MONITOR_PORT)),)
|
||||
# set DEVICE_PATH based on user-defined MONITOR_PORT or ARDUINO_PORT
|
||||
DEVICE_PATH = $(MONITOR_PORT)
|
||||
$(call show_config_variable,DEVICE_PATH,[COMPUTED],(from MONITOR_PORT))
|
||||
else
|
||||
# If no port is specified, try to guess it from wildcards.
|
||||
# Will only work if the Arduino is the only/first device matched.
|
||||
DEVICE_PATH = $(firstword $(wildcard \
|
||||
/dev/ttyACM? /dev/ttyUSB? /dev/tty.usbserial* /dev/tty.usbmodem*))
|
||||
$(call show_config_variable,DEVICE_PATH,[AUTODETECTED])
|
||||
endif
|
||||
|
||||
# Returns the Arduino port (first wildcard expansion) if it exists, otherwise it errors.
|
||||
|
@ -1012,15 +1016,15 @@ $(OBJDIR)/%.s: %.ino $(COMMON_DEPS) | $(OBJDIR)
|
|||
# $(AS) -$(MCU_FLAG_NAME)=$(MCU) -alhnd $< > $@
|
||||
|
||||
# core files
|
||||
$(OBJDIR)/%.o: $(ARDUINO_CORE_PATH)/%.c $(COMMON_DEPS) | $(OBJDIR)
|
||||
$(OBJDIR)/core/%.o: $(ARDUINO_CORE_PATH)/%.c $(COMMON_DEPS) | $(OBJDIR)
|
||||
@$(MKDIR) $(dir $@)
|
||||
$(CC) -MMD -c $(CPPFLAGS) $(CFLAGS) $< -o $@
|
||||
|
||||
$(OBJDIR)/%.o: $(ARDUINO_CORE_PATH)/%.cpp $(COMMON_DEPS) | $(OBJDIR)
|
||||
$(OBJDIR)/core/%.o: $(ARDUINO_CORE_PATH)/%.cpp $(COMMON_DEPS) | $(OBJDIR)
|
||||
@$(MKDIR) $(dir $@)
|
||||
$(CXX) -MMD -c $(CPPFLAGS) $(CXXFLAGS) $< -o $@
|
||||
|
||||
$(OBJDIR)/%.o: $(ARDUINO_CORE_PATH)/%.S $(COMMON_DEPS) | $(OBJDIR)
|
||||
$(OBJDIR)/core/%.o: $(ARDUINO_CORE_PATH)/%.S $(COMMON_DEPS) | $(OBJDIR)
|
||||
@$(MKDIR) $(dir $@)
|
||||
$(CC) -MMD -c $(CPPFLAGS) $(ASFLAGS) $< -o $@
|
||||
|
||||
|
@ -1250,13 +1254,13 @@ ifneq ($(strip $(AVRDUDE_ISP_FUSES_POST)),)
|
|||
endif
|
||||
|
||||
clean:
|
||||
$(REMOVE) $(LOCAL_OBJS) $(CORE_OBJS) $(LIB_OBJS) $(CORE_LIB) $(TARGETS) $(DEPS) $(USER_LIB_OBJS) ${OBJDIR}
|
||||
$(REMOVE) ./$(OBJDIR)
|
||||
|
||||
size: $(TARGET_HEX)
|
||||
$(call avr_size,$(TARGET_ELF),$(TARGET_HEX))
|
||||
|
||||
show_boards:
|
||||
@$(CAT) $(BOARDS_TXT) | grep -E "^[[:alnum:]]+.name" | sort -uf | sed 's/.name=/:/' | column -s: -t
|
||||
@$(CAT) "$(BOARDS_TXT)" | grep -E "^[[:alnum:]]+.name" | sort -uf | sed 's/.name=/:/' | column -s: -t
|
||||
|
||||
monitor:
|
||||
$(MONITOR_CMD) $(call get_monitor_port) $(MONITOR_BAUDRATE)
|
||||
|
@ -1281,7 +1285,7 @@ generated_assembly: generate_assembly
|
|||
@$(ECHO) "\"generated_assembly\" target is deprecated. Use \"generate_assembly\" target instead\n\n"
|
||||
|
||||
help_vars:
|
||||
@$(CAT) $(ARDMK_DIR)/arduino-mk-vars.md
|
||||
@$(CAT) "$(ARDMK_DIR)/arduino-mk-vars.md"
|
||||
|
||||
help:
|
||||
@$(ECHO) "\nAvailable targets:\n\
|
||||
|
|
|
@ -13,6 +13,9 @@ I tried to give credit whenever possible. If I have missed anyone, kindly add it
|
|||
- Fix: Add missing newlines at end of some echo's (Issue #207) (https://github.com/sej7278)
|
||||
- Fix: Add missing/reorder/reword targets in `make help` (https://github.com/sej7278)
|
||||
- New: Arduino.mk is now compatible with Flymake mode (https://github.com/rbarzic)
|
||||
- Fix: MONITOR_PORT detection (Issue #213, #215) (https://github.com/sej7278)
|
||||
- Tweak: Audited regexes/quoting/wildcards (Issue #192) (https://github.com/sej7278)
|
||||
- New: Build core objects in subdirectory (Issue #82) (https://github.com/sej7278)
|
||||
|
||||
### 1.3.3 (2014-04-12)
|
||||
- Fix: Make a new manpage for ard-reset-arduino. Fixes issue #188 (https://github.com/sej7278)
|
||||
|
|
Loading…
Reference in a new issue