aboutsummaryrefslogtreecommitdiff
path: root/latex/Makefile
blob: 2dba3efae365039fd91972f05582c737563f2fff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
.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")

VERBOSE = @
PDF_DIR = ./build

CARD_PDFS = $(notdir $(CARD_SOURCES:.tex=.pdf))
CARD_PDFS_PREFIXED = $(addprefix $(PDF_DIR)/,$(CARD_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)/cards.pdf $(CARD_PDFS_PREFIXED) $(CARD_PNGS_PREFIXED)

$(PDF_DIR)/cards.pdf: cards.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)/%.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/