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/\(.*\) - 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)