summaryrefslogtreecommitdiff
path: root/macros/luatex/latex/luacode/Makefile
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/luatex/latex/luacode/Makefile
Initial commit
Diffstat (limited to 'macros/luatex/latex/luacode/Makefile')
-rw-r--r--macros/luatex/latex/luacode/Makefile90
1 files changed, 90 insertions, 0 deletions
diff --git a/macros/luatex/latex/luacode/Makefile b/macros/luatex/latex/luacode/Makefile
new file mode 100644
index 0000000000..dcc90a75a9
--- /dev/null
+++ b/macros/luatex/latex/luacode/Makefile
@@ -0,0 +1,90 @@
+NAME = luacode
+FORMAT = lualatex
+
+DTX = $(NAME).dtx
+DOC = $(NAME).pdf
+STY = $(NAME).sty
+TEST = test-$(NAME).tex
+TESTLOG = test-$(NAME).log
+
+UNPACKED = $(STY) $(TEST)
+GENERATED = $(UNPACKED) $(DOC)
+SOURCES = $(DTX) README News Makefile
+
+SRCFILES = $(DTX) Makefile
+DOCFILES = $(DOC) README News
+RUNFILES = $(STY)
+ALL = $(SRCFILES) $(DOCFILES) $(RUNFILES)
+
+TEXMFROOT = ./texmf
+RUNDIR = $(TEXMFROOT)/tex/$(FORMAT)/$(NAME)
+DOCDIR = $(TEXMFROOT)/doc/$(FORMAT)/$(NAME)
+SRCDIR = $(TEXMFROOT)/source/$(FORMAT)/$(NAME)
+
+CTAN_ZIP = $(NAME).zip
+TDS_ZIP = $(NAME).tds.zip
+ZIPS = $(CTAN_ZIP) $(TDS_ZIP)
+
+all: $(GENERATED)
+doc: $(DOC)
+unpack: $(UNPACKED)
+ctan: check $(CTAN_ZIP)
+tds: $(TDS_ZIP)
+world: ctan
+
+.PHONY: all doc unpack ctan tds check world
+
+%.pdf: %.dtx
+ latexmk -pdf -silent $< >/dev/null
+
+$(UNPACKED): $(DTX)
+ tex -interaction=batchmode $< >/dev/null
+
+check: $(UNPACKED)
+ lualatex -interaction=batchmode $(TEST) >/dev/null
+ ! grep 'blank space' $(TESTLOG)
+
+$(CTAN_ZIP): $(DOC) $(SOURCES) $(TDS_ZIP)
+ @echo "Making $@ for CTAN upload."
+ @$(RM) -- $@
+ @zip -9 -q $@ $^
+
+define run-install
+@mkdir -p $(RUNDIR) && cp $(RUNFILES) $(RUNDIR)
+@mkdir -p $(DOCDIR) && cp $(DOCFILES) $(DOCDIR)
+@mkdir -p $(SRCDIR) && cp $(SRCFILES) $(SRCDIR)
+endef
+
+$(TDS_ZIP): TEXMFROOT=./tmp-texmf
+$(TDS_ZIP): $(ALL)
+ @echo "Making TDS-ready archive $@."
+ @$(RM) -- $@
+ @if test -e $(TEXMFROOT); then echo 'bad TEXMFROOT'; false; fi
+ $(run-install)
+ @cd $(TEXMFROOT) && zip -q -9 ../$@ -r .
+ @$(RM) -r -- $(TEXMFROOT)
+
+.PHONY: install clean mrproper help
+
+install: check $(ALL)
+ @echo "Installing in '$(TEXMFROOT)'."
+ $(run-install)
+
+clean:
+ @latexmk -silent -c $(DTX) >/dev/null
+ @rm -f -- test-*.log test-*.aux test-*.pdf
+
+mrproper: clean
+ @rm -f -- $(GENERATED) $(ZIPS)
+
+help:
+ @echo '$(NAME) makefile targets:'
+ @echo ' help - (this message)'
+ @echo ' all - (default target) all generated files'
+ @echo ' world - synonymous for ctan'
+ @echo ' unpack - extract all files'
+ @echo ' doc - compile documentation'
+ @echo ' ctan - run check & generate archive for CTAN'
+ @echo ' tds - generate a TDS compliant archive'
+ @echo ' check - run the test files'
+ @echo ' install TEXMFROOT=<path> - install in <path>'