aboutsummaryrefslogtreecommitdiff
path: root/latex/Makefile
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fischer@muhq.space>2021-12-06 16:26:57 +0100
committerFlorian Fischer <florian.fischer@muhq.space>2021-12-06 16:26:57 +0100
commit2799c4584f3555157561982660fc2d97ef3509ab (patch)
tree5b8b6ed05d075f002d24dfc43b2fc416ece07272 /latex/Makefile
parent97f1beada92fd0b0896add4070a9ac496faadf8d (diff)
downloadmuhqs-game-2799c4584f3555157561982660fc2d97ef3509ab.tar.gz
muhqs-game-2799c4584f3555157561982660fc2d97ef3509ab.zip
add deck support and three decks
Add script to geenrate latex file containing all cards in a deck. Add make rules to generate and build the deck latex. Add decks: * spell slinger * recruiter rush * approach
Diffstat (limited to 'latex/Makefile')
-rw-r--r--latex/Makefile35
1 files changed, 30 insertions, 5 deletions
diff --git a/latex/Makefile b/latex/Makefile
index ec482628..708b9f38 100644
--- a/latex/Makefile
+++ b/latex/Makefile
@@ -32,6 +32,9 @@ PDFLATEX_ENV := TEXINPUTS=".:$(ASSETS_PATH):"
GENERATE_CARD := $(GAME_ROOT)/scripts/generate_card.py
GENERATE_CARD_FLAGS := --language=$(LANGUAGE)
+GENERATE_DECK := $(GAME_ROOT)/scripts/generate_deck.py
+GENERATE_DECK_FLAGS := --language=$(LANGUAGE)
+
SETS := $(shell find $(CARDS_YML_DIR) -mindepth 1 -type d -printf "%f\n")
SETS_SOURCEDIRS := $(foreach set, $(SETS), $(addprefix $(CARDS_YML_DIR)/, $(set)))
@@ -44,8 +47,18 @@ SETS_TEX := $(foreach set, $(SETS), $(addprefix $(SETS_TEX_DIR)/, $(set).tex))
SETS_PDF_DIR := $(BUILDDIR)
SETS_PDF := $(foreach set, $(SETS), $(addprefix $(SETS_PDF_DIR)/, $(set).pdf))
+DECKS_SOURCEDIR := $(DATA_ROOT)/decks
+DECKS := $(shell find $(DECKS_SOURCEDIR) -mindepth 1 -type f -name "*.deck" -printf "%f\n")
+DECKS := $(foreach deck, $(DECKS), $(subst .deck,,$(deck)))
+
+DECKS_TEX_DIR := $(LATEX_ROOT)/decks/$(LANGUAGE)
+DECKS_TEX := $(foreach deck, $(DECKS), $(addprefix $(DECKS_TEX_DIR)/, $(deck).tex))
+
+DECKS_PDF_DIR := $(BUILDDIR)/decks
+DECKS_PDF := $(foreach deck, $(DECKS), $(addprefix $(DECKS_PDF_DIR)/, $(deck).pdf))
+
# Add all dirs to VPATH where we generate or store dependencies
-VPATH = $(SETS_SOURCEDIRS) $(SETS_TEXDIRS) $(SETS_TEX_DIR) $(CARDS_TEX_DIR)
+VPATH = $(SETS_SOURCEDIRS) $(SETS_TEXDIRS) $(SETS_TEX_DIR) $(DECKS_SOURCEDIR) $(DECKS_TEX_DIR) $(CARDS_TEX_DIR)
# Create a list of yaml card definitions
CARDS_YML := $(foreach dir,$(SETS_SOURCEDIRS),$(wildcard $(dir)/*.yml))
@@ -84,11 +97,16 @@ endef
# Generate set tex rules
$(foreach set, $(SETS), $(eval $(call generateSetTexRules,$(set))))
+$(DECKS_TEX_DIR)/%.tex: $(DECKS_SOURCEDIR)/%.deck $(GENERATE_DECK)
+ @echo generating $@
+ @if test \( ! \( -d $(@D) \) \) ;then mkdir -p $(@D);fi
+ $(VERBOSE) $(GENERATE_DECK) $(GENERATE_DECK_FLAGS) $< > $@
+
define generateCardTexRules
$(1)/%.tex: %.yml $(GENERATE_CARD)
@echo building $$@
@if test \( ! \( -d $$(@D) \) \) ;then mkdir -p $$(@D);fi
- $(VERBOSE)$(GENERATE_CARD) $(GENERATE_CARD_FLAGS) $$< > $$@
+ $(VERBOSE) $(GENERATE_CARD) $(GENERATE_CARD_FLAGS) $$< > $$@
endef
# Generate cards tex rules
@@ -98,13 +116,15 @@ define generatePdfRules
$(1)/%.pdf: %.tex $(COMMON_TEX_FILES) $(MAKEFILE_LIST)
@echo building $$@
@if test \( ! \( -d $$(@D) \) \) ;then mkdir -p $$(@D);fi
- $(VERBOSE)$(PDFLATEX_ENV) $(PDFLATEX) --output-directory $$(@D) $$<
+ $(VERBOSE) $(PDFLATEX_ENV) $(PDFLATEX) --output-directory $$(@D) $$<
endef
# Generate cards pdf rules
$(foreach pdfdir, $(SETS_BUILDDIRS), $(eval $(call generatePdfRules, $(pdfdir))))
# Generate sets pdf rule
$(eval $(call generatePdfRules, $(SETS_PDF_DIR)))
+# Generate decks pdf rule
+$(eval $(call generatePdfRules, $(DECKS_PDF_DIR)))
.PHONY: all de en
@@ -120,6 +140,11 @@ sets: sets-tex sets-pdf
sets-tex: $(SETS_TEX)
sets-pdf: $(SETS_PDF)
+.PHONY: decks decks-tex decks-pdf
+decks: decks-tex decks-pdf
+sets-tex: $(DECKS_TEX)
+sets-pdf: $(DECKS_PDF)
+
.PHONY: cards-all cards-tex cards-pdf cards-png
cards-all: cards-tex cards-pdf cards-png
@echo "building $(LANGUAGE) cards"
@@ -131,12 +156,12 @@ cards-png: $(CARDS_PNG) $(SPECIAL_CARDS_PNG)
$(BUILDDIR)/cards.pdf: $(CARDS_PDF) $(MAKEFILE_LIST)
@echo "building › › $@"
@if test \( ! \( -d $(@D) \) \) ;then mkdir -p $(@D);fi
- $(VERBOSE)$(PDFUNITE) $(CARDS_PDF) $@
+ $(VERBOSE) $(PDFUNITE) $(CARDS_PDF) $@
%.png: %.pdf $(MAKEFILE_LIST)
@echo "png › $@"
@if test \( ! \( -d $(@D) \) \) ;then mkdir -p $(@D);fi
- $(VERBOSE)$(PDFTOPPM) $(PDFTOPPM_FLAGS) $< $*
+ $(VERBOSE) $(PDFTOPPM) $(PDFTOPPM_FLAGS) $< $*
.PHONY: clean-build clean-tex clean-both tabula-rasa