############ # Settings # ############ suffixPub := suffixInt := _intern ########### # Default # ########### suffixSubst = $(patsubst %.$(2),%$(4).$(3),$(1)) mdFiles := $(wildcard *.md) pdfFilesPub := $(call suffixSubst,$(mdFiles),md,pdf,$(suffixPub)) texFilesPub := $(call suffixSubst,$(mdFiles),md,tex,$(suffixPub)) pdfFilesInt := $(call suffixSubst,$(mdFiles),md,pdf,$(suffixInt)) texFilesInt := $(call suffixSubst,$(mdFiles),md,tex,$(suffixInt)) .PHONY: all pdf pdfPub pdfInt tex texPub texInt all: pdf pdf: pdfPub pdfInt pdfPub: $(pdfFilesPub) pdfInt: $(pdfFilesInt) tex: texPub texInt texPub: $(texFilesPub) texInt: $(texFilesInt) ########### # Recipes # ########### compile_md = pandoc \ $(2) \ --standalone \ --from markdown \ --to $(1) \ --template lenaisten \ --variable colorlinks:true \ --variable csquotes:true \ --variable lang:de-DE \ --output $(3) GSFLAGS := \ -sDEVICE=pdfwrite \ -dNOOUTERSAVE \ -dNOPAUSE \ -dQUIET \ -dBATCH postprocess_pdf = gs \ $(GSFLAGS) \ -sPAPERSIZE=a4 \ -dFIXEDMEDIA \ -dPDFFitPage \ -dCompatibilityLevel=1.7 \ -dPDFSETTINGS=/ebook \ -sOutputFile=$(2) \ $(1) \ 2>/dev/null convert_pdfa = /opt/pdfa/bin/gs-919-linux_x86_64 \ $(GSFLAGS) \ -dPDFA=2 \ -sProcessColorModel=DeviceRGB \ -dPDFACompatibilityPolicy=1 \ -sOutputFile=$(2) \ /opt/pdfa/PDFA_def.ps \ $(1) \ 2>/dev/null md2pdf = $(call compile_md,pdf,$(1),-) | $(call postprocess_pdf,-,$(2)) md2pdfa = $(call md2pdf,$(1),-) | $(call convert_pdfa,-,$(2)) # pdf %$(suffixPub).pdf: %.md lenaisten-defs.sty python3 ./redact.py $< | $(call md2pdfa,-,$@) %$(suffixInt).pdf: %.md lenaisten-defs.sty python3 ./redact.py -i $< | $(call md2pdfa,-,$@) # tex %$(suffixPub).tex: %.md lenaisten-defs.sty python3 ./redact.py $< | $(call compile_md,latex,-,$@) %$(suffixInt).tex: %.md lenaisten-defs.sty python3 ./redact.py -i $< | $(call compile_md,latex,-,$@)