third_party/rust/petgraph/Makefile
author David Teller <dteller@mozilla.com>
Wed, 04 Apr 2018 14:14:26 +0200
changeset 412088 a97cccaa866a0fbd5721842ad8d8e862cd26ea65
permissions -rw-r--r--
Bug 1437004 - Vendored Rust dependencies;r=froydnj MozReview-Commit-ID: Grf1bKIx2iT

DOCCRATES = petgraph fixedbitset

# deps to delete the generated docs
RMDOCS =

FEATURES = unstable

VERSIONS = $(patsubst %,target/VERS/%,$(DOCCRATES))

docs: mkdocs mksvgs subst $(RMDOCS)

# https://www.gnu.org/software/make/manual/html_node/Automatic-Variables.html
$(VERSIONS): Cargo.toml
	mkdir -p $(@D)
	cargo pkgid $(@F) | sed -e "s/.*#\(\|.*:\)//" > "$@"

$(DOCCRATES): %: target/VERS/%
	# Put in the crate version into the docs
	find ./doc/$@ -name "*.html" -exec sed -i -e "s/<title>\(.*\) - Rust/<title>$@ $(shell cat $<) - \1 - Rust/g" {} \;

subst: $(DOCCRATES)

mkdocs: Cargo.toml
	cargo doc --features=$(FEATURES)
	rm -rf ./doc
	cp -r ./target/doc ./doc
	- cat ./custom.css >> doc/main.css

$(RMDOCS): mkdocs
	rm -r ./doc/$@
	sed -i "/searchIndex\['$@'\]/d" doc/search-index.js

mksvgs: mkdocs graph-example.dot
	dot -Tsvg < ./graph-example.dot > graph-example.svg
	mv graph-example.svg ./doc/petgraph/graph/


.PHONY: docs mkdocs mksvgs subst $(DOCCRATES) $(RMDOCS)