NAME := main RM := rm TEX := lualatex BIB := biber PANDOC := pandoc LUA := lualatex --luaonly OUTDIR=./output TEXFLAGS := --interaction=nonstopmode --output-directory=$(OUTDIR)/ BIBFLAGS := --input-directory=$(OUTDIR) --output-directory=$(OUTDIR)/ PRINTFORMAT := "\033[1;92;49m%s\033[m\n" MARKDOWNS := $(wildcard markdown/*.md) BIBFILE := references.bib MAIN := $(addsuffix .tex,${NAME}) MARKDOWN_OUTPUTS := $(patsubst markdown/%.md,md-out/%.tex,$(MARKDOWNS)) .PHONY: ${MAIN} clean all: ${MAIN} generate: ${LUA} generate-main.lua md-out/%.tex: markdown/%.md mkdir -p md-out ${PANDOC} -f gfm $< -t latex -o $@ single: ${TEX} ${TEXFLAGS} ./${NAME}.tex bib: ${BIB} ${BIBFLAGS} ${NAME} output/${NAME}.bcf: ${BIBFILE} @mkdir -p $(OUTDIR) @printf ${PRINTFORMAT} "[$@: Generating Bibliography Contexts]" -${TEX} ${TEXFLAGS} ./${NAME}.tex @printf ${PRINTFORMAT} "[$@: Building Bibliography Auxiliary File]" ${BIB} ${BIBFLAGS} ${NAME} @printf ${PRINTFORMAT} "[$@: Linking Indexes and Contexts]" -${TEX} ${TEXFLAGS} ./${NAME}.tex ${MAIN}: $(MARKDOWN_OUTPUTS) output/${NAME}.bcf @mkdir -p $(OUTDIR) @printf ${PRINTFORMAT} "[$@: Building Output]" ${TEX} ${TEXFLAGS} ./${NAME}.tex clean: ${RM} ./output/{*.aux,*.log,*.out,*.blg,*.bcf,*.bbl,*.xml} ${RM} -dr ./md-out