Merge pull request #643 from soburi/define_board_macro

Add -DARDUINO_{build.board} and -DARDUINO_VARIANT for compile options
This commit is contained in:
Simon John 2020-10-20 09:13:50 +01:00 committed by GitHub
commit e39a026014
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 33 additions and 1 deletions

View file

@ -674,6 +674,16 @@ ifeq ($(strip $(NO_CORE)),)
$(call show_config_variable,VARIANT,[USER]) $(call show_config_variable,VARIANT,[USER])
endif endif
ifndef BOARD
BOARD := $(call PARSE_BOARD,$(BOARD_TAG),build.board)
ifndef BOARD
BOARD := $(shell echo $(ARCHITECTURE)_$(BOARD_TAG) | tr '[:lower:]' '[:upper:]')
endif
$(call show_config_variable,BOARD,[COMPUTED],(from build.board))
else
$(call show_config_variable,BOARD,[USER])
endif
# see if we are a caterina device like leonardo or micro # see if we are a caterina device like leonardo or micro
CATERINA := $(findstring caterina,$(call PARSE_BOARD,$(BOARD_TAG),menu.(chip|cpu).$(BOARD_SUB).bootloader.file)) CATERINA := $(findstring caterina,$(call PARSE_BOARD,$(BOARD_TAG),menu.(chip|cpu).$(BOARD_SUB).bootloader.file))
ifndef CATERINA ifndef CATERINA
@ -1162,7 +1172,8 @@ else
endif endif
# Using += instead of =, so that CPPFLAGS can be set per sketch level # 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) \ CPPFLAGS += -$(MCU_FLAG_NAME)=$(MCU) -DF_CPU=$(F_CPU) -DARDUINO=$(ARDUINO_VERSION) -DARDUINO_$(BOARD) $(ARDUINO_ARCH_FLAG) \
"-DARDUINO_BOARD=\"$(BOARD)\"" "-DARDUINO_VARIANT=\"$(VARIANT)\"" \
-I$(ARDUINO_CORE_PATH) -I$(ARDUINO_CORE_PATH)/api -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 \ $(SYS_INCLUDES) $(PLATFORM_INCLUDES) $(USER_INCLUDES) -Wall -ffunction-sections \
-fdata-sections -fdata-sections

View file

@ -35,6 +35,7 @@ I tried to give credit whenever possible. If I have missed anyone, kindly add it
- New: Add support for Robotis OpenCR 1.0 boards. - New: Add support for Robotis OpenCR 1.0 boards.
- New: Build the ArduinoCore API - New: Build the ArduinoCore API
- New: Support for Python 3 and multi-os Python installation using new PYTHON_CMD variable. - New: Support for Python 3 and multi-os Python installation using new PYTHON_CMD variable.
- New: Add "ARDUINO_{build.board}" to be able to detect board type.
### 1.6.0 (2017-07-11) ### 1.6.0 (2017-07-11)
- Fix: Allowed for SparkFun's weird usb pid/vid submenu shenanigans (issue #499). (https://github.com/sej7278) - Fix: Allowed for SparkFun's weird usb pid/vid submenu shenanigans (issue #499). (https://github.com/sej7278)

View file

@ -583,6 +583,26 @@ CORE = tiny
---- ----
### BOARD
**Description:**
Board identifier that passes to a compile option as -DARDUINO_$(BOARD).
Usually can be auto-detected as `build.board` from `boards.txt`.
If not found build.board entry, use upper-case converted "$(ARCHITECTURE)_$(BOARD_TAG)".
**Example:**
```Makefile
BOARD = AVR_LEONARD
```
**Requirement:** *Optional*
----
### VARIANT ### VARIANT
**Description:** **Description:**