core: allow external Config.in/makefile code to be integrated

This commit allows the BR2_EXTERNAL directory to contain Config.in and
Makefile code, which gets integrated into the Buildroot build logic:

 - Buildroot automatically includes the $BR2_EXTERNAL/Config.in in the
   top-level configuration menu.

 - Buildroot automatically includes the BR2_EXTERNAL/external.mk in
   the build logic, so it can for example be used to include other .mk
   files that define package recipes.

This is typically intended to be used to create target packages in the
BR2_EXTERNAL directory, but can also be used for bootloaders, host
packages, or other custom make logic.

We also add a dummy Config.in file in support/dummy-external/ to
ensure that the source "$BR2_EXTERNAL/Config.in" line will point to an
existing file even when BR2_EXTERNAL is not used by the user.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Acked-by: Ryan Barnett <rjbarnet@rockwellcollins.com>
Tested-by: "Samuel Martin" <s.martin49@gmail.com>
Acked-by: "Samuel Martin" <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
Thomas Petazzoni 2013-12-05 20:11:11 +01:00 committed by Peter Korsgaard
parent a4239f7fd1
commit 8eb8aaf904
4 changed files with 4 additions and 0 deletions

View File

@ -492,3 +492,5 @@ source "boot/Config.in"
source "package/Config.in.host"
source "Config.in.legacy"
source "$BR2_EXTERNAL/Config.in"

View File

@ -364,6 +364,8 @@ include boot/common.mk
include linux/linux.mk
include system/system.mk
include $(BR2_EXTERNAL)/external.mk
TARGETS+=target-finalize
ifeq ($(BR2_ENABLE_LOCALE_PURGE),y)

View File

View File