You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
1.5 KiB
56 lines
1.5 KiB
To keep access to waf convenient, use the following alias from the |
|
root ardupilot directory: |
|
|
|
alias waf="$PWD/modules/waf/waf-light" |
|
|
|
Waf should always be called from the ardupilot's root. |
|
|
|
Differently from the make-based build, with waf there's a configure step |
|
to choose the board to be used |
|
|
|
# Configure the Linux board. |
|
waf configure --board=linux |
|
|
|
by default the board used is 'sitl'. |
|
|
|
To build, use the 'waf build' command. This is the default command, so |
|
calling just 'waf' is enough |
|
|
|
# From the root ardupilot directory, build everything. |
|
waf |
|
|
|
# Waf also accepts '-j' option to parallelize the build. |
|
waf -j8 |
|
|
|
It's possible to build for just a vehicle or an example by specifying it as the |
|
target: |
|
|
|
# From the top directory |
|
waf --targets bin/ArduCopter |
|
|
|
# List all the targets available |
|
waf list |
|
|
|
There are also shortcuts for vehicle builds, for example: |
|
# Shortcut for waf --targets bin/ArduCopter |
|
waf copter |
|
|
|
By default all the files produced by the build will be inside the build/ |
|
subdirectory. The binaries will also be there, with the name identifying |
|
the target board. |
|
|
|
To clean things up use |
|
|
|
# Clean the build products, but keep configure information |
|
waf clean |
|
|
|
# Clean everything, will need to call configure again |
|
waf distclean |
|
|
|
using git to clean the files also work fine. |
|
|
|
There's also a make wrapper called "Makefile.waf". You can use |
|
`make -f Makefile.waf help` for instructions on how to use it. |
|
|
|
TODO: Add explanation on how the build system is organized once we |
|
settle down.
|
|
|