.PHONY: all clean .DEFAULT_GOAL = all PDFLATEX = lualatex PDFTOPPM = pdftoppm PDFTOPPM_FLAGS = -singlefile -png -r 300 COMMON_TEX_FILES = libs.tex colors.tex tikzcards.tex CARDS_DIR = cards CARD_SOURCES = $(shell find $(CARDS_DIR) -name "*.tex") SETS_DIR = sets SETS_SOURCES = $(shell find $(SETS_DIR) -name "*.tex") VERBOSE = @ PDF_DIR = ./build ALL_SOURCES = $(CARD_SOURCES) $(SETS_SOURCES) PDFS = $(notdir $(ALL_SOURCES:.tex=.pdf)) PDFS_PREFIXED = $(addprefix $(PDF_DIR)/,$(PDFS)) CARD_PNGS = $(notdir $(CARD_SOURCES:.tex=.png)) CARD_PNGS_PREFIXED = $(addprefix $(PDF_DIR)/,$(CARD_PNGS)) MAKEFILE_LIST = Makefile ASSETS_PATH = ./assets PDFLATEX_ENV := TEXINPUTS=".:$(ASSETS_PATH):" all: $(PDF_DIR)/print.pdf $(PDFS_PREFIXED) $(CARD_PNGS_PREFIXED) $(PDF_DIR)/print.pdf: print.tex $(CARD_SOURCES) $(COMMON_TEX_FILES) $(MAKEFILE_LIST) @echo "building › › $@" @if test \( ! \( -d $(@D) \) \) ;then mkdir -p $(@D);fi $(VERBOSE) $(PDFLATEX_ENV) $(PDFLATEX) --output-directory $(PDF_DIR) $^ $(PDF_DIR)/%.pdf : $(CARDS_DIR)/%.tex $(COMMON_TEX_FILES) $(MAKEFILE_LIST) @echo "card › $@" @if test \( ! \( -d $(@D) \) \) ;then mkdir -p $(@D);fi $(VERBOSE) $(PDFLATEX_ENV) $(PDFLATEX) --output-directory $(PDF_DIR) $(CARDS_DIR)/$*.tex $(PDF_DIR)/%.pdf : $(SETS_DIR)/%.tex $(CARD_SOURCES) $(COMMON_TEX_FILES) $(MAKEFILE_LIST) @echo "card › $@" @if test \( ! \( -d $(@D) \) \) ;then mkdir -p $(@D);fi $(VERBOSE) $(PDFLATEX_ENV) $(PDFLATEX) --output-directory $(PDF_DIR) $^ $(PDF_DIR)/%.png : $(PDF_DIR)/%.pdf $(MAKEFILE_LIST) @echo "png › $@" @if test \( ! \( -d $(@D) \) \) ;then mkdir -p $(@D);fi $(VERBOSE) $(PDFTOPPM) $(PDFTOPPM_FLAGS) $(PDF_DIR)/$*.pdf $(PDF_DIR)/$* clean: rm -rf build/