60 Commits

Author SHA1 Message Date
Daniel Agar
c708a6355e remove unused GIT_DESC 2015-08-29 19:50:47 -04:00
Daniel Agar
bb696b756b reduce make verbosity 2015-08-29 19:32:02 -04:00
Lorenz Meier
e8f4aa4de8 Include eigen dir as include dir 2015-08-19 20:33:36 +02:00
Lorenz Meier
aa61d3b2d6 Merged beta into master 2015-08-08 11:33:42 +02:00
Lorenz Meier
7d07fc98ba Fix boot script handling 2015-08-07 17:46:23 +02:00
Lorenz Meier
f4d5149a84 Fix airframe generation by adding missing slash (Windows) 2015-08-07 15:49:23 +02:00
Lorenz Meier
d26cb08b3b Firmware makefile: Generate autostart listing automatically 2015-07-31 12:10:56 +02:00
Lorenz Meier
07830ffaff Build system: Enable airframe XML generation and checking 2015-07-29 19:44:35 +02:00
Lorenz Meier
455c449a02 Build system: Add support for airframes config file 2015-07-28 23:45:30 +02:00
Mark Charlebois
84bf4bb6bb Use ?= for MK_DIR in firmware.mk
APU requires the use of ?= for MK_DIR but the use of lastword was
causing MK_DIR to be a subdir of makefiles. Changed lastword to
firstword (which is always the path to firmware.mk) which fixed
the problem.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-06-16 09:58:48 -07:00
Mark Charlebois
26d2589e97 makefile cleanup
Moved nuttx specific make rules to files in makefiles/nuttx.

All target specific makefiles are in their target sub directories.

To minimize file duplication, targets that share rules include a
common file. For example the posix and posix-arm targets both use
makefiles/posix/posix_elf.mk

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-06-16 09:58:48 -07:00
Mark Charlebois
58e263d534 Added posix-arm target and refactored toolchain_* files
The toolchain_* files are target OS specific so they were moved to
the target OS subdir.

The gcc_version.* files are only cleared once per make instantiation so
a build that creates multiple HW targets will try to link with an
incompatible .o file (i.e. x86 build linking ARM .o).  I created
posix-arm as a separate target to fix this problem.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-06-08 22:21:59 -07:00
Mark Charlebois
9f391b1867 NuttX: fixes for NuttX build
In the upstream tree ringbuffer.h includes the method implementations
in the header file which causes multiple definitions in the link for
other targets. Changed so ringbuffer.cpp is build separately for other
platforms and is included by ringbuffer.h on NuttX.

uORB changes do not link without uORBTest_UnitTest.cpp enabled for
the NuttX build.

px4_getopt was not exported and wasn't visible in NuttX build.

The makefiles were restored to be as close as possible to upstream
so the NuttX build builtin's work again. The code will have to be
refactored after the merge.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-15 12:56:18 -07:00
Thomas Gubler
07f6165290 make parameter parser work with python3 2015-05-04 14:04:09 +02:00
Don Gagne
a885c2c8c9 Parameter meta data is not typed to board 2015-04-21 12:32:15 -07:00
Mark Charlebois
f3b5076d70 Linux to posix conversion
Changed "linux" target to "posix". Most of the changes are shared with
QuRT and with OSX. The Linux specific parts are in for i2c which uses
<linux/i2c.h> and <linux/i2c-dev.h>.

There is also a check for __PX4_LINUX in mavlink for a tty ioctl that is
not supported.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-21 09:53:09 -07:00
Mark Charlebois
e9c2e08770 Added initial QuRT support
Added the basic files to start building for QuRT

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 11:37:51 -07:00
Mark Charlebois
838e9fc769 Refactoring for multiplatform support
Moved the NuttX specific board files to makefiles/nuttx and added
a makfiles/linux directory with sample config and board files.

Created a makefiles/toolchain_native.mk file for building for Linux
with the native system compiler. GCC or clang can be used by setting
a flag in the file.

The Linux build creates an archive file and will build the tasks as
threads. Other code changes are required to support both task based
and thread based builds.

The NuttX source should not be required for the Linux build. The
target OS (NuttX or Linux) is selected by commenting out the desired
line in setup.mk

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 10:46:43 -07:00
Lorenz Meier
f8cf495494 Revert "Added ability for board specific meta data generation"
This reverts commit 9ac350a7d1c5c07a4e4ba7824744930f9110dedc.
2015-04-18 11:38:23 +02:00
Don Gagne
9ac350a7d1 Added ability for board specific meta data generation
Use new @board meta data attribute for board specific ifdef support
2015-04-18 11:14:12 +02:00
Daniel Agar
207b57869d only define GIT_VERSION where it's used
-when the git revision is passed to every file as a define it causes
unnecessary ccache cache misses
2015-04-18 01:25:54 -04:00
Don Gagne
f3f7f08e0d Parameter xml metadata in .px4 2014-11-18 17:20:50 -08:00
Thomas Gubler
3424a65e32 update comment in makefile 2014-05-02 14:28:47 +02:00
Thomas Gubler
de87d6df69 do not copy hidden files to ROMFS 2014-05-02 14:26:30 +02:00
Julian Oes
a61a89f339 ROMFS: ignore comments and newlines in startup files, text in mixer files 2014-02-17 00:25:30 +01:00
tstellanova
23a355644b grab the git hash and inject it into every log file header 2013-09-06 10:18:08 -07:00
px4dev
f70a4b3b70 Add support for adding extra files to the ROMFS from the config.
If there is an IO firmware image already built when we build the corresponding FMU ROMFS, copy it into the ROMFS. Note - due to there being no fixed build ordering, to be certain that you have the most current IO firmware, you must build the IO firmware explicitly first.
2013-08-22 23:47:55 -07:00
px4dev
33863165b2 Merge commit 'de749a3602423f5ee6ca56f3cf2dfff04e31ec6d' (kconfig-cleanup) into fmuv2_bringup 2013-08-14 21:23:00 -07:00
px4dev
56d355414c Fix handling of board config files. Treat CONFIG_BOARD like CONFIG_ARCH in the toolchain configuration. 2013-08-13 00:34:11 -07:00
px4dev
5e2d676173 Remove our depdenency on CONFIG_ARCH_BOARD_* coming from <nuttx/config.h> 2013-08-12 21:57:11 -07:00
px4dev
ce2fa29fe3 Add a missing module -> module makefile dependency 2013-08-03 10:06:34 -07:00
px4dev
9d6ec6b365 Restructure things so that the PX4 configs move out of the NuttX tree, and most of the PX4-specific board configuration data moves out of the config and into the board driver.
Rename some directories that got left behind in the great board renaming.
2013-08-02 22:34:55 -07:00
px4dev
95f59f521d Add builtin command dependency on module makefiles, since they can also create / remove commands 2013-07-11 23:23:58 -07:00
px4dev
4302f76402 Hotfix: fix building firmware parallel 2013-06-06 22:49:49 -07:00
px4dev
3a1c9f14f6 Teach the PX4 build system how to handle pre-built libraries. 2013-05-20 00:26:41 +02:00
px4dev
0c43315c1e Hotfix: better error messages for missing modules 2013-05-13 22:20:08 -07:00
px4dev
edb0e01dfd HOTFIX: simplify symbol names going into the ROMFS object, hopefully this avoids inconsistent symbol naming on Windows. 2013-05-12 14:04:57 -07:00
px4dev
0ee738e9c9 Fix ROMFS dependency scan, add a warning if ROMFS_ROOT appears to be empty. 2013-05-12 10:51:25 -07:00
px4dev
196ee8b16f Change the way modules are built so that object paths are relative and use vpath for locating sources (so source paths are also shorter).
Add some basic documentation for the build system files while we're at it.
2013-05-11 11:32:05 -07:00
px4dev
1caffca358 whitespace 2013-05-08 22:50:18 -07:00
px4dev
01e427b17c Merge working changes into export-build branch. 2013-04-26 16:14:32 -07:00
px4dev
a457a45239 Pass the module name in to the module makefile.
Refer to the module command name with MODULE_COMMAND to avoid confusion with the module's actual name.
2013-03-20 23:55:30 -07:00
px4dev
08bed2c31f Add extra cleaning power. 2013-03-20 23:22:48 -07:00
px4dev
db91dffb23 Merge branch 'master' into export-build 2013-03-20 23:05:19 -07:00
px4dev
b6218794c6 Stick copyrights on the major moving parts of the build system 2013-02-23 22:01:00 -08:00
px4dev
ddc405935e Cosmetic tweaks to variable output.
Comment on the need to retain the double-slash at the WORK_DIR boundary.
More toolchain documentation.
2013-02-23 22:01:00 -08:00
px4dev
cde70da262 We don't have to get fancy with builtin_commands.c now, since we put all of the object files into the link loop (ordering is less important now) 2013-02-23 22:01:00 -08:00
px4dev
6b215be739 Use indirect calls for all commands (echo, make, etc.)
Replace our dependency on xxd with a toolchain call, and implement the backend using objcopy evil for the default toolchain.
2013-02-23 22:01:00 -08:00
px4dev
d24599931a APP -> MODULE
remove as many duplicate slashes, etc. as seems practical
2013-02-23 22:01:00 -08:00
px4dev
8d7621079a Checkpoint: application framework makefile done 2013-02-23 22:00:59 -08:00