Makefile: expose 'graph-depends' to generate a graph of the dependency tree

Generate the graph of the complete dependency tree by calling:
    make graph-depends

It's also possible to generate the graph-depends for a single package:
    make PKG-graph-depends

The graphs are generated in $(O)/graphs/

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Yann E. MORIN 2013-12-28 18:39:12 +01:00 committed by Thomas Petazzoni
parent e16bf92252
commit 0cfe3ab88c
2 changed files with 12 additions and 0 deletions

View File

@ -642,6 +642,11 @@ graph-build: $(O)/build/build-time.log
--output=$(O)/graphs/build.pie-$(t).pdf \
$(if $(GRAPH_ALT),--alternate-colors)$(sep))
graph-depends:
@$(INSTALL) -d $(O)/graphs
@./support/scripts/graph-depends \
|dot -Tpdf -o $(O)/graphs/$(@).pdf
else # ifeq ($(BR2_HAVE_DOT_CONFIG),y)
all: menuconfig
@ -814,6 +819,7 @@ help:
@echo ' toolchain - build toolchain'
@echo ' <package>-rebuild - force recompile <package>'
@echo ' <package>-reconfigure - force reconfigure <package>'
@echo ' <package>-graph-depends - generate graph of the dependency tree for package'
@echo
@echo 'Configuration:'
@echo ' menuconfig - interactive curses-based configurator'
@ -855,6 +861,7 @@ endif
@echo ' manual-text - build manual in text'
@echo ' manual-epub - build manual in ePub'
@echo ' graph-build - generate graphs of the build times'
@echo ' graph-depends - generate graph of the dependency tree'
@echo
@echo 'Miscellaneous:'
@echo ' source - download all sources needed for offline-build'

View File

@ -468,6 +468,11 @@ endif
$(1)-show-depends:
@echo $$($(2)_DEPENDENCIES)
$(1)-graph-depends:
@$(INSTALL) -d $(O)/graphs
@./support/scripts/graph-depends $(1) \
|dot -Tpdf -o $(O)/graphs/$$(@).pdf
$(1)-dirclean: $$($(2)_TARGET_DIRCLEAN)
$(1)-clean-for-rebuild: