diff options
| -rw-r--r-- | Makefile | 93 | ||||
| -rw-r--r-- | doc/Makefile | 46 | 
2 files changed, 91 insertions, 48 deletions
@@ -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) +  | 
