Makefile: test if dot exists before using it in graph-depends
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Fri, 13 Jun 2014 12:17:19 +0000 (14:17 +0200)
committerPeter Korsgaard <peter@korsgaard.com>
Fri, 13 Jun 2014 12:59:52 +0000 (14:59 +0200)
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>
Makefile

index 55010687bfad2f179690c42d2e46af2f1e4a01cf..14fca2b3d529239b69229d823f7f6a1312970de3 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -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) \