arrayvec 0.3.10

A vector with a fixed capacity, it can be stored on the stack too.
DOCCRATES = arrayvec nodrop odds

# deps to delete the generated docs
RMDOCS = unreachable void

FEATURES = odds/unstable

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

docs: mkdocs subst $(RMDOCS)

$(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

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