> If external is historic, what is the preferred way to include a custom out-of-tree (i.e. non-public) App in a build, in a way that won't get trashed if a distclean or Nuttx upgrade merge is done?
Distclean will not affect any untracked files/directories/symbolic links. If an untracked directory contains a Makefile, distclean should also call the distclean target in the directory. A git pull should not affect the untracked directory. Although it is an older solution and mostly redundant, use of the "external" directory is not discouraged. Differences: - There can be only one external directory - The external directory will not show up as untracked if you do 'git status' - You have to configure other directories first before the first make. That is when the directories are configured into the build. External is supported by hard-coded logic in the build and does not need to be configured.