...
Code Block |
---|
tools/configure.sh MyBoard:MyConfiguration |
Special }} apps/external Directory{{. Use of the name apps/external
is suggested because that name is included in the .gitignore
file and will save you some nuisance when working with GIT.
...
A simple, minimally invasive approach would be to contain the apps/
GIT clone within your custom application directory. In this case }}apps/
{{ would appear as a directory under your custom application directory instead of your application directories being kludged in as sub-directories of apps/
. It may even be implemented as a sub-module of your custom application directory.
...
Library Issues. The contained directory will create and install a static library called }}libapps($LIBEXT)
{{ in the }}nuttx/staging
{{ directory. Your custom logic must also appear in the }}nuttx/staging
{{ directory. Here are two ways that you might do that:
- Merge with }} libapps($LIBEXT)''. The custom application directory's
Makefile
could create and install the finallibapps($LIBEXT)
in thenuttx/staging
directory. The<custom-dir>/apps/libapps($LIBEXT)
could merge its custom object files with<custom-dir>/libapps($LIBEXT)
and then re-install the library atnuttx/staging
. - Use the
EXTRA_LIBS
Feature. The build system supports two special Make-related variables callEXTRA_LIBS
andEXTRA_LIBPATHS
. These may be defined in your board-specificMake.defs
file.EXTRA_LIBS
provides the name of you custom library. If you create<custom-dir>/libcustom.a
, then the value ofEXTRA_LIBS
would be-lcustom
and the value ofEXTRA_LIBPATHS
would be-L <custom-dir>
(assuming the GNUld
linker).
...