aboutsummaryrefslogtreecommitdiff
path: root/html/Makefile
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fl.fischer@fau.de>2021-03-27 20:30:40 +0100
committerFlorian Fischer <florian.fl.fischer@fau.de>2021-03-27 20:30:40 +0100
commit560b92e8c8189daffe9304a131240a522fb8f3db (patch)
treed287b5682c5d6521ba3c62381202a936c712d6a9 /html/Makefile
parent3eb23eb5fb2642c4e6315c080f82e1d17e104617 (diff)
downloadmuhqs-game-560b92e8c8189daffe9304a131240a522fb8f3db.tar.gz
muhqs-game-560b92e8c8189daffe9304a131240a522fb8f3db.zip
add en and de card listings to web page
Diffstat (limited to 'html/Makefile')
-rw-r--r--html/Makefile69
1 files changed, 49 insertions, 20 deletions
diff --git a/html/Makefile b/html/Makefile
index 29149997..06f711c0 100644
--- a/html/Makefile
+++ b/html/Makefile
@@ -14,7 +14,7 @@ MAPS_ROOT := $(GAME_ROOT)/maps
DATA_ROOT := $(GAME_ROOT)/data
CARDS_YML_DIR := $(DATA_ROOT)/cards
LATEX_ROOT := $(GAME_ROOT)/latex
-CARDS_PDF_DIR := $(LATEX_ROOT)/build
+LATEX_BUILDDIR := $(LATEX_ROOT)/build
GENERATE_CARD := $(GAME_ROOT)scripts/generate_card.py
GENERATE_CARD_ARGS := --format markdown
@@ -30,6 +30,12 @@ EN_RULES := $(addprefix $(RULES_ROOT)/en/,$(RULE_FILES))
RULES := $(DE_RULES) $(EN_RULES)
RULES_HTML := $(subst $(RULES_ROOT), $(BUILDDIR)/rules, $(RULES:.md=.html))
+CARDS_LISTING := cards_listing.md
+DE_CARDS_LISTING := de/$(CARDS_LISTING)
+EN_CARDS_LISTING := en/$(CARDS_LISTING)
+LANG_CARDS_LISTINGS := $(foreach card_listing, $(DE_CARDS_LISTING) $(EN_CARDS_LISTING), \
+ $(addprefix $(BUILDDIR)/, $(card_listing:.md=.html)))
+
SITES := index.md rules.md cards.md maps.md
HTML := $(addprefix $(BUILDDIR)/,$(SITES:.md=.html))
@@ -40,16 +46,54 @@ CARDS_YAML := $(foreach dir,$(SETS_SOURCEDIRS),$(wildcard $(dir)/*.yml))
MAKEFILE_LIST := Makefile
-.PHONY: all clean maps
-all: $(HTML) $(RULES_HTML) maps
+.PHONY: all clean maps cards
+all: $(HTML) $(RULES_HTML) maps cards
clean:
rm -rf $(BUILDDIR)
maps:
@echo "building $@"
- $(VERBOSE) ln -sf $(MAPS_ROOT) $(BUILDDIR)/maps
- $(VERBOSE) make -C $(MAPS_ROOT)
+ $(VERBOSE) ln -sfT $(MAPS_ROOT) $(BUILDDIR)/maps
+ $(VERBOSE) $(MAKE) -C $(MAPS_ROOT)
+
+.PHONY: cards-de
+cards-de:
+
+.PHONY: cards-en
+cards-en:
+
+cards: $(LANG_CARDS_LISTINGS)
+ @echo "create cards data symlink"
+ $(VERBOSE) ln -sfT $(DATA_ROOT)/cards $(BUILDDIR)/cards-data
+
+ @echo "render cards"
+ $(VERBOSE) $(MAKE) -C $(LATEX_ROOT)
+
+ @echo "create rendered cards symlink"
+ $(VERBOSE) ln -sfT $(LATEX_BUILDDIR) $(BUILDDIR)/cards
+
+define generateCardsListing
+$(1)/cards_listing.md: $(CARDS_YAML) $(GENERATE_CARD) $(MAKEFILE_LIST)
+ @echo "building $$@"
+ @if test \( ! \( -d $$(@D) \) \) ;then mkdir -p $$(@D);fi
+ $(VERBOSE) echo -e "% Cards" > $$@
+ $(VERBOSE) for set in $(SETS); \
+ do echo -e "\n##" $$$$set >> $$@; \
+ for card in $(CARDS_YML_DIR)/$$$$set/*.yml; \
+ do echo "" >> $$@; \
+ $(GENERATE_CARD) $(GENERATE_CARD_ARGS) --language=$(2) $$$$card >> $$@; \
+ done; \
+ done
+
+$(1)/cards_listing.html: $(1)/cards_listing.md
+ @echo "building $$@"
+ @if test \( ! \( -d $$(@D) \) \) ;then mkdir -p $$(@D);fi
+ $(VERBOSE) pandoc --toc $(PANDOC_FLAGS) $$< -o $$@;
+endef
+
+$(eval $(call generateCardsListing, $(BUILDDIR)/de,de))
+$(eval $(call generateCardsListing, $(BUILDDIR)/en,en))
define generateHtml
$(1)/%.html: %.md $(MAKEFILE_LIST) template.html
@@ -62,18 +106,3 @@ endef
$(eval $(call generateHtml, $(BUILDDIR)))
$(eval $(call generateHtml, $(BUILDDIR)/rules))
-
-cards.md: $(CARDS_YAML) $(GENERATE_CARD) $(MAKEFILE_LIST)
- @echo "render cards $@"
- $(VERBOSE) ln -sf $(DATA_ROOT)/cards $(BUILDDIR)/cards-data
- $(VERBOSE) ln -sf $(CARDS_PDF_DIR) $(BUILDDIR)/cards
- $(VERBOSE) make -C $(LATEX_ROOT)
- @echo "building $@"
- $(VERBOSE) echo -e "% Cards" > $@
- $(VERBOSE) for set in $(SETS); \
- do echo -e "\n##" $$set >> $@; \
- for card in $(CARDS_YML_DIR)/$$set/*.yml; \
- do echo "" >> $@; \
- $(GENERATE_CARD) $(GENERATE_CARD_ARGS) $$card >> $@; \
- done; \
- done