diff options
Diffstat (limited to 'doc/build.mk')
-rw-r--r-- | doc/build.mk | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/doc/build.mk b/doc/build.mk new file mode 100644 index 0000000..136048b --- /dev/null +++ b/doc/build.mk @@ -0,0 +1,62 @@ + +jsdoc-dir := $(build-dir)/jsdoc +manual-dir := $(build-dir)/manual +manual-src := $(path)/manual_src + +pandoc := $(shell which pandoc 2>/dev/null) + + +# HTML Generation ############################################################## + +# Use pandoc to generate HTML +quiet_cmd_pandoc = PANDOC $@ + cmd_pandoc = $(pandoc) $< -o $@ -s --highlight-style=kate \ + --template=$(manual-src)/template.html + +manual-deps := $(patsubst $(manual-src)/%.md,$(manual-dir)/%.html,\ + $(wildcard $(manual-src)/*.md)) + +$(manual-deps): $(manual-dir)/%.html: $(manual-src)/%.md | $(manual-dir) + $(call cmd,pandoc) + + +# HTML Manual ################################################################## + +ifneq "$(pandoc)" "" +all: web-manual +else +$(warning pandoc not found, not building the manual) +endif + +.PHONY: web-manual +web-manual: $(manual-deps) | $(manual-dir)/css-images $(manual-dir)/figures + + +# Stage Directories ############################################################ + +$(manual-dir): | $(build-dir) + $(call cmd,mkdir) + +define stage-doc-dir +$(manual-dir)/$(notdir $1): DIR := $1 +$(manual-dir)/$(notdir $1): $(wildcard $1/*) | $(manual-dir) + $$(call cmd,copydir) + +web-manual: $(manual-dir)/$(notdir $1) +endef + +$(eval $(call stage-doc-dir,$(manual-src)/css-images)) +$(eval $(call stage-doc-dir,$(manual-src)/figures)) +$(eval $(call stage-doc-dir,$(path)/css)) +$(eval $(call stage-doc-dir,$(path)/images)) + + + +# JsDoc Documentation ########################################################## + +all: | $(jsdoc-dir) + +$(jsdoc-dir): $(topdir)/contexts/data/fiveui/injected/prelude.js \ + $(topdir)/contexts/data/fiveui/injected/jquery-plugins.js \ + | $(build-dir) + $(call label,JSDOC)$(topdir)/tools/bin/jsdoc $^ $(if $(Q),>/dev/null) |