its-ip/Makefile

74 lines
2.0 KiB
Makefile
Raw Normal View History

2018-02-28 23:56:15 +00:00
PANDOC = pandoc
LATEX = lualatex
LATEX_FLAGS = \
-file-line-error \
-recorder \
-interaction=nonstopmode \
-halt-on-error \
--shell-escape
PANDOC_FLAGS = --top-level-division=section
PANDOC_DOCX_FLAGS = --reference-doc=pandoc/reference.docx
PANDOC_ODT_FLAGS = --reference-doc=pandoc/reference.odt
SOFFICE = soffice
SOFFICE_FLAGS = --headless
MARKDOWN_INPUTS = $(wildcard *.md)
.PHONY: all build clean clean-pdf clean-tex clean-odt clean-docx default
TEXINPUTS := .:./pkg/:$(TEXINPUTS)
export TEXINPUTS
default: all
all: all-docx all-odt all-pdf all-tex
all-tex: $(addsuffix .tex,$(basename $(MARKDOWN_INPUTS)))
all-docx: $(addsuffix .docx,$(basename $(MARKDOWN_INPUTS)))
all-odt: $(addsuffix .odt,$(basename $(MARKDOWN_INPUTS)))
all-pdf: $(addsuffix .pdf,$(basename $(MARKDOWN_INPUTS)))
clean: clean-docx clean-odt clean-pdf clean-tex
clean-docx:
rm -f $(addsuffix .docx,$(basename $(MARKDOWN_INPUTS)))
clean-tex:
rm -f $(addsuffix .tex,$(basename $(MARKDOWN_INPUTS)))
clean-pdf:
rm -f \
$(addsuffix .aux,$(basename $(MARKDOWN_INPUTS))) \
$(addsuffix .pdf,$(basename $(MARKDOWN_INPUTS))) \
$(addsuffix .out,$(basename $(MARKDOWN_INPUTS))) \
$(addsuffix .fls,$(basename $(MARKDOWN_INPUTS))) \
$(addsuffix .log,$(basename $(MARKDOWN_INPUTS))) \
$(addsuffix .toc,$(basename $(MARKDOWN_INPUTS))) \
missfont.log
clean-odt:
rm -f $(addsuffix .odt,$(basename $(MARKDOWN_INPUTS)))
%.docx: %.odt
$(SOFFICE) $(SOFFICE_FLAGS) --convert-to docx $<
%.odt: %.md
@echo $< "->" $@
tmpname=$(shell mktemp ~.tmp_XXXXXX.odtpandoc) &&\
$(PANDOC) $(PANDOC_FLAGS) $(PANDOC_ODT_FLAGS) $< -o "$$tmpname" &&\
$(SOFFICE) $(SOFFICE_FLAGS) --convert-to odt "$$tmpname" &&\
rm -f "$$tmpname" &&\
mv "$$(basename "$$tmpname" .odtpandoc).odt" $@
%.pdf: %.tex
@echo $< "->" $@
$(LATEX) $(LATEX_FLAGS) $(LATEX_PDF_FLAGS) $< 1>/dev/null
$(LATEX) $(LATEX_FLAGS) $(LATEX_PDF_FLAGS) $< 1>/dev/null
%.tex: %.md
@echo $< "->" $@
$(PANDOC) $(PANDOC_FLAGS) $(PANDOC_TEX_FLAGS) --listings -s $< -o $@