-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path_SB_make.txt
More file actions
152 lines (126 loc) · 8.83 KB
/
_SB_make.txt
File metadata and controls
152 lines (126 loc) · 8.83 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
This Makefile is known to work on Linux and Mac in a standard shell environment.
It also works on Windows by following the instructions given on this wiki page:
https://librepilot.atlassian.net/wiki/display/LPDOC/Windows+Building+and+Packaging
Here is a summary of the available targets:
[Source tree preparation]
prepare - Install GIT commit message template
[Tool Installers]
arm_sdk_install - Install the GNU ARM gcc toolchain
qt_sdk_install - Install the QT development tools
nsis_install - Install the NSIS Unicode (Windows only)
mesawin_install - Install the OpenGL32 DLL (Windows only)
uncrustify_install - Install the Uncrustify source code beautifier
doxygen_install - Install the Doxygen documentation generator
gtest_install - Install the GoogleTest framework
ccache_install - Install ccache
These targets are not updated yet and are probably broken:
openocd_install - Install the OpenOCD JTAG daemon
stm32flash_install - Install the stm32flash tool for unbricking F1-based boards
dfuutil_install - Install the dfu-util tool for unbricking F4-based boards
Install all available tools:
all_sdk_install - Install all of above (platform-dependent)
build_sdk_install - Install only essential for build tools (platform-dependent)
Other tool options are:
<tool>_version - Display <tool> version
<tool>_clean - Remove installed <tool>
<tool>_distclean - Remove downloaded <tool> distribution file(s)
[Big Hammer]
all - Generate UAVObjects, build LibrePilot firmware and gcs
all_flight - Build all firmware, bootloaders and bootloader updaters
all_fw - Build only firmware for all boards
all_bl - Build only bootloaders for all boards
all_bu - Build only bootloader updaters for all boards
all_clean - Remove your build directory (/home/user/librepilot-next/build)
all_flight_clean - Remove all firmware, bootloaders and bootloader updaters
all_fw_clean - Remove firmware for all boards
all_bl_clean - Remove bootloaders for all boards
all_bu_clean - Remove bootloader updaters for all boards
all_<board> - Build all available images for <board>
all_<board>_clean - Remove all available images for <board>
all_ut - Build all unit tests
all_ut_tap - Run all unit tests and capture all TAP output to files
all_ut_run - Run all unit tests and dump TAP output to console
[Firmware]
<board> - Build firmware for <board>
Supported boards are (coptercontrol revolution revonano sparky2 revoproto oplinkmini gpsplatinum osd discoveryf4bare ccf3d spracingf3 spracingf3evo nucleof303re pikoblx tinyfish simposix)
fw_<board> - Build firmware for <board>
Supported boards are (coptercontrol revolution revonano sparky2 revoproto oplinkmini gpsplatinum osd discoveryf4bare ccf3d spracingf3 spracingf3evo nucleof303re pikoblx tinyfish simposix)
fw_<board>_clean - Remove firmware for <board>
fw_<board>_program - Use OpenOCD + JTAG to write firmware to <board>
[Bootloader]
bl_<board> - Build bootloader for <board>
Supported boards are (coptercontrol revolution revonano sparky2 revoproto oplinkmini gpsplatinum osd discoveryf4bare ccf3d spracingf3 spracingf3evo nucleof303re pikoblx tinyfish)
bl_<board>_clean - Remove bootloader for <board>
bl_<board>_program - Use OpenOCD + JTAG to write bootloader to <board>
[Entire Flash]
ef_<board> - Build entire flash image for <board>
Supported boards are (coptercontrol revolution revonano sparky2 revoproto oplinkmini gpsplatinum osd discoveryf4bare ccf3d spracingf3 spracingf3evo nucleof303re pikoblx tinyfish)
ef_<board>_clean - Remove entire flash image for <board>
ef_<board>_program - Use OpenOCD + JTAG to write entire flash image to <board>
[Bootloader Updater]
bu_<board> - Build bootloader updater for <board>
Supported boards are (coptercontrol revolution revonano sparky2 revoproto oplinkmini osd discoveryf4bare ccf3d spracingf3 spracingf3evo nucleof303re pikoblx tinyfish)
bu_<board>_clean - Remove bootloader updater for <board>
[Unbrick a board]
unbrick_<board> - Use the STM32's built in boot ROM to write a bootloader to <board>
Supported boards are (coptercontrol revolution revonano sparky2 revoproto oplinkmini gpsplatinum osd discoveryf4bare ccf3d spracingf3 spracingf3evo nucleof303re pikoblx tinyfish)
[Unittests]
ut_<test> - Build unit test <test>
ut_<test>_xml - Run test and capture XML output into a file
ut_<test>_run - Run test and dump output to console
[Simulation]
sim_osx - Build LibrePilot simulation firmware for OSX
sim_osx_clean - Delete all build output for the osx simulation
sim_win32 - Build LibrePilot simulation firmware for Windows
using mingw and msys
sim_win32_clean - Delete all build output for the win32 simulation
[GCS]
gcs - Build the Ground Control System (GCS) application (debug|release)
Compile specific directory: MAKE_DIR=<dir>
Example: make gcs MAKE_DIR=src/plugins/coreplugin
gcs_qmake - Run qmake for the Ground Control System (GCS) application (debug|release)
gcs_clean - Remove the Ground Control System (GCS) application (debug|release)
Supported build configurations: GCS_BUILD_CONF=debug|release (default is release)
[Uploader Tool]
uploader - Build the serial uploader tool (debug|release)
uploader_qmake - Run qmake for the serial uploader tool (debug|release)
uploader_clean - Remove the serial uploader tool (debug|release)
Supported build configurations: GCS_BUILD_CONF=debug|release (default is release)
[UAVObjects]
uavobjects - Generate source files from the UAVObject definition XML files
uavobjects_test - Parse xml-files - check for valid, duplicate ObjId's, ...
uavobjects_<group> - Generate source files from a subset of the UAVObject definition XML files
Supported groups are (gcs flight arduino python matlab java wireshark)
uavobjects_python_install
- Install generated python files as eggs for use with example Python scripts
uavobjects_python_clean
- Remove generated python UAVOs from build directory & pyuavtalk folder
[Packaging]
package - Build and package the platform-dependent package (no clean)
fw_resource - Generate resources to embed firmware binaries into the GCS
dist - Generate source archive for distribution
fw_dist - Generate archive of firmware
install - Install GCS to "DESTDIR" with prefix "prefix" (Linux only)
[Code Formatting]
pretty_<source> - Reformat <source> code according to the project's standards
Supported sources are (flight ground)
pretty - Reformat all source code
[Code Documentation]
docs_<source> - Generate HTML documentation for <source>
Supported sources are (flight ground uavobjects)
docs_all - Generate HTML documentation for all
docs_<source>_clean - Delete generated documentation for <source>
docs_all_clean - Delete all generated documentation
[Configuration]
config_help - Show information on how to configure the build
config_new - Place your make arguments in the config file
config_append - Place your make arguments in the config file but append
config_clean - Removes the config file
Hint: Add V=1 to your command line to see verbose build output.
Notes: All tool distribution files will be downloaded into /home/user/librepilot-next/downloads
All tools will be installed into /home/user/librepilot-next/tools
All build output will be placed in /home/user/librepilot-next/build
Tool download and install directories can be changed using environment variables:
DL_DIR full path to downloads directory [downloads if not set]
TOOLS_DIR full path to installed tools directory [tools if not set]
More info: https://librepilot.atlassian.net/wiki/display/LPDOC/LibrePilot+Build+System+Overview