-include ../config.mk include ../default.mk docs: texi info html html-dir pdf texi: $(PKG).texi info: $(PKG).info dir html: $(PKG).html html-dir: $(PKG)/index.html pdf: $(PKG).pdf ORG_ARGS = --batch -Q $(ORG_LOAD_PATH) ORG_EVAL += --eval "(setq indent-tabs-mode nil)" ORG_EVAL += --eval "(setq org-src-preserve-indentation nil)" ORG_EVAL += --funcall org-texinfo-export-to-texinfo redo-docs: @touch $(PKG).org @make docs .revdesc: ; _ := $(shell test "$(REVDESC)" = "$$(cat .revdesc 2> /dev/null)" ||\ echo "$(REVDESC)" > .revdesc) %.texi: %.org .orgconfig .revdesc @printf "Generating $@\n" @$(EMACS) $(ORG_ARGS) $< $(ORG_EVAL) %.info: %.texi @printf "Generating $@\n" @$(MAKEINFO) --no-split $< -o $@ dir: $(PKG).info @printf "Generating $@\n" @printf "%s" $^ | xargs -n 1 $(INSTALL_INFO) --dir=$@ HTML_FIXUP_CSS = '//a\ \ \n\ \n\ \n\ \n\ \n' HTML_FIXUP_ONLOAD = 's///' HTML_FIXUP_MENU = '/<\/body>/i
<\/div>' %.html: %.texi @printf "Generating $@\n" @$(MAKEINFO) --html --no-split $(MANUAL_HTML_ARGS) $< @sed -i -e $(HTML_FIXUP_CSS) -e $(HTML_FIXUP_ONLOAD) -e $(HTML_FIXUP_MENU) $@ %/index.html: %.texi @printf "Generating $(PKG)/*.html\n" @rm -rf $(PKG) @$(MAKEINFO) --html -o $(PKG)/ $(MANUAL_HTML_ARGS) $< @for f in $$(find $(PKG) -name '*.html') ; do \ sed -i -e $(HTML_FIXUP_CSS) -e $(HTML_FIXUP_ONLOAD) -e $(HTML_FIXUP_MENU) $$f ; \ done %.pdf: %.texi @printf "Generating $@\n" @texi2pdf --clean $< > /dev/null PUBLISH_PATH ?= /manual/ RELEASE_PATH ?= /manual/$(VERSION)/ S3_BUCKET ?= s3://$(DOMAIN) PUBLISH_TARGET = $(S3_BUCKET)$(PUBLISH_PATH) RELEASE_TARGET = $(S3_BUCKET)$(RELEASE_PATH) CFRONT_PATHS = $(PKG).html $(PKG).pdf $(PKG)/* comma := , empty := space := $(empty) $(empty) publish: redo-docs @aws s3 cp $(PKG).html $(PUBLISH_TARGET) @aws s3 cp $(PKG).pdf $(PUBLISH_TARGET) @aws s3 sync $(PKG) $(PUBLISH_TARGET)$(PKG)/ @printf "Generating CDN invalidation\n" @aws cloudfront create-invalidation --distribution-id $(CFRONT_DIST) --paths \ "$(subst $(space),$(comma),$(addprefix $(PUBLISH_PATH),$(CFRONT_PATHS)))" > /dev/null release: redo-docs @aws s3 cp $(PKG).html $(RELEASE_TARGET) @aws s3 cp $(PKG).pdf $(RELEASE_TARGET) @aws s3 sync $(PKG) $(RELEASE_TARGET)$(PKG)/ @aws s3 cp $(PUBLISH_TARGET)dir.html $(RELEASE_TARGET)dir.html @aws s3 cp $(PUBLISH_TARGET)dir/index.html $(RELEASE_TARGET)dir/index.html @printf "Generating CDN invalidation\n" @aws cloudfront create-invalidation --distribution-id $(CFRONT_DIST) --paths \ "$(subst $(space),$(comma),$(addprefix $(RELEASE_PATH),$(CFRONT_PATHS)))" > /dev/null .PHONY: stats stats: @printf "Generating statistics\n" @$(GITSTATS) $(GITSTATS_ARGS) $(TOP) $(GITSTATS_DIR) stats-upload: @printf "Uploading statistics...\n" @aws s3 sync $(GITSTATS_DIR) $(S3_BUCKET)/stats/$(PKG) @printf "Uploaded to $(S3_BUCKET)/stats/$(PKG)\n" @printf "Generating CDN invalidation\n" @aws cloudfront create-invalidation \ --distribution-id $(CFRONT_DIST) --paths "/stats/*" > /dev/null CLEAN = $(PKG).info dir $(PKG) $(PKG).html $(PKG).pdf clean: @printf " Cleaning docs/*...\n" @rm -rf $(CLEAN)