aboutsummaryrefslogtreecommitdiff
path: root/doc/build.mk
diff options
context:
space:
mode:
Diffstat (limited to 'doc/build.mk')
-rw-r--r--doc/build.mk62
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)