summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilipp Gesang <phg42.2a@gmail.com>2014-02-10 07:14:53 +0100
committerPhilipp Gesang <phg42.2a@gmail.com>2014-02-10 07:14:53 +0100
commit708c689312e75953db431f8838846996ff447789 (patch)
tree457dfafe34693e668d99b3c8e6f37f0ab0073d83
parent9fab25beeac99c0295f1a1f3db5aae711e564d72 (diff)
downloadluaotfload-708c689312e75953db431f8838846996ff447789.tar.gz
[doc] add Makefile for doc subtree
-rw-r--r--Makefile93
-rw-r--r--doc/Makefile46
2 files changed, 91 insertions, 48 deletions
diff --git a/Makefile b/Makefile
index 8405e3a..3ee6dc5 100644
--- a/Makefile
+++ b/Makefile
@@ -1,9 +1,7 @@
# Makefile for luaotfload
NAME = luaotfload
-DOC = $(NAME).pdf
-DTX = $(NAME).dtx
-OTFL = $(wildcard luaotfload-*.lua) luaotfload-blacklist.cnf
+LUAOTFLOAD = $(wildcard luaotfload-*.lua) luaotfload-blacklist.cnf
GLYPHSCRIPT = mkglyphlist
GLYPHSOURCE = glyphlist.txt
@@ -14,36 +12,36 @@ RESOURCESCRIPTS = $(GLYPHSCRIPT) $(CHARSCRIPT) $(STATUSSCRIPT)
SCRIPTNAME = luaotfload-tool
SCRIPT = $(SCRIPTNAME).lua
-MANSOURCE = $(SCRIPTNAME).rst
-MANPAGE = $(SCRIPTNAME).1
-OLDSCRIPT = luaotfload-legacy-tool.lua
-GRAPH = filegraph
-DOTPDF = $(GRAPH).pdf
-DOT = $(GRAPH).dot
+DOCSRCDIR = ./doc
+GRAPH = filegraph
+DOCSRC = $(DOCSRCDIR)/$(NAME).dtx
+GRAPHSRC = $(DOCSRCDIR)/$(GRAPH).doc
+MANSRC = $(DOCSRCDIR)/$(SCRIPTNAME).rst
+
+DOCPDF = $(DOCSRCDIR)/$(NAME).pdf
+DOTPDF = $(DOCSRCDIR)/$(GRAPH).pdf
+MANPAGE = $(DOCSRCDIR)/$(SCRIPTNAME).1
+
+DOCS = $(DOCPDF) $(DOTPDF) $(MANPAGE)
# Files grouped by generation mode
GLYPHS = luaotfload-glyphlist.lua
CHARS = luaotfload-characters.lua
STATUS = luaotfload-status.lua
RESOURCES = $(GLYPHS) $(CHARS) $(STATUS)
-GRAPHED = $(DOTPDF)
-MAN = $(MANPAGE)
-COMPILED = $(DOC)
-UNPACKED = luaotfload.sty
-GENERATED = $(GRAPHED) $(UNPACKED) $(COMPILED) $(RESOURCES) $(MAN)
-SOURCE = $(DTX) $(MANSOURCE) $(OTFL) README Makefile NEWS $(RESOURCESCRIPTS)
+SOURCE = $(DOCSRC) $(MANSRC) $(LUAOTFLOAD) README Makefile NEWS $(RESOURCESCRIPTS)
# Files grouped by installation location
SCRIPTSTATUS = $(SCRIPT) $(OLDSCRIPT) $(RESOURCESCRIPTS)
-RUNSTATUS = $(UNPACKED) $(filter-out $(SCRIPTSTATUS),$(OTFL))
-DOCSTATUS = $(DOC) $(DOTPDF) README NEWS
-MANSTATUS = $(MANPAGE)
-SRCSTATUS = $(DTX) Makefile
+RUNSTATUS = $(UNPACKED) $(filter-out $(SCRIPTSTATUS),$(LUAOTFLOAD))
+DOCSTATUS = $(DOCPDF) $(DOTPDF) README NEWS
+MANSTATUS = $(MANPAGE)
+SRCSTATUS = $(DOCSRC) $(MANSRC) $(GRAPHSRC) Makefile
# The following definitions should be equivalent
# ALL_STATUS = $(RUNSTATUS) $(DOCSTATUS) $(SRCSTATUS)
-ALL_STATUS = $(GENERATED) $(SOURCE)
+ALL_STATUS = $(RESOURCES) $(SOURCE)
# Installation locations
FORMAT = luatex
@@ -63,20 +61,11 @@ ZIPS = $(CTAN_ZIP) $(TDS_ZIP)
LUA = texlua
-DO_TEX = luatex --interaction=batchmode $< >/dev/null
-DO_LATEXMK = latexmk -e '$$max_repeat = 5' -pdf -lualatex -silent $< >/dev/null
-# latexmk does only one run on my machine, so we’re not going to rely on it
-DO_LATEX = lualatex -interaction=batchmode $< >/dev/null
-DO_GRAPHVIZ = dot -Tpdf -o $@ $< > /dev/null
DO_GLYPHS = $(LUA) $(GLYPHSCRIPT) > /dev/null
-DO_CHARS = $(LUA) $(CHARSCRIPT) > /dev/null
+DO_CHARS = $(LUA) $(CHARSCRIPT) > /dev/null
DO_STATUS = $(LUA) $(STATUSSCRIPT) > /dev/null
-DO_DOCUTILS = rst2man $< >$@ 2>/dev/null
all: $(GENERATED)
-graph: $(GRAPHED)
-doc: $(GRAPHED) $(COMPILED) $(MAN)
-manual: $(MAN)
unpack: $(UNPACKED)
resources: $(RESOURCES)
chars: $(CHARS)
@@ -85,6 +74,20 @@ ctan: $(CTAN_ZIP)
tds: $(TDS_ZIP)
world: all ctan
+graph: $(DOTPDF)
+doc: $(DOCS)
+pdf: $(DOCPDF)
+manual: $(MANPAGE)
+
+$(DOTPDF):
+ @make -C $(DOCSRCDIR) graph
+
+$(DOCPDF):
+ @make -C $(DOCSRCDIR) doc
+
+$(MANPAGE):
+ @make -C $(DOCSRCDIR) manual
+
$(GLYPHS): /dev/null
$(DO_GLYPHS)
@@ -94,19 +97,6 @@ $(CHARS): /dev/null
$(STATUS): /dev/null
$(DO_STATUS)
-$(GRAPHED): $(DOT)
- $(DO_GRAPHVIZ)
-
-$(COMPILED): $(DTX)
- $(DO_LATEX)
- $(DO_LATEX)
-
-$(UNPACKED): $(DTX)
- $(DO_TEX)
-
-$(MAN): $(MANSOURCE)
- $(DO_DOCUTILS)
-
define make-ctandir
@$(RM) -rf $(DISTDIR)
@mkdir -p $(DISTDIR) && cp $(SOURCE) $(COMPILED) $(DISTDIR)
@@ -118,18 +108,22 @@ $(CTAN_ZIP): $(SOURCE) $(COMPILED) $(TDS_ZIP)
$(make-ctandir)
@zip -r -9 $@ $(TDS_ZIP) $(DISTDIR) >/dev/null
-define run-install
-@mkdir -p $(SCRIPTDIR) && cp $(SCRIPTSTATUS) $(SCRIPTDIR)
-@mkdir -p $(RUNDIR) && cp $(RUNSTATUS) $(RUNDIR)
+define run-install-doc
@mkdir -p $(DOCDIR) && cp $(DOCSTATUS) $(DOCDIR)
@mkdir -p $(SRCDIR) && cp $(SRCSTATUS) $(SRCDIR)
@mkdir -p $(MANDIR) && cp $(MANSTATUS) $(MANDIR)
endef
+define run-install
+@mkdir -p $(SCRIPTDIR) && cp $(SCRIPTSTATUS) $(SCRIPTDIR)
+@mkdir -p $(RUNDIR) && cp $(RUNSTATUS) $(RUNDIR)
+endef
+
$(TDS_ZIP): TEXMFROOT=./tmp-texmf
$(TDS_ZIP): $(ALL_STATUS)
@echo "Making TDS-ready archive $@."
@$(RM) -- $@
+ $(run-install-docs)
$(run-install)
@cd $(TEXMFROOT) && zip -9 ../$@ -r . >/dev/null
@$(RM) -r -- $(TEXMFROOT)
@@ -138,19 +132,22 @@ $(TDS_ZIP): $(ALL_STATUS)
install: $(ALL_STATUS)
@echo "Installing in '$(TEXMFROOT)'."
+ $(run-install-docs)
$(run-install)
-manifest:
+manifest:
@echo "Source files:"
@for f in $(SOURCE); do echo $$f; done
@echo ""
@echo "Derived files:"
@for f in $(GENERATED); do echo $$f; done
-clean:
+clean:
+ make -C $(DOCSRCDIR) $@
@$(RM) -- *.log *.aux *.toc *.idx *.ind *.ilg *.out
mrproper: clean
+ make -C $(DOCSRCDIR) $@
@$(RM) -- $(GENERATED) $(ZIPS) $(GLYPHSOURCE)
@$(RM) -r -- $(DISTDIR)
diff --git a/doc/Makefile b/doc/Makefile
new file mode 100644
index 0000000..1ef7243
--- /dev/null
+++ b/doc/Makefile
@@ -0,0 +1,46 @@
+NAME = luaotfload
+DOCPDF = $(NAME).pdf
+DOCDTX = $(NAME).dtx
+
+SCRIPTNAME = luaotfload-tool
+MANSOURCE = $(SCRIPTNAME).rst
+MANPAGE = $(SCRIPTNAME).1
+
+GRAPH = filegraph
+DOTPDF = $(GRAPH).pdf
+DOT = $(GRAPH).dot
+
+DOCS = $(DOTPDF) $(DOCPDF) $(MANPAGE)
+
+DO_LATEXMK = @latexmk -e '$$max_repeat = 5' -pdf -lualatex -silent $< >/dev/null
+# latexmk does only one run on my machine, so we’re not going to rely on it
+DO_LATEX = @lualatex -interaction=batchmode $< >/dev/null
+DO_GRAPHVIZ = @dot -Tpdf -o $@ $< > /dev/null
+DO_DOCUTILS = @rst2man $< >$@ 2>/dev/null
+
+doc: graph $(DOCPDF)
+all: manual doc
+graph: $(DOTPDF)
+manual: $(MANPAGE)
+
+$(DOCPDF): $(DOCDTX)
+ @echo "creating PDF documentation ($(DOCPDF))"
+ $(DO_LATEX)
+ $(DO_LATEX)
+
+$(MANPAGE): $(MANSOURCE)
+ @echo "creating man page ($(MANPAGE))"
+ $(DO_DOCUTILS)
+
+$(DOTPDF): $(DOT)
+ @echo "creating file graph ($(DOTPDF))"
+ $(DO_GRAPHVIZ)
+
+.PHONY: clean mrproper
+
+clean:
+ @$(RM) -- *.log *.aux *.toc *.idx *.ind *.ilg *.out
+
+mrproper: clean
+ @$(RM) -- $(DOCS)
+