diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2019-02-20 09:45:32 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2019-02-27 09:20:20 +0100 |
commit | 0293f7489686b9838185a38f2eb0125a9a95f5e0 (patch) | |
tree | aaaccd2c67b64beb4d6abd4fa8f47f774b459286 /defaultenv | |
parent | 9d9b87ef9c4bfbd56a49f1f0e7be212718d6d289 (diff) | |
download | barebox-0293f7489686b9838185a38f2eb0125a9a95f5e0.tar.gz |
defaultenv: Fix dependencies
The defaultenv should be rebuilt once a file in it has changed.
the genenv script always generates the environment file to a temporary
file. Only if it has changed to the last target file the temporary file
is moved over the target file. This means we always have to call genenv,
thus replace "if_changed" with "cmd".
With this dependencies are correctly tracked. New or changed files
result in new image builds whereas unchanged environments do not
unnecessarily result in new images.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'defaultenv')
-rw-r--r-- | defaultenv/Makefile | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/defaultenv/Makefile b/defaultenv/Makefile index f313b04e84..950ac29a3c 100644 --- a/defaultenv/Makefile +++ b/defaultenv/Makefile @@ -13,8 +13,10 @@ $(obj)/defaultenv.o: $(obj)/barebox_default_env.h quiet_cmd_env_default = ENV $@ cmd_env_default = ($(srctree)/scripts/genenv $(srctree) $(objtree) $@ $(CONFIG_DEFAULT_ENVIRONMENT_PATH)) +# genenv is always called, but only generates output when the file actually +# changes, so that the dependent targets are not unnecessarily rebuilt $(obj)/barebox_default_env: FORCE - $(call if_changed,env_default) + $(call cmd,env_default) quiet_cmd_env_h = ENVH $@ cmd_env_h = cat $< | (cd $(obj) && $(objtree)/scripts/bin2c "__aligned(4) default_environment") > $@; \ |