From ec1947a7cda724b4de7783a1f74abf31ae59e955 Mon Sep 17 00:00:00 2001 From: Lorenzo Delana Date: Sat, 13 Oct 2018 02:28:32 +0200 Subject: allow to enable AVRDUDE_AUTOERASE_FLASH --- Arduino.mk | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'Arduino.mk') diff --git a/Arduino.mk b/Arduino.mk index 0f34a82..2e324e5 100644 --- a/Arduino.mk +++ b/Arduino.mk @@ -1490,7 +1490,11 @@ endif # -D - Disable auto erase for flash memory # Note: -D is needed for Mega boards. # (See https://github.com/sudar/Arduino-Makefile/issues/114#issuecomment-25011005) -AVRDUDE_ARD_OPTS = -D -c $(AVRDUDE_ARD_PROGRAMMER) -b $(AVRDUDE_ARD_BAUDRATE) -P +ifeq ($(AVRDUDE_AUTOERASE_FLASH), yes) +else + AVRDUDE_ARD_OPTS = -D +endif +AVRDUDE_ARD_OPTS += -c $(AVRDUDE_ARD_PROGRAMMER) -b $(AVRDUDE_ARD_BAUDRATE) -P ifeq ($(CURRENT_OS), WINDOWS) # get_monitor_port checks to see if the monitor port exists, assuming it is # a file. In Windows, avrdude needs the port in the format 'com1' which is -- cgit v1.2.3 From dafdaafabd7929391cf5e0b21509f22bedae5ae4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?SZEDER=20G=C3=A1bor?= Date: Wed, 12 Jun 2019 16:18:28 +0200 Subject: Show the configuration when ARDUINO_QUIET=0 There is a bit of inconsistency between documentation and code regarding the ARDUINO_QUIET variable: 'arduino-mk-vars.md' states that ARDUINO_QUIET "Defaults to `0` (unset/disabled)", but the code only checks whether it's defined or not, and doesn't check whether it's set to '0' or something else. Consequently, having 'ARDUINO_QUIET=0' in the Makefile or running 'make ARDUINO_QUIET=0' contadicts the documentation and doesn't print the configuration. It also means that if someone in general prefers not to see a screenful of configuration on each build and therefore has 'ARDUINO_QUIET = 1' in the project's Makefile or 'config.mak', then there is no way to override it from the command line in the odd case when showing the configuration is desired. Modify the corresponding condition in Arduino.mk to check whether ARDUINO_QUIET is set to 0 and treat an undefined ARDUINO_QUIET variable as "set to 0" as well. --- Arduino.mk | 3 +++ 1 file changed, 3 insertions(+) (limited to 'Arduino.mk') diff --git a/Arduino.mk b/Arduino.mk index 0a0fd75..d9ed05b 100644 --- a/Arduino.mk +++ b/Arduino.mk @@ -241,6 +241,9 @@ arduino_output = # running for the first time (i.e., not after a restart after # regenerating the dependency file), then output the configuration. ifndef ARDUINO_QUIET + ARDUINO_QUIET = 0 +endif +ifeq ($(ARDUINO_QUIET),0) ifeq ($(MAKE_RESTARTS),) ifeq ($(MAKELEVEL),0) arduino_output = $(info $(1)) -- cgit v1.2.3 From d4ae799795d3c1f096d83b94e498715fbf9a1296 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?SZEDER=20G=C3=A1bor?= Date: Mon, 25 Feb 2019 15:21:36 +0100 Subject: Build the ArduinoCore API As part of the big modularizing efforts of the Arduino project they split out the hardware-independent layer of the Arduino "language" from the hardware-specific cores into the dedicated 'ArduinoCore-API' repository. As described in 'ArduinoCore-API's README, the API source files won't reside directly in the directory of the standard Arduino core, i.e. in 'ARDUINO_CORE_PATH', but in its 'ARDUINO_CORE_PATH/api' subdirectory. Consequently, Arduino-Makefile won't be able to build any projects when using an Arduino core following the new directory structure. Prepare for the upcoming new Arduino core directory structure by building all 'ARDUINO_CORE_PATH/api/*.cpp' source files as well. Out of caution, look out for and build any .c source files in that directory, too: though there are no .c source files in the 'ArduinoCore-API' repository at the moment, in the future there might be. Furthermore, add this directory to the list of directories to be searched for header files: though it's not necessary to explicitly and directly include any header file from this directory ('Arduino.h' includes all there is), some projects might nonetheless do so, and their build would then break. Note that a 'make clean' will be most likely necessary when re-building a project after switching to the new directory structure. --- Arduino.mk | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'Arduino.mk') diff --git a/Arduino.mk b/Arduino.mk index d9ed05b..f7011de 100644 --- a/Arduino.mk +++ b/Arduino.mk @@ -925,6 +925,10 @@ ifeq ($(strip $(NO_CORE)),) CORE_CPP_SRCS = $(wildcard $(ARDUINO_CORE_PATH)/*.cpp) CORE_AS_SRCS = $(wildcard $(ARDUINO_CORE_PATH)/*.S) + # ArduinoCore-API + CORE_C_SRCS += $(wildcard $(ARDUINO_CORE_PATH)/api/*.c) + CORE_CPP_SRCS += $(wildcard $(ARDUINO_CORE_PATH)/api/*.cpp) + # USB Core if samd or sam ifeq ($(findstring sam, $(strip $(ARCHITECTURE))), sam) CORE_C_SRCS += $(wildcard $(ARDUINO_CORE_PATH)/avr/*.c) # avr core emulation files @@ -1159,7 +1163,7 @@ endif # Using += instead of =, so that CPPFLAGS can be set per sketch level CPPFLAGS += -$(MCU_FLAG_NAME)=$(MCU) -DF_CPU=$(F_CPU) -DARDUINO=$(ARDUINO_VERSION) $(ARDUINO_ARCH_FLAG) \ - -I$(ARDUINO_CORE_PATH) -I$(ARDUINO_VAR_PATH)/$(VARIANT) \ + -I$(ARDUINO_CORE_PATH) -I$(ARDUINO_CORE_PATH)/api -I$(ARDUINO_VAR_PATH)/$(VARIANT) \ $(SYS_INCLUDES) $(PLATFORM_INCLUDES) $(USER_INCLUDES) -Wall -ffunction-sections \ -fdata-sections -- cgit v1.2.3