diff --git a/Makefile b/Makefile index 051a17d..d2f8356 100644 --- a/Makefile +++ b/Makefile @@ -1,12 +1,34 @@ +DOCCRATES = arrayvec nodrop odds -docs: VERSION - cargo doc +# deps to delete the generated docs +RMDOCS = unreachable void + +FEATURES = odds/unstable + +VERSIONS = $(patsubst %,target/VERS/%,$(DOCCRATES)) + +docs: mkdocs 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 - # Put in the crate version into the docs - find ./doc -name "*.html" -exec sed -i -e "s/<title>\(.*\) - Rust/<title>$(shell cat VERSION) - \1 - Rust/g" {} \; + -cat ./custom.css >> doc/main.css -VERSION: Cargo.toml - cargo pkgid | sed -e "s/.*\/\(.*\)#\(.*\)/\1 - \2/" > $@ +$(RMDOCS): mkdocs + rm -r ./doc/$@ + sed -i "/searchIndex\['$@'\]/d" doc/search-index.js -.PHONY: docs + +.PHONY: docs mkdocs subst $(DOCCRATES) $(RMDOCS)