Makefile: export a few variables to help support scripts
authorYann E. MORIN <yann.morin.1998@free.fr>
Sun, 13 Jan 2013 11:52:20 +0000 (11:52 +0000)
committerPeter Korsgaard <jacmet@sunsite.dk>
Sun, 13 Jan 2013 22:09:05 +0000 (23:09 +0100)
Support scripts (in support/) may need to parse the .config file, so give
them an easy access to it, by exporting BUILDROOT_CONFIG with the fully-
qualified path to .config.

Also, post-build scripts may need to reference a few locations, so export
those, too.

Note: we export both O and BASE_DIR. Although they are the same, BASE_DIR
is used internally, while O is used on the command line, which makes it a
bit ambiguous to know which to use. As users use O= on the command line,
they will probably tend to use that in their post-build scripts.

Update doc accordingly.

[Peter: fixed typo]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
cc: Peter Korsgaard <jacmet@uclibc.org>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Makefile
docs/manual/customize-rootfs.txt

index 074674a165a5e1d9e378a71bd9cec9c6c5cc9e90..5a8325145180b70f512f0bcbd3f998404e112c2e 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -91,6 +91,8 @@ EXTRAMAKEARGS = O=$(O)
 NEED_WRAPPER=y
 endif
 
+BUILDROOT_CONFIG=$(CONFIG_DIR)/.config
+
 # Pull in the user's configuration file
 ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),)
 -include $(CONFIG_DIR)/.config
@@ -282,6 +284,15 @@ HOSTCC  := $(CCACHE) $(HOSTCC)
 HOSTCXX := $(CCACHE) $(HOSTCXX)
 endif
 
+# Scripts in support/ or post-build scripts may need to reference
+# these locations, so export them so it is easier to use
+export BUILDROOT_CONFIG
+export TARGET_DIR
+export STAGING_DIR
+export HOST_DIR
+export BINARIES_DIR
+export BASE_DIR O   # O and BASE_DIR are the same
+
 #############################################################
 #
 # You should probably leave this stuff alone unless you know
index a1a556b85cb09afb66332826cae6697d77b5beca..4d3b559706832233029b1289c051dd03ace7f7ad 100644 (file)
@@ -37,6 +37,13 @@ there are a few ways to customize the resulting target filesystem.
   certain package generates wrong or unneeded files, you should fix
   that package rather than work around it with a post-build cleanup
   script. _Among these first 3 methods, this one should be preferred_.
+  You may also use these variables in your post-build script:
+    - +BUILDROOT_CONFIG+: the path to the Buildroot .config file
+    - +HOST_DIR+, +STAGING_DIR+, +TARGET_DIR+: see
+      xref:generic-package-reference[]
+    - +BINARIES_DIR+: the place where all binary files (aka images) are
+      stored
+    - +BASE_DIR+ (or +O+): the base output directory
 
 * A special package, 'customize', stored in +package/customize+ can be
   used. You can put all the files that you want to see in the final