2
1
Эх сурвалжийг харах

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>
Yann E. MORIN 11 жил өмнө
parent
commit
0cfe3ab88c
2 өөрчлөгдсөн 12 нэмэгдсэн , 0 устгасан
  1. 7 0
      Makefile
  2. 5 0
      package/pkg-generic.mk

+ 7 - 0
Makefile

@@ -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'

+ 5 - 0
package/pkg-generic.mk

@@ -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: