Makefile: test if dot exists before using it in graph-depends

The 'graph-depends' logic uses the 'dot' program from Graphviz to draw
the dependency graph, but it doesn't check its existence before
starting the generation of the graph, which can lead to user confusion
as reported in:

 http://lists.busybox.net/pipermail/buildroot/2014-June/099278.html

With this commit, we first test if the 'dot' program is available, and
if it's not, we error out with a clear error message:

$ make graph-depends
ERROR: The 'dot' program from Graphviz is needed for graph-depends
make: *** [graph-depends] Error 1

[Peter: send error message to stderr instead]
Reported-by: Dallas Clement <dallas.a.clement@gmail.com>
Cc: Dallas Clement <dallas.a.clement@gmail.com>
Cc: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
Thomas Petazzoni 2014-06-13 14:17:19 +02:00 committed by Peter Korsgaard
parent 5c8526691c
commit 664f270724
1 changed files with 2 additions and 0 deletions

View File

@ -674,6 +674,8 @@ graph-build: $(O)/build/build-time.log
$(if $(BR2_GRAPH_ALT),--alternate-colors)$(sep))
graph-depends:
@dot -? >/dev/null 2>&1 || \
(echo "ERROR: The 'dot' program from Graphviz is needed for graph-depends" >&2; exit 1)
@$(INSTALL) -d $(O)/graphs
@cd "$(CONFIG_DIR)"; \
$(TOPDIR)/support/scripts/graph-depends $(BR2_GRAPH_DEPS_OPTS) \