Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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:

  1. Merge with }} libapps($LIBEXT)''. The custom application directory's Makefile could create and install the final libapps($LIBEXT) in the nuttx/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 at nuttx/staging.
  2. Use the EXTRA_LIBS Feature. The build system supports two special Make-related variables call EXTRA_LIBS and EXTRA_LIBPATHS. These may be defined in your board-specific Make.defs file. EXTRA_LIBS provides the name of you custom library. If you create <custom-dir>/libcustom.a, then the value of EXTRA_LIBS would be -lcustom and the value of EXTRA_LIBPATHS would be -L <custom-dir> (assuming the GNU ld linker).

...