[Buildroot] [PATCH] add pre-build scrip. Patch V2

Joe Halpin jhalpin at luminatorusa.com
Thu Feb 14 15:08:46 UTC 2013

Here's a resend of the patch, I think I got it right this time.
Arnout, please ignore my last reply about CONFIG_DIR, I was thinking
about my own world and missed what you were trying to tell me. I'm
passing CONFIG_DIR in the patch now, which is probably the best place to
start from.

Add a pre-build script that can be used to setup directories, scripts

This allows scripts which may change .config. CONFIG_DIR is passed as
target directory for this reason.

Signed-off-by Joe Halpin jhelpin at luminatorusa.com
Correction to the original patch

diff --git a/Makefile b/Makefile
index 3f967b2..29d3bd6 100644
--- a/Makefile
+++ b/Makefile
@@ -393,6 +393,12 @@ $(BUILD_DIR)/buildroot-config/auto.conf:
_NOCCACHE)" silentoldconfig

 prepare: $(BUILD_DIR)/buildroot-config/auto.conf
+       @$(call MESSAGE,"Executing pre-build script\(s\)")
+       @$(foreach s, $(call qstrip,$(BR2_ROOTFS_PRE_BUILD_SCRIPT)), \
+               $(s) $(CONFIG_DIR)$(sep))

 toolchain: prepare dirs dependencies $(BASE_TARGETS)

diff --git a/system/Config.in b/system/Config.in
index 1e4fff3..df9e5ce 100644
--- a/system/Config.in
+++ b/system/Config.in
@@ -260,6 +260,19 @@ config BR2_ROOTFS_OVERLAY
          They are copied as-is into the rootfs, excluding files ending
          ~ and .git, .svn and .hg directories.

+       string "Custom scripts to run before starting the build"
+       default ""
+       help
+         Specify a space-separated list of scripts to be run before the
+         has started.
+         This gives users the oportunity to do board-specific
+         These scripts are called with $(CONFIG_DIR) as first and
+         only argument. Make sure the exit code of those scripts are 0,
+         otherwise make will stop after calling them.
        string "Custom scripts to run before creating filesystem images"
        default ""

-----Original Message-----
From: Arnout Vandecappelle [mailto:arnout at mind.be] 
Sent: Wednesday, February 13, 2013 4:24 PM
To: Joe Halpin
Cc: buildroot at busybox.net
Subject: Re: [Buildroot] [PATCH] add pre-build script

On 13/02/13 14:54, Joe Halpin wrote:
> This is a patch to add a pre-build script, which runs before the build
> starts. This lets us setup symlinks and such before the build starts,
> which makes things easier and cleaner for us. Maybe it will for other
> people too. This was made from the 20.12.11 release.

  Could you clarify a bit more what the use case is? Then we can
if there are maybe better ways to achieve it.

  Also, a properly formatted patch has a commit message which is 
formatted as follows: a single summary line of max. 80 characters, an 
empty line, one or more paragraphs explaining why the patch is
your Signed-off-by line, a line containing three dashes, the patch 
changelog (if you resubmit it). Look at other patches on the list for 
examples. And you should send the patch with git send-email or similar, 
so that whitespace is retained and we can comment in-line.

  Regarding the patch itself: why do you pass $(TARGET_DIR) as an 
argument? Since the 'dirs' step comes after the 'prepare' step, 
$(TARGET_DIR) doesn't exist yet...


Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F

More information about the buildroot mailing list