aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile36
1 files changed, 36 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..fad6c8a
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,36 @@
+PANDOC = pandoc
+LATEX = pdflatex
+LATEXMK = latexmk
+LUA = luajit
+
+MANUAL_ROOT = assets/manual
+
+MAN_PATH = $(MANUAL_ROOT)/man
+MAN_SRCS = $(wildcard $(MAN_PATH)/*/*.md)
+MAN_DSTS = $(MAN_SRCS:%.md=%)
+MAN_TEXS = $(MAN_SRCS:%.md=%.tex)
+
+TEX_PATH = $(MANUAL_ROOT)/tex
+MAN_TEX = $(TEX_PATH)/man.tex
+TEX_MAIN_SRCS = $(wildcard $(TEX_PATH)/*manual.tex)
+TEX_MAIN_DSTS = $(TEX_MAIN_SRCS:%.tex=%.pdf)
+
+all: doc
+
+doc: doc-pdf doc-man
+
+doc-pdf: $(TEX_MAIN_DSTS)
+%.pdf:: %.tex $(MAN_TEX)
+ $(LATEXMK) -cd -pdf $<
+
+doc-man: $(MAN_DSTS)
+ find assets/manual/man -regex '.*/[^.]+\.[^.]+$$' | tar -cJf ${MANUAL_ROOT}/man.tar.xz -T -
+
+%:: %.md
+ $(PANDOC) -s -t man -o $@ $<
+
+$(MAN_TEX): $(MAN_TEXS)
+ find $(MAN_PATH) -name '*.tex' -printf '\\input{../man/%P}\n' | sort > $(MAN_TEX)
+
+%.tex:: %.md
+ $(PANDOC) -L ${MANUAL_ROOT}/filter_man_md2tex.lua -t latex -o $@ $<