summaryrefslogtreecommitdiffstats
path: root/common/Makefile
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2012-10-03 21:18:10 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2012-10-03 21:18:10 +0200
commit90d92b359de4e5c52a1ff0b9272b5005484e7941 (patch)
treea8c667204e996567c0220ea2e4ee644fb052d645 /common/Makefile
parentedf068e9cf18d3b756c606cbd1d9ce312640646a (diff)
parentc8c49c14aef009a86f238c4bdaf78b1d01b7bdcf (diff)
downloadbarebox-90d92b359de4e5c52a1ff0b9272b5005484e7941.tar.gz
barebox-90d92b359de4e5c52a1ff0b9272b5005484e7941.tar.xz
Merge branch 'for-next/defaultenv-deps'
Diffstat (limited to 'common/Makefile')
-rw-r--r--common/Makefile32
1 files changed, 20 insertions, 12 deletions
diff --git a/common/Makefile b/common/Makefile
index 68582b78e1..b74c76b7ae 100644
--- a/common/Makefile
+++ b/common/Makefile
@@ -39,6 +39,7 @@ obj-$(CONFIG_PASSWORD) += password.o
obj-$(CONFIG_MODULES) += module.o
obj-$(CONFIG_FLEXIBLE_BOOTARGS) += bootargs.o
extra-$(CONFIG_MODULES) += module.lds
+extra-y += barebox_default_env
ifdef CONFIG_DEFAULT_ENVIRONMENT
$(obj)/startup.o: include/generated/barebox_default_env.h
@@ -63,8 +64,19 @@ ENV_FILES := $(shell cd $(srctree); for i in $(DEFAULT_ENVIRONMENT_PATH); do fin
endif # ifdef CONFIG_DEFAULT_ENVIRONMENT
-barebox_default_env: $(ENV_FILES)
- $(Q)$(srctree)/scripts/genenv $(srctree) $(objtree) $(DEFAULT_ENVIRONMENT_PATH)
+#
+# Generate a barebox envfs image.
+#
+# echo $(ENV_FILES) > /dev/null is just for letting if_changed
+# recognize that something has changed when the environment has
+# other files,
+#
+quiet_cmd_env = ENV $@
+cmd_env = ($(srctree)/scripts/genenv $(srctree) $(objtree) $@ $(DEFAULT_ENVIRONMENT_PATH)) || \
+ (echo $(ENV_FILES) > /dev/null; rm -f $@ ; false)
+
+$(obj)/barebox_default_env: $(ENV_FILES) FORCE
+ $(call if_changed,env)
barebox_default_env_comp =
ifeq ($(CONFIG_DEFAULT_ENVIRONMENT_COMPRESSED_GZIP),y)
@@ -77,22 +89,18 @@ ifeq ($(CONFIG_DEFAULT_ENVIRONMENT_COMPRESSED_LZO),y)
barebox_default_env_comp = .lzo
endif
-barebox_default_env.gz: barebox_default_env
+$(obj)/barebox_default_env.gz: $(obj)/barebox_default_env
$(call if_changed,gzip)
-barebox_default_env.bz2: barebox_default_env
+$(obj)/barebox_default_env.bz2: $(obj)/barebox_default_env
$(call if_changed,bzip2)
-barebox_default_env.lzo: barebox_default_env
+$(obj)/barebox_default_env.lzo: $(obj)/barebox_default_env
$(call if_changed,lzo)
-include/generated/barebox_default_env.h: barebox_default_env$(barebox_default_env_comp)
- $(Q)cat $< | $(objtree)/scripts/bin2c default_environment > $@
- $(Q)echo "const int default_environment_uncompress_size=`stat -c%s barebox_default_env`;" >> $@
-
-CLEAN_FILES += include/generated/barebox_default_env.h barebox_default_env
-CLEAN_FILES += barebox_default_env.gz barebox_default_env.bz2
-CLEAN_FILES += barebox_default_env.lzo
+include/generated/barebox_default_env.h: $(obj)/barebox_default_env$(barebox_default_env_comp)
+ $(Q)cat $< | (cd $(obj) && $(objtree)/scripts/bin2c default_environment) > $@
+ $(Q)echo "const int default_environment_uncompress_size=`stat -c%s $(obj)/barebox_default_env`;" >> $@
# dependencies on generated files need to be listed explicitly
$(obj)/version.o: include/generated/compile.h