diff options
| author | Florian Fischer <florian.fl.fischer@fau.de> | 2021-03-27 20:30:40 +0100 |
|---|---|---|
| committer | Florian Fischer <florian.fl.fischer@fau.de> | 2021-03-27 20:30:40 +0100 |
| commit | 560b92e8c8189daffe9304a131240a522fb8f3db (patch) | |
| tree | d287b5682c5d6521ba3c62381202a936c712d6a9 /html/Makefile | |
| parent | 3eb23eb5fb2642c4e6315c080f82e1d17e104617 (diff) | |
| download | muhqs-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/Makefile | 69 |
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 |
