diff --git a/ChangeLog.txt b/ChangeLog.txt index 0a362e849..24b02557e 100755 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -120,3 +120,7 @@ data received on USB serial is echoed on the local console. * apps/examples/touchscreen: Add a simple, generic test for any touschscreen driver. + * Makefile: The apps/ Makefile now checks for an apps/external directory + or symbolic link. If such a directory/link exists (and has a Makefile), + it will be added to the apps/ build. This allows external directories + to be included into the apps/ build by simply creating a symbolic link. diff --git a/Makefile b/Makefile index 1e80685e3..db75855ca 100644 --- a/Makefile +++ b/Makefile @@ -53,19 +53,28 @@ SUBDIRS = examples graphics interpreters namedapp nshlib netutils system vsn -include .config # INSTALLED_APPS is the list of currently available application directories. It -# is the same as CONFIGURED_APPS, but filtered to exclude any non-existent apps. -# namedapp is always in the list of applications to be built +# is the same as CONFIGURED_APPS, but filtered to exclude any non-existent +# application directory. namedapp is always in the list of applications to be +# built. INSTALLED_APPS = namedapp # Create the list of available applications (INSTALLED_APPS) define ADD_BUILTIN -INSTALLED_APPS += ${shell if [ -r $1/Makefile ]; then echo "$1"; fi} +INSTALLED_APPS += ${shell if [ -r $1/Makefile ]; then echo "$1"; fi} endef $(foreach BUILTIN, $(CONFIGURED_APPS), $(eval $(call ADD_BUILTIN,$(BUILTIN)))) +# The external/ directory may also be added to the INSTALLED_APPS. But there +# is no external/ directory in the repository. Rather, this directory may be +# provided by the user (possibly as a symbolic link) to add libraries and +# applications to the standard build from the repository. + +INSTALLED_APPS += ${shell if [ -r external/Makefile ]; then echo "external"; fi} +SUBDIRS += ${shell if [ -r external/Makefile ]; then echo "external"; fi} + # The final build target BIN = libapps$(LIBEXT)