mtheme/Makefile
Benjamin Weiss f6fc58c6c7 added minimal demo for faster option testing + Makefile changes
In the process I reorganized the Makefile
- renamed manual to doc (mainly because I’m too lazy to write `make
manual`)
- fixed missing dependency in for DOC_PDF
- sorted macros (directories, files, commands)
2015-06-30 00:09:39 +02:00

78 lines
1.7 KiB
Makefile

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
DEMO_MIN_SRC = demo-minimal.tex
DEMO_MIN_PDF = demo-minimal.pdf
DOC_SRC = mtheme.dtx
DOC_PDF = mtheme.pdf
DTX = $(wildcard *.dtx)
STY = $(patsubst %.dtx,%.sty,$(wildcard beamer*.dtx pgfplotsthemetol.dtx))
CTAN_CONTENT = $(INS) $(DTX) $(DOC_PDF)
TEXC := latexmk -xelatex -output-directory=$(TEMP_DIR)
DOCKER_IMAGE = latex-image
DOCKER_CONTAINER = latex-container
.PHONY: sty doc demo demo-min ctan clean install uninstall docker-run docker-build docker-rm
all: sty doc demo
$(STY): $(DTX) $(INS)
@latex $(INS)
$(DEMO_PDF): $(STY) $(DEMO_SRC)
$(TEXC) $(DEMO_SRC)
@cp $(TEMP_DIR)/$(DEMO_PDF) .
$(DEMO_MIN_PDF): $(STY) $(DEMO_MIN_SRC)
$(TEXC) $(DEMO_MIN_SRC)
@cp $(TEMP_DIR)/$(DEMO_MIN_PDF) .
$(DOC_PDF): $(DOC_SRC) $(DTX)
@$(TEXC) $(DOC_SRC)
@cp $(TEMP_DIR)/$(DOC_PDF) .
sty: $(STY)
doc: $(DOC_PDF)
demo: $(DEMO_PDF)
demo-min: $(DEMO_MIN_PDF)
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
install: $(STY) $(DOC_PDF)
@mkdir -p $(INSTALL_DIR)
@cp $(STY) $(INSTALL_DIR)
@mkdir -p $(DOC_DIR)
@cp $(DOC_PDF) $(DOC_DIR)
uninstall:
@rm -f $(addprefix $(INSTALL_DIR)/, $(STY))
@rm -f $(DOC_DIR)/$(DOC_PDF)
@rmdir $(INSTALL_DIR)
@rmdir $(DOC_DIR)
docker-run: docker-build
docker run --rm=true --name $(DOCKER_CONTAINER) -i -t -v `pwd`:/data $(DOCKER_IMAGE) make
docker-build:
docker build -t $(DOCKER_IMAGE) .
docker-rm:
docker rm $(DOCKER_CONTAINER)