diff --git a/Makefile b/Makefile index 0548d799..686ff8db 100644 --- a/Makefile +++ b/Makefile @@ -1,64 +1,70 @@ -TEXMFHOME = $(shell kpsewhich -var-value=TEXMFHOME) -INSTALL_DIR = $(TEXMFHOME)/tex/latex/mtheme -DOC_DIR = $(TEXMFHOME)/doc/latex/mtheme -TEMP_DIR = .temptex - -INS = mtheme.ins -DEMO_SRC = demo.tex -DEMO_PDF = demo.pdf -DOC_SRC = mtheme.dtx -DOC_PDF = mtheme.pdf -DTX = $(wildcard *.dtx) -STY = $(patsubst %.dtx,%.sty,$(wildcard beamer*.dtx pgfplotsthemetol.dtx)) +INS = source/beamerthemem.ins +PACKAGE_SRC = $(wildcard source/*.dtx) +PACKAGE_STY = $(notdir $(PACKAGE_SRC:%.dtx=%.sty)) +DEMO_SRC = demo/demo.tex demo/demo.bib +DEMO_PDF = demo/demo.pdf +DOC_SRC = doc/metropolistheme.dtx +DOC_PDF = doc/metropolistheme.pdf + CTAN_CONTENT = $(INS) $(DTX) $(DOC_PDF) -TEXC := latexmk -xelatex -output-directory=$(TEMP_DIR) +TEXMFHOME = $(shell kpsewhich -var-value=TEXMFHOME) +INSTALL_DIR = $(TEXMFHOME)/tex/latex/mtheme +DOC_DIR = $(TEXMFHOME)/doc/latex/mtheme +TEMP_DIR = $(shell pwd)/.latex-cache DOCKER_IMAGE = latex-image DOCKER_CONTAINER = latex-container +COMPILE_TEX := TEXINPUTS=".//:$$TEXINPUTS" latexmk -xelatex -output-directory=$(TEMP_DIR) -.PHONY: sty doc demo ctan clean install uninstall docker-run docker-build docker-rm -all: sty doc demo +.PHONY: all clean sty doc demo install uninstall ctan docker-run docker-build docker-rm -$(STY): $(DTX) $(INS) - @latex $(INS) +all: sty doc -$(DEMO_PDF): $(STY) $(DEMO_SRC) - $(TEXC) $(DEMO_SRC) - @cp $(TEMP_DIR)/$(DEMO_PDF) . - -$(DOC_PDF): $(DOC_SRC) $(DTX) - @$(TEXC) $(DOC_SRC) - @cp $(TEMP_DIR)/$(DOC_PDF) . +clean: + @rm -f $(TEMP_DIR)/* + @rm -f $(PACKAGE_STY) -sty: $(STY) +sty: $(PACKAGE_STY) doc: $(DOC_PDF) demo: $(DEMO_PDF) +install: $(PACKAGE_STY) $(DOC_PDF) + @mkdir -p $(INSTALL_DIR) + @cp $(PACKAGE_STY) $(INSTALL_DIR) + @mkdir -p $(DOC_DIR) + @cp $(DOC_PDF) $(DOC_DIR) + +uninstall: + @rm -f $(addprefix $(INSTALL_DIR)/, $(PACKAGE_STY)) + @rmdir $(INSTALL_DIR) + @rm -f $(DOC_DIR)/$(DOC_PDF) + @rmdir $(DOC_DIR) + ctan: $(CTAN_CONTENT) @mkdir -p mtheme @cp $(CTAN_CONTENT) mtheme/ @zip -q mtheme-$(shell grep -A1 ProvidesPackage < beamerthemem.dtx | grep -P -o '\d\.\d\.\d').zip mtheme/* @rm -rf mtheme -clean: - @git clean -xfd +$(TEMP_DIR): + @mkdir -p $(TEMP_DIR) -install: $(STY) $(DOC_PDF) - @mkdir -p $(INSTALL_DIR) - @cp $(STY) $(INSTALL_DIR) - @mkdir -p $(DOC_DIR) - @cp $(DOC_PDF) $(DOC_DIR) +$(PACKAGE_STY): $(PACKAGE_SRC) $(INS) | $(TEMP_DIR) + @cd $(dir $(INS)) && latex -output-directory=$(TEMP_DIR) $(notdir $(INS)) + @cp $(addprefix $(TEMP_DIR)/,$(PACKAGE_STY)) . -uninstall: - @rm -f $(addprefix $(INSTALL_DIR)/, $(STY)) - @rm -f $(DOC_DIR)/$(DOC_PDF) - @rmdir $(INSTALL_DIR) - @rmdir $(DOC_DIR) +$(DOC_PDF): $(DOC_SRC) $(PACKAGE_STY) | $(TEMP_DIR) + @$(COMPILE_TEX) $(DOC_SRC) + @cp $(TEMP_DIR)/$(notdir $(DOC_PDF)) $(DOC_PDF) + +$(DEMO_PDF): $(DEMO_SRC) $(PACKAGE_STY) | $(TEMP_DIR) + $(COMPILE_TEX) $(DEMO_SRC) + @cp $(TEMP_DIR)/$(notdir $(DEMO_PDF)) $(DEMO_PDF) docker-run: docker-build docker run --rm=true --name $(DOCKER_CONTAINER) -i -t -v `pwd`:/data $(DOCKER_IMAGE) make diff --git a/demo.pdf b/demo.pdf deleted file mode 100644 index ee73c7ea..00000000 Binary files a/demo.pdf and /dev/null differ diff --git a/demo.bib b/demo/demo.bib similarity index 100% rename from demo.bib rename to demo/demo.bib diff --git a/demo.tex b/demo/demo.tex similarity index 100% rename from demo.tex rename to demo/demo.tex diff --git a/logo/logo.pdf b/demo/logo.pdf similarity index 100% rename from logo/logo.pdf rename to demo/logo.pdf diff --git a/logo/logo.svg b/demo/logo.svg similarity index 100% rename from logo/logo.svg rename to demo/logo.svg diff --git a/mtheme.dtx b/doc/metropolistheme.dtx similarity index 100% rename from mtheme.dtx rename to doc/metropolistheme.dtx diff --git a/Dockerfile b/docker/Dockerfile similarity index 100% rename from Dockerfile rename to docker/Dockerfile diff --git a/getFiraFont.sh b/docker/getFiraFont.sh similarity index 100% rename from getFiraFont.sh rename to docker/getFiraFont.sh diff --git a/mtheme.pdf b/mtheme.pdf deleted file mode 100644 index 84df53ed..00000000 Binary files a/mtheme.pdf and /dev/null differ diff --git a/beamercolorthememetropolis.dtx b/source/beamercolorthememetropolis.dtx similarity index 100% rename from beamercolorthememetropolis.dtx rename to source/beamercolorthememetropolis.dtx diff --git a/beamerfontthememetropolis.dtx b/source/beamerfontthememetropolis.dtx similarity index 100% rename from beamerfontthememetropolis.dtx rename to source/beamerfontthememetropolis.dtx diff --git a/beamerinnerthememetropolis.dtx b/source/beamerinnerthememetropolis.dtx similarity index 100% rename from beamerinnerthememetropolis.dtx rename to source/beamerinnerthememetropolis.dtx diff --git a/beamerouterthememetropolis.dtx b/source/beamerouterthememetropolis.dtx similarity index 100% rename from beamerouterthememetropolis.dtx rename to source/beamerouterthememetropolis.dtx diff --git a/beamerthemem.dtx b/source/beamerthemem.dtx similarity index 100% rename from beamerthemem.dtx rename to source/beamerthemem.dtx diff --git a/mtheme.ins b/source/beamerthemem.ins similarity index 100% rename from mtheme.ins rename to source/beamerthemem.ins diff --git a/pgfplotsthemetol.dtx b/source/pgfplotsthemetol.dtx similarity index 100% rename from pgfplotsthemetol.dtx rename to source/pgfplotsthemetol.dtx