f804866095
Compilation improvements by adding variant as other obj but not working on device Arduino Zero devices with OpenOCD working Created ARM_TOOLS_DIR and define arm toolchain executables in Sam.mk Check avr-gcc on last AVR_TOOLS_DIR detect and indenting formatting GDB debugging and programming added Documentation updates and define ARDMK_VENDOR rather than include Sam.mk Expand all parse_boards when defined rather than when used Trim extra defines regex working on both macOS and Linux but need better fix Print USB ids and added debug usage to readme Add note on Arduino package dir and made board.txt work Do ARM ARDUINO_ARCH define in Arduino.mk] Add MZeroBlink to non-testable examples for now Remove \B from extra defines grep Add ARDUINO_PACKAGE_DIR for board support files Fix a typo in the README Fix typo in arduino-mk-vars.md Prevent re-including Arduino.mk from Sam.mk when make restarts for upload Add catrina to ARD_REST_OPTS if/else Remove realpath in Sam.mk for cygwin compatability SAMD bootloader support in ard-reset using --zero Enters bootloader using open/close of port at 1200 BAUD, then polls the attached devices for new port enumerating (bootloader). This is how the Arduino IDE operates Bossa support for Zero, MKR1000 etc Re-word Arm README section after Native USB development Reset for zero refactored like IDE Zero bootloader reset tested on macOS and comments added Re-word ARM bootloader and remove imports from testing Patch changes ARDMK_VENDOR->ARCHITECHTURE, show_config_vars, ignore CORE_VER if emtpy Common.mk header guard, openocd/bossac avoid separator, typos Documentation update for patch changes Move ARM tools to Sam.mk and auto-detect include Correct accidental commit of Blink Makefile change Lib fix with alternative core and documentation Append zero to ARD_RESET_OPTS rather than set Prioritise package ARM upload tools over path installed Add note in README on ARM tools versions Move openocd variant config script flag to OPTS
1780 lines
26 KiB
Markdown
1780 lines
26 KiB
Markdown
# Documentation of variables
|
|
|
|
The following are the different variables that can be overwritten in the user makefiles.
|
|
|
|
* [Global variables](#global-variables)
|
|
* [Installation/Directory variables](#installationdirectory-variables)
|
|
* [Arduino IDE variables](#arduino-ide-variables)
|
|
* [Sketch related variables](#sketch-related-variables)
|
|
* [ISP programming variables](#isp-programming-variables)
|
|
* [Compiler/Executable variables](#compilerexecutable-variables)
|
|
* [Avrdude setting variables](#avrdude-setting-variables)
|
|
* [Bootloader variables](#bootloader-variables)
|
|
* [ChipKIT variables](#chipkit-variables)
|
|
* [ARM variables](#arm-variables)
|
|
* [Ctags variables](#ctags-variables)
|
|
|
|
## Global variables
|
|
|
|
### ARDUINO_QUIET
|
|
|
|
**Description:**
|
|
|
|
Suppress printing of Arduino-Makefile configuration.
|
|
|
|
Defaults to `0` (unset/disabled).
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
ARDUINO_QUIET = 1
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
## Installation/Directory variables
|
|
|
|
### ARDMK_DIR
|
|
|
|
**Description:**
|
|
|
|
Directory where the `*.mk` files are stored.
|
|
|
|
Usually can be auto-detected as parent of `Arduino.mk`.
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
ARDMK_DIR = /usr/share/arduino
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### AVR_TOOLS_DIR
|
|
|
|
**Description:**
|
|
|
|
Directory where tools such as `avrdude`, `avr-g++`, `avr-gcc`, etc. are stored in the `bin/` subdirectory.
|
|
|
|
Usually can be auto-detected from `$PATH` as `SYSTEMPATH_AVR_TOOLS_DIR` or as `BUNDLED_AVR_TOOLS_DIR` within the Arduino distribution.
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
AVR_TOOLS_DIR = /usr
|
|
# or
|
|
AVR_TOOLS_DIR = /usr/share/arduino/hardware/tools/avr
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### ARM_TOOLS_DIR
|
|
|
|
**Description:**
|
|
|
|
Directory where the arm toolchain is installed. `arm-none-eabi-*` should be
|
|
within a /bin subdirectory.
|
|
|
|
Can usually be detected from `$ARDUINO_PACKAGE_DIR` /tools subdirectory when ARM
|
|
device support is installed.
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
ARM_TOOLS_DIR = /usr
|
|
# or
|
|
ARM_TOOLS_DIR =
|
|
/usr/share/arduino/hardware/tools/arm-none-eabi-gcc/VERSION
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### RESET_CMD
|
|
|
|
**Description:**
|
|
|
|
Command to reset the MCU.
|
|
|
|
Defaults to `ard-reset-arduino` with the extra `--caterina` flag for atmega32u4 boards.
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
RESET_CMD = $(HOME)/gertduino/reset
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
## Arduino IDE variables
|
|
|
|
### ARDUINO_DIR
|
|
|
|
**Description:**
|
|
|
|
Directory where the Arduino IDE and/or core files are stored. Usually can be auto-detected as `AUTO_ARDUINO_DIR`.
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
# Linux
|
|
ARDUINO_DIR = /usr/share/arduino
|
|
# Mac OS X
|
|
ARDUINO_DIR = /Applications/Arduino.app/Contents/Resources/Java
|
|
# Mac OSX with IDE 1.5+
|
|
ARDUINO_DIR = /Applications/Arduino.app/Contents/Java
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### ARDUINO_PACKAGE_DIR
|
|
|
|
**Description:**
|
|
|
|
Directory where the Arduino package support files are stored. Can auto-detect based on default OS IDE locations.
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
# Linux
|
|
ARDUINO_PACKAGE_DIR = $(HOME)/.arduino15/packages
|
|
# Mac OS X
|
|
ARDUINO_PACKAGE_DIR = $(HOME)/Library/Arduino15/packages
|
|
# Windows
|
|
ARDUINO_PACKAGE_DIR = $(USERPROFILE)/AppData/Local/Arduino15/packages
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### ARDUINO_PLATFORM_LIB_PATH
|
|
|
|
**Description:**
|
|
|
|
Directory where the Arduino platform dependent libraries are stored.
|
|
(Used only for Arduino 1.5+)
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
ARDUINO_PLATFORM_LIB_PATH = /usr/share/arduino/hardware/arduino/avr/libraries
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### ARDUINO_VERSION
|
|
|
|
**Description:**
|
|
|
|
Version string for Arduino IDE and/or core.
|
|
|
|
Usually can be auto-detected as `AUTO_ARDUINO_VERSION` from `/usr/share/arduino/lib/version.txt`
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
ARDUINO_VERSION = 105
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### ARCHITECTURE
|
|
|
|
**Description:**
|
|
|
|
Architecture for Arduino 1.5+
|
|
|
|
Defaults to unset for 1.0 or `avr` for 1.5+. This value is not literally the chip architecture but will often be
|
|
the chip series within a vendor's 'hardware' folder. For example, will default to `samd` if using Sam.mk.
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
ARCHITECTURE = arm
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### ARDMK_VENDOR
|
|
|
|
**Description:**
|
|
|
|
Board vendor/maintainer/series.
|
|
|
|
Defaults to `arduino`.
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
ARDMK_VENDOR = sparkfun
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### ARDUINO_SKETCHBOOK
|
|
|
|
**Description:**
|
|
|
|
Path to `sketchbook` directory.
|
|
|
|
Usually can be auto-detected from the Arduino `preferences.txt` file or the default `$(HOME)/sketchbook`
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
ARDUINO_SKETCHBOOK = $(HOME)/sketches
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### ARDUINO_PREFERENCES_PATH
|
|
|
|
**Description:**
|
|
|
|
Path to Arduino `preferences.txt` file.
|
|
|
|
Usually can be auto-detected as `AUTO_ARDUINO_PREFERENCES` from the defaults:
|
|
|
|
* on Linux (1.0): `$(HOME)/.arduino/preferences.txt`
|
|
* on Linux (1.5+): `$(HOME)/.arduino15/preferences.txt`
|
|
* on Mac OS X (1.0): `$(HOME)/Library/Arduino/preferences.txt`
|
|
* on Mac OS X (1.5+): `$(HOME)/Library/Arduino15/preferences.txt`
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
ARDUINO_PREFERENCES_PATH = $(HOME)/sketches/preferences.txt
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### ARDUINO_CORE_PATH
|
|
|
|
**Description:**
|
|
|
|
Path to standard Arduino core files.
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
ARDUINO_CORE_PATH = /usr/share/arduino/hardware/arduino/cores/arduino
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
## Sketch related variables
|
|
|
|
### ARDUINO_LIBS
|
|
|
|
**Description:**
|
|
|
|
Any libraries you intend to include.
|
|
|
|
Usually can be auto-detected from the sketch. Separated by spaces. If the library has a `/utility` folder (like `SD` or `Wire` library), then the utility folder should also be specified.
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
ARDUINO_LIBS = SD SD/utility Wire Wire/utility
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### BOARD_TAG
|
|
|
|
**Description:**
|
|
|
|
Device type as listed in `boards.txt` or `make show_boards`.
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
BOARD_TAG = uno or mega2560
|
|
```
|
|
|
|
**Requirement:** *Mandatory*
|
|
|
|
----
|
|
|
|
### BOARD_SUB
|
|
|
|
**Description:**
|
|
|
|
1.5+ submenu as listed in `boards.txt` or `make show_submenu`.
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
# diecimila.name=Arduino Duemilanove or Diecimila
|
|
BOARD_TAG=diecimila
|
|
|
|
# diecimila.menu.cpu.atmega168=ATmega168
|
|
BOARD_SUB=atmega168
|
|
```
|
|
|
|
**Requirement:** *Mandatory for 1.5+ if using a submenu CPU*
|
|
|
|
----
|
|
|
|
### MONITOR_PORT
|
|
|
|
**Description:**
|
|
|
|
Path to serial (USB) device used for uploading/serial comms.
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
# Linux
|
|
MONITOR_PORT = /dev/ttyUSB0
|
|
# or
|
|
MONITOR_PORT = /dev/ttyACM0
|
|
# Mac OS X
|
|
MONITOR_PORT = /dev/cu.usb*
|
|
# Windows
|
|
MONITOR_PORT = com3
|
|
```
|
|
|
|
**Requirement:** *Mandatory*
|
|
|
|
----
|
|
|
|
### FORCE_MONITOR_PORT
|
|
|
|
**Description:**
|
|
|
|
Skip the MONITOR_PORT existance check.
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
# Enable
|
|
FORCE_MONITOR_PORT = true
|
|
# Disable (default)
|
|
undefine FORCE_MONITOR_PORT
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### USER_LIB_PATH
|
|
|
|
**Description:**
|
|
|
|
Directory where additional libraries are stored.
|
|
|
|
Defaults to `libraries` directory within user's sketchbook.
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
# Linux
|
|
USER_LIB_PATH = $(HOME)/sketchbook/libraries
|
|
# For a random project on *nix
|
|
USER_LIB_PATH = /path/to/my/project
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### OBJDIR
|
|
|
|
**Description:**
|
|
|
|
Directory where binaries and compiled files are put.
|
|
|
|
Defaults to `build-$(BOARD_TAG)` in your `Makefile` directory.
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
OBJDIR = /path/to/my/project-directory/bin
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### TARGET
|
|
|
|
**Description:**
|
|
|
|
What name you would like for generated target files.
|
|
|
|
Defaults to the name of your current working directory, but with underscores (_) instead of spaces.
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
TARGET = my-project
|
|
```
|
|
|
|
Will generate targets like `my-project.hex` and `my-project.elf`.
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### ALTERNATE_CORE
|
|
|
|
**Description:**
|
|
|
|
Non-standard core for Arduino-unsupported chips like the ATtiny.
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
# HLT core
|
|
ALTERNATE_CORE = attiny-master
|
|
# tiny core
|
|
ALTERNATE_CORE = arduino-tiny
|
|
# tiny core 2
|
|
ALTERNATE_CORE = tiny2
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### ARDUINO_VAR_PATH
|
|
|
|
**Description:**
|
|
|
|
Path to non-standard core's variant files.
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
ARDUINO_VAR_PATH = $(HOME)/sketchbook/hardware/arduino-tiny/cores/tiny
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### CORE
|
|
|
|
**Description:**
|
|
|
|
Name of the core *inside* the ALTERNATE_CORE or the standard core.
|
|
|
|
Usually can be auto-detected as `build.core` from `boards.txt`.
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
# standard Arduino core (undefine ALTERNATE_CORE)
|
|
CORE = arduino
|
|
# or
|
|
CORE = robot
|
|
# tiny core (ALTERNATE_CORE = arduino-tiny)
|
|
CORE = tiny
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### VARIANT
|
|
|
|
**Description:**
|
|
|
|
Variant of a standard board design.
|
|
|
|
Usually can be auto-detected as `build.variant` from `boards.txt`.
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
VARIANT = leonardo
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### USB_TYPE
|
|
|
|
**Description:**
|
|
|
|
Define Teensy 3.1 usb device type. Default is USB_SERIAL
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
USB_TYPE = USB_SERIAL
|
|
# or
|
|
USB_TYPE = USB_HID
|
|
# or
|
|
USB_TYPE = USB_SERIAL_HID
|
|
# or
|
|
USB_TYPE = USB_MIDI
|
|
# or
|
|
USB_TYPE = USB_RAWHID
|
|
# or
|
|
USB_TYPE = USB_FLIGHTSIM
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### USB_VID
|
|
|
|
**Description:**
|
|
|
|
Override `USB VID` for atmega32u4 boards.
|
|
|
|
Usually can be auto-detected as `build.vid` from `boards.txt`
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
USB_VID = 0x2341
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### USB_PID
|
|
|
|
**Description:**
|
|
|
|
Override `USB PID` for atmega32u4 boards.
|
|
|
|
Usually can be auto-detected as `build.pid` from `boards.txt`
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
USB_PID = 0x8039
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### F_CPU
|
|
|
|
**Description:**
|
|
|
|
CPU speed in Hz
|
|
|
|
Usually can be auto-detected as `build.f_cpu` from `boards.txt`, except in
|
|
some 1.5+ cores like attiny where there is a clock submenu.
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
F_CPU = 8000000L
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### HEX_MAXIMUM_SIZE
|
|
|
|
**Description:**
|
|
|
|
Maximum hex file size
|
|
|
|
Usually can be auto-detected as `upload.maximum_size` from `boards.txt`
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
HEX_MAXIMUM_SIZE = 14336
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### MCU
|
|
|
|
**Description:**
|
|
|
|
Microcontroller model.
|
|
|
|
Usually can be auto-detected as `build.mcu` from `boards.txt`
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
MCU = atmega32u4
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### MCU_FLAG_NAME
|
|
|
|
**Description:**
|
|
|
|
Override default MCU flags.
|
|
|
|
Defaults to `mmcu`
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
MCU_FLAG_NAME = mprocessor
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### MONITOR_BAUDRATE
|
|
|
|
**Description:**
|
|
|
|
Baudrate of the serial monitor.
|
|
|
|
Defaults to `9600` if it can't find it in the sketch `Serial.begin()`
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
MONITOR_BAUDRATE = 57600
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
## ISP programming variables
|
|
|
|
### ISP_PROG
|
|
|
|
**Description:**
|
|
|
|
Type of ISP. Either a USB device or ArduinoISP protocol.
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
ISP_PROG = usbasp
|
|
# or
|
|
ISP_PROG = usbtiny
|
|
# or
|
|
ISP_PROG = stk500v2
|
|
# or
|
|
ISP_PROG = stk500v1
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### ISP_PORT
|
|
|
|
**Description:**
|
|
|
|
Device path to ArduinoISP. Not needed for hardware ISP's. Also used to define
|
|
bootloader port on SAMD devices.
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
# Linux
|
|
ISP_PORT = /dev/ttyACM0
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### ISP_LOCK_FUSE_PRE
|
|
|
|
**Description:**
|
|
|
|
Bootloader unlock bits.
|
|
|
|
Usually can be auto-detected from `boards.txt`
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
ISP_LOCK_FUSE_PRE = 0x3f
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### ISP_LOCK_FUSE_POST
|
|
|
|
**Description:**
|
|
|
|
Bootloader lock bits.
|
|
|
|
Usually can be auto-detected from `boards.txt`
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
ISP_LOCK_FUSE_POST = 0xcf
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### ISP_HIGH_FUSE
|
|
|
|
**Description:**
|
|
|
|
`ISP_LOW_FUSE/ISP_EXT_FUSE` - high/low/extended fuse bits.
|
|
|
|
Usually can be auto-detected from `boards.txt`
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
ISP_HIGH_FUSE = 0xdf # or 0xff or 0x01
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### ISP_EEPROM
|
|
|
|
**Description:**
|
|
|
|
Whether to upload the EEPROM file or not.
|
|
|
|
Defaults to `0`
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
ISP_EEPROM = 1
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
## Compiler/Executable variables
|
|
|
|
### CC_NAME
|
|
|
|
**Description:**
|
|
|
|
C compiler.
|
|
|
|
Defaults to `avr-gcc`
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
CC_NAME = pic32-gcc
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### CXX_NAME
|
|
|
|
**Description:**
|
|
|
|
C++ compiler.
|
|
|
|
Defaults to `avr-g++`
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
CXX_NAME = pic32-g++
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### OBJCOPY_NAME
|
|
|
|
**Description:**
|
|
|
|
Objcopy utility.
|
|
|
|
Defaults to `avr-objcopy`
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
OBJCOPY_NAME = pic32-objcopy
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### OBJDUMP_NAME
|
|
|
|
**Description:**
|
|
|
|
Objdump utility.
|
|
|
|
Defaults to `avr-objdump`
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
OBJDUMP_NAME = pic32-objdump
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### AR_NAME
|
|
|
|
**Description:**
|
|
|
|
Archive utility.
|
|
|
|
Defaults to `avr-ar` unless you're using toolchain > 4.9.0 in which case we use avr-gcc-ar.
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
AR_NAME = pic32-ar
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### SIZE_NAME
|
|
|
|
**Description:**
|
|
|
|
Size utility.
|
|
|
|
Defaults to `avr-size`
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
SIZE_NAME = pic32-size
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### NM_NAME
|
|
|
|
**Description:**
|
|
|
|
Nm utility.
|
|
|
|
Defaults to `avr-nm`
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
NM_NAME = pic32-nm
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### GDB_NAME
|
|
|
|
**Description:**
|
|
|
|
GDB utility.
|
|
|
|
Defaults to `arm-none-eabi-gdb`
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### OPTIMIZATION_LEVEL
|
|
|
|
**Description:**
|
|
|
|
Linker's `-O` flag
|
|
|
|
Defaults to `s`, which shouldn't really be changed as it breaks `SoftwareSerial` and usually results in bigger hex files.
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
OPTIMIZATION_LEVEL = 3
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### OTHER_LIBS
|
|
|
|
**Description:**
|
|
|
|
Additional Linker lib flags, for platform support
|
|
|
|
Defaults to ""
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
OTHER_LIBS = -lsomeplatformlib
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### CFLAGS_STD
|
|
|
|
**Description:**
|
|
|
|
Controls, *exclusively*, which C standard is to be used for compilation.
|
|
|
|
Defaults to `undefined` on 1.0.x or `-std=gnu11` on 1.5+ or if you install AVR toolchain > 4.9.0
|
|
|
|
Possible values:
|
|
|
|
* With `avr-gcc 4.3`, shipped with the 1.0 Arduino IDE:
|
|
* `undefined`
|
|
* `-std=c99`
|
|
* `-std=gnu89` - This is the default for C code
|
|
* `-std=gnu99`
|
|
* With `avr-gcc 4.7, 4.8 or 4.9`, installed by you or 1.5+ IDE:
|
|
* `undefined`
|
|
* `-std=c99`
|
|
* `-std=c11`
|
|
* `-std=gnu89`
|
|
* `-std=gnu99`
|
|
* `-std=gnu11` - This is the default for C code
|
|
|
|
For more information, please refer to the [Options Controlling C Dialect](https://gcc.gnu.org/onlinedocs/gcc/C-Dialect-Options.html)
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
CFLAGS_STD = -std=gnu89
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### CXXFLAGS_STD
|
|
|
|
**Description:**
|
|
|
|
Controls, *exclusively*, which C++ standard is to be used for compilation.
|
|
|
|
Defaults to `undefined` on 1.0 or `-std=gnu++11` on AVR toolchain > 4.9.0 (e.g. IDE 1.6.10+)
|
|
|
|
Possible values:
|
|
|
|
* With `avr-gcc 4.3`, shipped with the 1.0 Arduino IDE:
|
|
* `undefined`
|
|
* `-std=c++98`
|
|
* `-std=c++0x`
|
|
* `-std=gnu++98` - This is the default for C code
|
|
* `-std=gnu++0x`
|
|
* With `avr-gcc 4.7, 4.8 or 4.9`, installed by you or 1.5+ IDE:
|
|
* `undefined`
|
|
* `-std=c++98`
|
|
* `-std=c++11`
|
|
* `-std=c++1y`
|
|
* `-std=c++14`
|
|
* `-std=gnu++98`
|
|
* `-std=gnu++11` - This is the default for C++ code
|
|
* `-std=gnu++1y`
|
|
* `-std=gnu++14`
|
|
|
|
For more information, please refer to the [Options Controlling C Dialect](https://gcc.gnu.org/onlinedocs/gcc/C-Dialect-Options.html)
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
CXXFLAGS_STD = -std=gnu++98
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### CFLAGS
|
|
|
|
**Description:**
|
|
|
|
Flags passed to compiler for files compiled as C. Add more flags to this
|
|
variable using `+=`.
|
|
|
|
Defaults to `undefined` on 1.0 or `-flto -fno-fat-lto-objects -fdiagnostics-color` on AVR toolchain > 4.9.0 (e.g. IDE 1.6.10+)
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
CFLAGS += -my-c-only-flag
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### CXXFLAGS
|
|
|
|
**Description:**
|
|
|
|
Flags passed to the compiler for files compiled as C++. Add more flags to this
|
|
variable using `+=`.
|
|
|
|
Defaults to `-fpermissive -fno-exceptions` on 1.0
|
|
or `-fpermissive -fno-exceptions -fno-threadsafe-statics -flto -fno-devirtualize -fdiagnostics-color`
|
|
on AVR toolchain > 4.9.0 (e.g. IDE 1.6.10+)
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
CXXFLAGS += -my-c++-onlyflag
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### ASFLAGS
|
|
|
|
**Description:**
|
|
|
|
Flags passed to compiler for files compiled as assembly (e.g. `.S` files). Add
|
|
more flags to this variable using `+=`.
|
|
|
|
Defaults to all flags required for a typical build.
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
ASFLAGS += -my-as-only-flag
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### CPPFLAGS
|
|
|
|
**Description:**
|
|
|
|
Flags passed to the C pre-processor (for C, C++ and assembly source files). Add
|
|
more flags to this variable using `+=`.
|
|
|
|
Defaults to all flags required for a typical build.
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
CPPFLAGS += -DMY_DEFINE_FOR_ALL_SOURCE_TYPES
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### OVERRIDE_EXECUTABLES
|
|
|
|
**Description:**
|
|
|
|
Override the default build tools.
|
|
|
|
If set to `1`, each tool (`CC`, `CXX`, `AS`, `OBJCOPY`, `OBJDUMP`, `AR`, `SIZE`, `NM`) must have its path explicitly defined. See `chipKIT.mk`.
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
OVERRIDE_EXECUTABLES = 1
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### MONITOR_CMD
|
|
|
|
**Description:**
|
|
|
|
Command to run the serial monitor.
|
|
|
|
Defaults to `screen`
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
MONITOR_CMD = minicom
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### PRE_BUILD_HOOK
|
|
|
|
**Description:**
|
|
|
|
Path to shell script to be executed before build. Could be used to automatically
|
|
bump revision number for example.
|
|
|
|
Defaults to `pre-build-hook.sh`
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
PRE_BUILD_HOOK = $(HOME)/bin/bump-revision.sh
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
## Avrdude setting variables
|
|
|
|
### AVRDUDE
|
|
|
|
**Description:**
|
|
|
|
Path to `avrdude` utility
|
|
|
|
Usually can be auto-detected within the parent of `AVR_TOOLS_DIR` or in the `$PATH`
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
AVRDUDE = /usr/bin/avrdude
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### AVRDUDE_CONF
|
|
|
|
**Description:**
|
|
|
|
Path to `avrdude.conf` file
|
|
|
|
Usually can be auto-detected within the parent of `AVR_TOOLS_DIR`
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
AVRDUDE_CONF = /etc/avrdude.conf
|
|
# or
|
|
AVRDUDE_CONF = /usr/share/arduino/hardware/tools/avrdude.conf
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### AVR_TOOLS_PATH
|
|
|
|
**Description:**
|
|
|
|
Directory where tools such as `avrdude`, `avr-g++`, `avr-gcc` etc. are stored.
|
|
|
|
Usually can be auto-detected from `AVR_TOOLS_DIR/bin`
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
AVR_TOOLS_PATH = /usr/bin
|
|
# or
|
|
AVR_TOOLS_PATH = /usr/share/arduino/hardware/tools/avr/bin
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### ARDUINO_LIB_PATH
|
|
|
|
**Description:**
|
|
|
|
Directory where the standard Arduino libraries are stored.
|
|
|
|
Defaults to `ARDUINO_DIR/libraries`
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
# Linux
|
|
ARDUINO_LIB_PATH = /usr/share/arduino/libraries
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### ARDUINO_CORE_PATH
|
|
|
|
**Description:**
|
|
|
|
Directory where the standard Arduino cores are stored.
|
|
|
|
Defaults to `ARDUINO_DIR/hardware/arduino/cores/arduino`
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
ARDUINO_CORE_PATH = /usr/share/arduino/hardware/arduino/cores/robot
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### ALTERNATE_CORE_PATH
|
|
|
|
**Description:**
|
|
|
|
Path to non-standard cores.
|
|
|
|
Defaults to `ARDUINO_SKETCHBOOK/hardware/ALTERNATE_CORE`
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
ALTERNATE_CORE_PATH = $(HOME)/sketchbook/hardware/arduino-tiny/cores/tiny
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### CORE_VER
|
|
|
|
**Description:**
|
|
|
|
Alternate core release version. The Arduino board support packages are within
|
|
a sub-directory indicated by this define.
|
|
|
|
Defaults to package current release.
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
CORE_VER = 1.6.17
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### CMSIS_DIR
|
|
|
|
**Description:**
|
|
|
|
Path to ARM CMSIS. Normally installed as part of ARM board support.
|
|
|
|
Defaults to `ARDUINO_PACKAGE_DIR/tools/CMSIS/4.5.0/CMSIS`
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
CMSIS_DIR = /usr/share/CMSIS
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### CMSIS_ATMEL_DIR
|
|
|
|
**Description:**
|
|
|
|
Path to CMSIS-Atmel directory. Installed with ARM support package.
|
|
|
|
Defaults to `ARDUINO_PACKAGE_DIR/tools/CMSIS-Atmel/1.1.0/CMSIS`
|
|
|
|
**Requirement:** *Optional*
|
|
----
|
|
|
|
### BOARDS_TXT
|
|
|
|
**Description:**
|
|
|
|
Path to `boards.txt`
|
|
|
|
Defaults to `ARDUINO_DIR/hardware/arduino/boards.txt`
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
BOARD_TXT = $(HOME)/sketchbook/hardware/boards.txt
|
|
# or
|
|
BOARD_TXT = /usr/share/arduino/hardware/arduino/boards.txt
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### AVRDUDE_ARD_BAUDRATE
|
|
|
|
**Description:**
|
|
|
|
Upload speed
|
|
|
|
Usually can be auto-detected as `upload.speed` from `boards.txt`
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
AVRDUDE_ARD_BAUDRATE = 19200
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### AVRDUDE_ARD_PROGRAMMER
|
|
|
|
**Description:**
|
|
|
|
Upload protocol
|
|
|
|
Usually can be auto-detected as `upload.protocol` from `boards.txt`
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
AVRDUDE_ARD_PROGRAMMER = stk500v1
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### AVRDUDE_ISP_BAUDRATE
|
|
|
|
**Description:**
|
|
|
|
ISP speed if different to `upload.speed`
|
|
|
|
Defaults to same as `AVRDUDE_ARD_BAUDRATE` or `19200`
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
AVRDUDE_ISP_BAUDRATE = 19200
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### AVRDUDE_OPTS
|
|
|
|
**Description:**
|
|
|
|
Options to pass to `avrdude`.
|
|
|
|
Defaults to `-q -V` (quiet, don't verify). User values are not *ANDed* to the defaults, you have to set each option you require.
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
AVRDUDE_OPTS = -v
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
## Bootloader variables
|
|
|
|
### BOOTLOADER_FILE
|
|
|
|
**Description:**
|
|
|
|
File for bootloader.
|
|
|
|
Usually can be auto-detected as `bootloader.file` from `boards.txt`
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
BOOTLOADER_FILE = optiboot_atmega328.hex
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### BOOTLOADER_PATH
|
|
|
|
**Description:**
|
|
|
|
Relative path to bootloader directory.
|
|
|
|
Usually can be auto-detected as a relative `bootloader.path` from `boards.txt`
|
|
|
|
Deprecated in 1.5, now part of bootloader.file
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
BOOTLOADER_PATH = optiboot
|
|
# or
|
|
BOOTLOADER_PATH = arduino:atmega
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### BOOTLOADER_PARENT
|
|
|
|
**Description:**
|
|
|
|
Absolute path to bootloader file's parent directory.
|
|
|
|
Defaults to `/usr/share/arduino/hardware/arduino/bootloaders` (Linux)
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
BOOTLOADER_PARENT = $(HOME)/sketchbook/hardware/promicro/bootloaders
|
|
BOOTLOADER_PATH = caterina
|
|
BOOTLOADER_FILE = Caterina-promicro16.hex
|
|
```
|
|
|
|
Would result in an absolute path to the bootloader hex file of `$(HOME)/sketchbook/hardware/promicro/bootloaders/caterina/Caterina-promicro16.hex`
|
|
|
|
**Requirement:** *Optional, unless BOOTLOADER_FILE and/or BOOTLOADER_PATH are user-defined*
|
|
|
|
----
|
|
|
|
### BOOTLOADER_SIZE
|
|
|
|
**Description:**
|
|
|
|
Size of bootloader on ARM devices, ensures correct start address when flashing
|
|
application area. Normally parsed from boards.txt
|
|
|
|
Defaults to `0x2000`
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### BOOTLOADER_UNPROTECT
|
|
|
|
**Description:**
|
|
|
|
Bootloader unprotect sequence for upload tool. Normally parsed from boards.txt
|
|
|
|
Defaults to `at91samd bootloader 0`
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### BOOTLOADER_PROTECT
|
|
|
|
**Description:**
|
|
|
|
Bootloader protect sequence for upload tool. Normally parsed from boards.txt
|
|
|
|
Defaults to `at91samd bootloader 16384`
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### BOOTLOADER_PROTECT_VERIFY
|
|
|
|
**Description:**
|
|
|
|
Bootloader protect and verify sequence for upload tool. Normally parsed from boards.txt
|
|
|
|
Defaults to `at91samd bootloader`
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### BOOTLOADER_UPLOAD_TOOL
|
|
|
|
**Description:**
|
|
|
|
Bootloader upload binary to use. Normally parsed from boards.txt.
|
|
|
|
Defaults to `openocd`
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
## ChipKIT variables
|
|
|
|
### MPIDE_DIR
|
|
|
|
**Description:**
|
|
|
|
Path to chipKIT MP IDE
|
|
|
|
Usually can be auto-detected as `AUTO_MPIDE_DIR` from the defaults `/usr/share/mpide` (Linux) or `/Applications/Mpide.app/Contents/Resources/Java` (OSX)
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
MPIDE_DIR = $(HOME)/mpide
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### MPIDE_PREFERENCES_PATH
|
|
|
|
**Description:**
|
|
|
|
Path to chipKIT `preferences.txt` file.
|
|
|
|
Usually can be auto-detected as `AUTO_MPIDE_PREFERENCES_PATH` from the defaults `$(HOME)/.mpide/preferences.txt` (Linux) or `$(HOME)/Library/Mpide/preferences.txt` (OSX)
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
MPIDE_PREFERENCES_PATH = $(HOME)/chipkit/preferences.txt
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
## ARM variables
|
|
|
|
### UPLOAD_TOOL
|
|
|
|
**Description:**
|
|
|
|
Tool to upload binary to device. Normally parsed from boards.txt.
|
|
|
|
Defaults to `openocd`
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
UPLOAD_TOOL = gdb
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### DEBUG
|
|
|
|
**Description:**
|
|
|
|
Define to set `DEBUG_FLAGS` and allow stepping of code using GDB.
|
|
|
|
Defaults to undefined.
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
DEBUG = 1
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### GDB_PORT
|
|
|
|
**Description:**
|
|
|
|
Server port to use for GDB debugging or upload. Default assumes server running
|
|
on localhost but can re-define to use Black Magic Probe serial port.
|
|
|
|
Defaults to `localhost:3333`
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
GDB_PORT = /dev/ttyACM0
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### GDB_OPTS
|
|
|
|
**Description:**
|
|
|
|
Optional arguments to parse to GDB command.
|
|
|
|
Defaults to `-ex "target extended-remote $(GDB_PORT)" -ex "monitor swdp_scan" -ex "attach 1" -ex "load" -d $(OBJDIR) $(TARGET_ELF)`
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### GDB_UPLOAD_OPTS
|
|
|
|
**Description:**
|
|
|
|
Optional arguments to parse to GDB command when uploading binary only.
|
|
|
|
Defaults to `GDB_UPLOAD_OPTS = $(GDB_OPTS) -ex "set confirm off" -ex "set target-async off" -ex "set remotetimeout 30" -ex "detach" -ex "kill" -ex "quit"`
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### BOSSA
|
|
|
|
**Description:**
|
|
|
|
Path to bossac binary.
|
|
|
|
Can usually be detected from `$ARDUINO_PACKAGE_DIR` /tools subdirectory when ARM
|
|
device support is installed.
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### BOSSA_OPTS
|
|
|
|
**Description:**
|
|
|
|
Flags to pass to bossac command.
|
|
|
|
Defaults to `-d --info --erase --write --verify --reset`
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### OPENOCD
|
|
|
|
**Description:**
|
|
|
|
Path to openocd binary.
|
|
|
|
Can usually be detected from `$ARDUINO_PACKAGE_DIR` /tools subdirectory when ARM
|
|
device support is installed.
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### OPENOCD_OPTS
|
|
|
|
**Description:**
|
|
|
|
Flags to pass to openocd command. If using openocd from non-Arduino
|
|
distributions, one should define this with the path to the Arduino openocd script.
|
|
|
|
Defaults to `-d2`
|
|
|
|
Example:
|
|
|
|
```Makefile
|
|
OPENOCD_OPTS = $(ARDUINO_PACKAGE_DIR)/$(ARDMK_VENDOR)/tools/openocd/0.9.0-arduino6-static/share/openocd/scripts/ -f $(ARDUINO_PACKAGE_DIR)/$(ARDMK_VENDOR)/hardware/samd/1.6.17/variants/$(VARIANT)/$(OPENOCD_SCRIPT)
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
|
|
----
|
|
|
|
## Ctags variables
|
|
|
|
### TAGS_FILE
|
|
|
|
**Description:**
|
|
|
|
Output file name for tags. Defaults to 'tags'.
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
TAGS_FILE = .tags
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### CTAGS_OPTS
|
|
|
|
**Description:**
|
|
|
|
Additional options to pass to `ctags` command.
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
# Run ctags in verbose mode
|
|
CTAGS_OPTS = -V
|
|
```
|
|
|
|
**Requirement:** *Optional*
|
|
|
|
----
|
|
|
|
### CTAGS_CMD
|
|
|
|
**Description:**
|
|
|
|
Location of `ctags` binary. Defaults to user path.
|
|
|
|
**Example:**
|
|
|
|
```Makefile
|
|
CTAGS_CMD = /usr/local/bin/
|
|
```
|
|
|
|
**Requirement:** *Optional*
|