arduino-builder - compiles Arduino sketches
arduino-builder mandatory-arguments [
options]
sketch
A command line tool for compiling Arduino sketches
This tool is able to parse Arduino Hardware specifications, properly run gcc and
produce compiled sketches.
An Arduino sketch differs from a standard C program in that it misses a main
(provided by the Arduino core), function prototypes are not mandatory, and
libraries inclusion is automagic (you just have to #include them). This tool
generates function prototypes and gathers library paths, providing gcc with
all the needed -I params.
Every time you run this tool, it will create a 'build.options.json' file in
build path. It's used to understand if build options (such as hardware
folders, fqbn and so on) were changed when compiling the same sketch. If they
changed, the whole build path is wiped out. If they didn't change, previous
compiled files will be reused if the corresponding source files didn't change
as well. You can save this file locally and use it instead of specifying
-hardware,
-tools,
-libraries,
-fqbn,
-pref
and
-ide-version.
-
-hardware folder
-
folder containing Arduino platforms. An example is
the 'hardware' folder shipped with the Arduino IDE, or the packages folder
created by Arduino Boards Manager. Can be specified multiple times. If
conflicting hardware definitions are specified, the last one wins.
-
-tools folder
-
folder containing Arduino tools (gcc, avrdude...).
An example is the 'hardware/tools' folder shipped with the Arduino IDE, or
the packages folder created by Arduino Boards Manager. Can be specified
multiple times.
-
-fqbn name
- Fully Qualified Board Name, e.g.: arduino:avr:uno.
-
-compile | -dump-prefs |
-preprocess
- If omitted, defaults to -compile. dump-prefs
will just print all build preferences used, -compile will use those
preferences to run the actual compiler, -preprocess will only print
preprocessed code to stdout.
-
-libraries folder
-
folder containing Arduino libraries. An example is
the 'libraries' folder shipped with the Arduino IDE. Can be specified
multiple times.
-
-build-path folder
-
folder where to save compiled files. If omitted, a
folder will be created in the temporary folder specified by your OS.
-
-prefs=key=value
- It allows you to override some build properties.
- -warnings
- Can be "none", "default",
"more" and "all". Defaults to "none". Used
to tell gcc which warning level to use (-W flag).
- -verbose
- Turns on verbose mode.
- -quiet
- Suppresses almost every output.
- -debug-level
- Ddefaults to "5". Used for debugging. Set it to
10 when submitting an issue.
- -core-api-version
- Defaults to "10600". The version of the Arduino
IDE which is using this tool.
- -logger
- Can be "human", "humantags" or
"machine". Defaults to "human". If
"humantags" the messages are qualified with a prefix that
indicates their level (info, debug, error). If "machine",
messages emitted will be in a format which the Arduino IDE understands and
that it uses for I18N.
- -version
- If specified, prints version and exits.
-
-build-options-file path
-
path to a local build.options.json file, which
allows you to omit specifying params such as -hardware,
-tools, -libraries, -fqbn, -pref and
-ide-version.
- -vid-pid
- When specified, VID/PID specific build properties are used,
if boards supports them.
arduino(1)