Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] core/help: fix custom help without a .config
@ 2016-03-20 21:24 Yann E. MORIN
  2016-03-22 22:40 ` Arnout Vandecappelle
  2016-04-17 22:51 ` Arnout Vandecappelle
  0 siblings, 2 replies; 8+ messages in thread
From: Yann E. MORIN @ 2016-03-20 21:24 UTC (permalink / raw)
  To: buildroot

When there is no .config, we do not source $(BR2_EXTERNAL)/external.mk.
So we can not expose the custom help in that situation.

It is now known whether sourcing $(BR2_EXTERNAL)/external.mk outside the
HAVE_DOT_CONFIG conditional block is entirely safe. Even if it would
work today, we would have a hard time not breaking it in the future,
because we do not have automatic checks for that and would need to rely
on users reporting issues after the fact.

Instead, we require the custom help to be defined in its own file in the
br2-external tree. This way, we can safely include it unconditionally.

Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 Makefile                             | 11 +++++++----
 docs/manual/customize-outside-br.txt |  7 ++++---
 2 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/Makefile b/Makefile
index ea8b1e4..03657d5 100644
--- a/Makefile
+++ b/Makefile
@@ -976,10 +976,13 @@ endif
 	@echo 'it on-line at http://buildroot.org/docs.html'
 	@echo
 
-# This rule does nothing, it is expected to be overloaded by
-# a br2-external tree or a local.mk . However, it must exist,
-# as we reference it in the main help, above. Making the rule
-# .PHONY does not work.
+ifneq ($(wildcard $(BR2_EXTERNAL)/help.mk),)
+include $(BR2_EXTERNAL)/help.mk
+endif
+
+# This rule does nothing, it is expected to be overloaded by a
+# br2-external tree. However, it must exist, as we reference it
+# as a dependency of the main help, above.
 help-custom:
 
 list-defconfigs:
diff --git a/docs/manual/customize-outside-br.txt b/docs/manual/customize-outside-br.txt
index be1827e..4f1c752 100644
--- a/docs/manual/customize-outside-br.txt
+++ b/docs/manual/customize-outside-br.txt
@@ -108,9 +108,10 @@ And then in +$(BR2_EXTERNAL)/package/package1+ and
    normal +make <name>_defconfig+ command. They will be visible under the
    +User-provided configs+' label in the 'make list-defconfigs' output.
 
-Additionally, an +external.mk+ file may define the +help-custom+ make
-rule, to document custom make targets specific to this +BR2_EXTERNAL+
-tree. The help is completely free-form.
+Additionally, a +BR2_EXTERNAL+ tree may provide a file named +help.mk+
+that defines the +help-custom+ make rule, to document custom make
+targets specific to this +BR2_EXTERNAL+ tree. The help is completely
+free-form. See below for a sample +$(BR2_EXTERNAL)/help.mk+ file:
 
 ------
 help-custom:
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2016-04-18 20:27 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-20 21:24 [Buildroot] [PATCH] core/help: fix custom help without a .config Yann E. MORIN
2016-03-22 22:40 ` Arnout Vandecappelle
2016-03-22 22:52   ` Thomas Petazzoni
2016-04-15 22:16     ` Peter Korsgaard
2016-04-16  7:28       ` Thomas Petazzoni
2016-04-16 21:07         ` Yann E. MORIN
2016-04-17 22:51 ` Arnout Vandecappelle
2016-04-18 20:27   ` Yann E. MORIN

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox