From d5627404e17e12ff6349007efc25fa01db4c9c54 Mon Sep 17 00:00:00 2001 From: "Glenn Y. Rolland" Date: Fri, 23 Jul 2021 16:07:42 +0200 Subject: [PATCH] Improve graphviz --- graphviz.mk | 35 ++++++++++++++++++++++------------- 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/graphviz.mk b/graphviz.mk index 6b34166..8187e0e 100644 --- a/graphviz.mk +++ b/graphviz.mk @@ -3,28 +3,28 @@ ## ## -## External variables (API) +## External variables influencing build process (API) ## -GRAPHVIZ_SRC_DIR= -GRAPHVIZ_DEST_DIR= +GRAPHVIZ_SRC_DIR ?= +GRAPHVIZ_DEST_DIR ?= ## ## Internal variables ## ## Find .dot graphs -GRAPHVIZ_DOT=$(shell find $(GRAPHVIZ_SRC_DIR) \( -name '*.dot' ! -name '_*' \)) -GRAPHVIZ_DOT_SVG=$(patsubst $(GRAPHVIZ_SRC_DIR)/%.dot,$(GRAPHVIZ_DEST_DIR)/%.dot.svg,$(GRAPHVIZ_DOT)) +GRAPHVIZ_DOT := $(shell find $(GRAPHVIZ_SRC_DIR) \( -name '*.dot' ! -name '_*' \)) +GRAPHVIZ_DOT_SVG := $(patsubst $(GRAPHVIZ_SRC_DIR)/%.dot,$(GRAPHVIZ_DEST_DIR)/%.dot.svg,$(GRAPHVIZ_DOT)) ## Find .circo graphs -GRAPHVIZ_CIRCO=$(shell find $(GRAPHVIZ_SRC_DIR) \( -name '*.circo' ! -name '_*' \)) -GRAPHVIZ_CIRCO_SVG=$(patsubst $(GRAPHVIZ_SRC_DIR)/%.circo,$(GRAPHVIZ_DEST_DIR)/%.circo.svg,$(GRAPHVIZ_CIRCO)) -GRAPHVIZ_SVG=$(GRAPHVIZ_DOT_SVG) $(GRAPHVIZ_CIRCO_SVG) +GRAPHVIZ_CIRCO := $(shell find $(GRAPHVIZ_SRC_DIR) \( -name '*.circo' ! -name '_*' \)) +GRAPHVIZ_CIRCO_SVG := $(patsubst $(GRAPHVIZ_SRC_DIR)/%.circo,$(GRAPHVIZ_DEST_DIR)/%.circo.svg,$(GRAPHVIZ_CIRCO)) +GRAPHVIZ_SVG := $(GRAPHVIZ_DOT_SVG) $(GRAPHVIZ_CIRCO_SVG) ## ## Prerequisistes (system packages) ## -GRAPHVIZ_APT_PACKAGES=graphviz +GRAPHVIZ_APT_PACKAGES := graphviz ## ## Rules @@ -36,13 +36,22 @@ $(GRAPHVIZ_DEST_DIR)/%.dot.svg: $(GRAPHVIZ_SRC_DIR)/%.dot $(GRAPHVIZ_DEST_DIR)/%.circo.svg: $(GRAPHVIZ_SRC_DIR)/%.circo circo -Tsvg $< > $@ -graphviz-dot-svg: +$(GRAPHVIZ_SVG): | $(GRAPHVIZ_DEST_DIR) + mkdir -p $(GRAPHVIZ_DEST_DIR) -graphviz-circo-svg: +graphviz-build-dot-svg: $(GRAPHVIZ_DOT_SVG) -graphviz-svg: graphviz-dot-svg graphviz-circo-svg +graphviz-build-circo-svg: $(GRAPHVIZ_CIRCO_SVG) +graphviz-build-svg: graphviz-build-dot-svg graphviz-build-circo-svg + +graphviz-build: graphviz-build-svg + + +# Clean +# graphviz-clean-svg: + rm -f $(GRAPHVIZ_SVG) -graphviz-clean: +graphviz-clean: graphviz-clean-svg