summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Olbrich <m.olbrich@pengutronix.de>2018-07-24 08:26:59 +0200
committerMichael Olbrich <m.olbrich@pengutronix.de>2018-09-20 11:03:54 +0200
commit41cb4d9f9287d85ae11b2d5c875ed276470273d1 (patch)
tree8365e0c415479fd9092ed4424c7f06a8bebbdd55
parent3e471b0b5a14cdd785c860087f27d08e8355a40d (diff)
downloadptxdist-41cb4d9f9287d85ae11b2d5c875ed276470273d1.tar.gz
ptxdist-41cb4d9f9287d85ae11b2d5c875ed276470273d1.tar.xz
barebox: support layers with BAREBOX_EXTRA_ENV_PATH
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
-rw-r--r--platforms/barebox.in5
-rw-r--r--rules/barebox.make13
2 files changed, 13 insertions, 5 deletions
diff --git a/platforms/barebox.in b/platforms/barebox.in
index 01dee92b5..645366e93 100644
--- a/platforms/barebox.in
+++ b/platforms/barebox.in
@@ -44,8 +44,11 @@ config BAREBOX_EXTRA_ENV
config BAREBOX_EXTRA_ENV_PATH
prompt "env dir"
string
- default "${PTXDIST_PLATFORMCONFIGDIR}/barebox-defaultenv"
+ default "barebox-defaultenv"
depends on BAREBOX_EXTRA_ENV
+ help
+ Directories and files to add to the builtin barebox environment.
+ Relative paths must be relative to the platformconfigdir.
config BAREBOX_BAREBOXENV
prompt "install 'bareboxenv'"
diff --git a/rules/barebox.make b/rules/barebox.make
index a672de43e..5ee469a52 100644
--- a/rules/barebox.make
+++ b/rules/barebox.make
@@ -65,9 +65,14 @@ $(BAREBOX_CONFIG):
@exit 1
endif
-ifdef PTXCONF_BAREBOX_EXTRA_ENV_PATH
-$(STATEDIR)/barebox.prepare: $(call remove_quotes,$(PTXCONF_BAREBOX_EXTRA_ENV_PATH))
-$(STATEDIR)/barebox.prepare: $(shell find $(call remove_quotes,$(PTXCONF_BAREBOX_EXTRA_ENV_PATH)) -print 2>/dev/null)
+ifneq ($(call remove_quotes,$(PTXCONF_BAREBOX_EXTRA_ENV_PATH)),)
+BAREBOX_EXTRA_ENV_PATH := $(foreach path, \
+ $(call remove_quotes,$(PTXCONF_BAREBOX_EXTRA_ENV_PATH)), \
+ $(call ptx/in-platformconfigdir,$(path)))
+BAREBOX_EXTRA_ENV_DEPS := \
+ $(BAREBOX_EXTRA_ENV_PATH) \
+ $(shell find $(BAREBOX_EXTRA_ENV_PATH) -print 2>/dev/null)
+$(STATEDIR)/barebox.prepare: $(BAREBOX_EXTRA_ENV_DEPS)
endif
$(STATEDIR)/barebox.prepare: $(BAREBOX_CONFIG)
@@ -83,7 +88,7 @@ ifdef PTXCONF_BAREBOX_EXTRA_ENV
@rm -rf $(BAREBOX_DIR)/.ptxdist-defaultenv
@ptxd_source_kconfig "${PTXDIST_PTXCONFIG}" && \
ptxd_source_kconfig "${PTXDIST_PLATFORMCONFIG}" && \
- $(foreach path, $(call remove_quotes,$(PTXCONF_BAREBOX_EXTRA_ENV_PATH)), \
+ $(foreach path, $(BAREBOX_EXTRA_ENV_PATH), \
if [ -d "$(path)" ]; then \
ptxd_filter_dir "$(path)" \
$(BAREBOX_DIR)/.ptxdist-defaultenv; \