aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorGravatar Trevor Elliott <trevor@galois.com>2013-05-16 14:28:25 -0700
committerGravatar Trevor Elliott <trevor@galois.com>2013-05-16 14:28:25 -0700
commitd316614847c16569da34a42e808dfb332fc6b6c9 (patch)
tree1d76a49c647c645d4513ab970b500f3c7b6a0cf1 /doc
parentb4f01ad9fa584c77fe6b2a6f55a9e5c00a701e58 (diff)
Remove google closure, and start reworking the build system
Squashed commit of the following: commit 446aae2afd089c28abd1d03a5fd20d4735837e16 Author: Trevor Elliott <trevor@galois.com> Date: Thu May 16 11:50:17 2013 -0700 stage-dir doesn't need to be cleaned Since everything goes into a common build tree now, cleaning just involves removing the entire build tree. commit d8f531ddf8ee1406ec915502c28dc0eb3912d0ee Author: Trevor Elliott <trevor@galois.com> Date: Thu May 16 11:47:10 2013 -0700 Switch to placing build artifacts in a build tree commit 9eedeec8d6a1012b1b7e466120260276b1e952d4 Author: Trevor Elliott <trevor@galois.com> Date: Thu May 16 11:35:01 2013 -0700 Remove the closure_compiler and closure_linter commit 5784158cf2cd55f0ffd01147ae014379ecc857fd Author: Trevor Elliott <trevor@galois.com> Date: Thu May 16 11:34:27 2013 -0700 Move the scripts in build to tools/bin commit 64a6a53ea0fd5e299e9d17c0e4f8fedf305272dc Author: Trevor Elliott <trevor@galois.com> Date: Thu May 16 11:27:55 2013 -0700 Build jsdoc Also, remove the old Makefiles that were in doc, as they're not necessary anymore. commit 1ef0d9e39cd4a24807ee6ca956fbc627fb851b9d Author: Trevor Elliott <trevor@galois.com> Date: Thu May 16 11:18:59 2013 -0700 Conditionally build the manual commit c326c58059e0d5035edecfd6261ee42797c49c2c Author: Trevor Elliott <trevor@galois.com> Date: Thu May 16 11:13:31 2013 -0700 Get the html manual building again commit 480fa132ffb0562eb3f61d45d79d3315b1d3cc29 Author: Trevor Elliott <trevor@galois.com> Date: Thu May 16 11:13:01 2013 -0700 Move doc specific .gitignore stuff to doc/.gitignore commit 8c108d4e0df848839bcd6b4c22d623053f590e95 Author: Trevor Elliott <trevor@galois.com> Date: Wed May 15 10:42:41 2013 -0700 Fix some path inconsistencies in the contexts build.mk commit ee53404be09cf26983365374da84ade564b92926 Author: Trevor Elliott <trevor@galois.com> Date: Wed May 15 10:37:40 2013 -0700 Preliminary build system changes * Chrome extension builds, but there are problems commit 474c6b88190787aeffd960ffb5855d31770e7141 Author: Trevor Elliott <trevor@galois.com> Date: Mon May 13 19:06:31 2013 -0700 Remove the closure toolkit
Diffstat (limited to 'doc')
-rw-r--r--doc/.gitignore2
-rw-r--r--doc/Makefile31
-rw-r--r--doc/build.mk62
-rw-r--r--doc/manual_src/Makefile20
4 files changed, 64 insertions, 51 deletions
diff --git a/doc/.gitignore b/doc/.gitignore
new file mode 100644
index 0000000..65250b0
--- /dev/null
+++ b/doc/.gitignore
@@ -0,0 +1,2 @@
+/manual/
+/jsdoc/
diff --git a/doc/Makefile b/doc/Makefile
deleted file mode 100644
index a37743e..0000000
--- a/doc/Makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-JSDOC_DIR=jsdoc
-MANUAL_DIR=manual
-MANUAL_SRC=manual_src
-MAN_DEPS=$(MANUAL_SRC)/*.md $(MANUAL_SRC)/figures/*.png
-JSDOC_TOOLKIT=../build/jsdoc
-
-all: jsdoc man
-
-.PHONY: jsdoc
-jsdoc: ../contexts/data/fiveui/injected/prelude.js ../contexts/data/fiveui/injected/jquery-plugins.js
- @$(JSDOC_TOOLKIT) ../contexts/data/fiveui/injected/prelude.js ../contexts/data/fiveui/injected/jquery-plugins.js
-
-.PHONY: man
-man: web-manual
-
-$(MANUAL_DIR):
- @mkdir -p $(MANUAL_DIR)
-
-.PHONY: web-manual
-web-manual: $(MANUAL_DIR) $(MAN_DEPS)
- @make -C $(MANUAL_SRC)
- @cp -r $(MANUAL_SRC)/figures $(MANUAL_DIR)
-# @cp -r $(MANUAL_SRC)/images $(MANUAL_DIR)
- @cp $(MANUAL_SRC)/*.html $(MANUAL_DIR)
- @cp $(MANUAL_SRC)/*.css $(MANUAL_DIR)
-# @mv $(MANUAL_SRC)/*.html $(MANUAL_DIR)
-
-clean:
- @make -C $(MANUAL_SRC) clean
- @$(RM) -r $(JSDOC_DIR)
- @$(RM) -r $(MANUAL_DIR)
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)
diff --git a/doc/manual_src/Makefile b/doc/manual_src/Makefile
deleted file mode 100644
index e924b3f..0000000
--- a/doc/manual_src/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-
-LIBDIR=../..
-#LIBDIR=../../../FiveUI-github
-HEADER=galois-github-header.txt
-BEFORE_BODY=galois-github-before-body.txt
-AFTER_BODY=galois-github-after-body.txt
-#CSS=$(LIBDIR)/galois-github.css
-HTML5=-t html5
-
-DOCS := $(patsubst %.md,%.html,$(wildcard *.md))
-
-all: $(DOCS)
-
-clean:
- $(RM) $(DOCS)
-
-%.html: %.md
- pandoc $< -o $@ -s --highlight-style=kate --template=template.html #$(HTML5)
-# pandoc $< -o $@ -s --highlight-style=kate -H $(HEADER) -B $(BEFORE_BODY) -A $(AFTER_BODY) -c $(CSS) $(HTML5)
-