diff options
| author | Florian Fischer <florian.fischer@muhq.space> | 2024-07-20 20:36:44 +0200 |
|---|---|---|
| committer | Florian Fischer <florian.fischer@muhq.space> | 2024-07-20 20:39:07 +0200 |
| commit | 00f9fdf7db792d942180a31253b349803d5683cd (patch) | |
| tree | 972da51a45a4c804eb0d6706e2db1d96d3a7a69f /course/common.mk | |
| parent | df66d76b5b29703f1822beda897dd92c5f90af5e (diff) | |
| download | SOS-00f9fdf7db792d942180a31253b349803d5683cd.tar.gz SOS-00f9fdf7db792d942180a31253b349803d5683cd.zip | |
add first version of the SOS workbook
Diffstat (limited to 'course/common.mk')
| -rw-r--r-- | course/common.mk | 39 |
1 files changed, 27 insertions, 12 deletions
diff --git a/course/common.mk b/course/common.mk index b55ecdf..c9d610d 100644 --- a/course/common.mk +++ b/course/common.mk @@ -1,12 +1,10 @@ # The full path to the Makefile -MAKEFILE_PATH ?= $(abspath $(lastword $(MAKEFILE_LIST))) +MAKEFILE_PATH := $(abspath $(lastword $(MAKEFILE_LIST))) # The path to the directory of the Makefile -MAKEFILE_DIR ?= $(dir $(MAKEFILE_PATH)) +MAKEFILE_DIR := $(dir $(MAKEFILE_PATH)) -BUILDDIR := $(MAKEFILE_DIR)build - -IMGS := $(wildcard img/*) -COMMON_IMAGES := $(MAKEFILE_DIR)/images +LATEX_BASE := $(MAKEFILE_DIR) +COMMON_IMAGES := $(MAKEFILE_DIR)images PANDOC_DIR := $(MAKEFILE_DIR)pandoc PANDOC_FILTER_DIR := $(PANDOC_DIR)/filters @@ -24,17 +22,24 @@ SLIDES_OPTIONS += --pdf-engine-opt=--shell-escape SLIDES_OPTIONS += --metadata-file=$(PANDOC_DIR)/defaults/slides-metadata.yml SLIDES_OPTIONS += --template=$(PANDOC_TEMPLATE_DIR)/beamer.tex +RUBBER_OPTS := --into .build --pdf --shell-escape -I "$(LATEX_BASE)" -I "$(COMMON_IMAGES)" + +LATEX_PROG ?= pdflatex +LATEX = TEXINPUTS=$(LATEX_BASE) $(LATEX_PROG) +LATEX_OPTS := -interaction=nonstopmode -shell-escape -output-directory=.build/ + VERBOSE ?= @ ifeq ($(VERBOSE), @) RUBBER_OPTS += --quiet SILENCE := > /dev/null endif +TEX_SRC := $(wildcard *.tex) +MD_SRC := $(wildcard *.md) + slides.pdf: slides.md $(wildcard img/*) $(MAKEFILE_LIST) @echo "building $@" - $(VERBOSE)[ ! -d "$(BUILDDIR)/$(subst $(MAKEFILE_DIR),,$(CURDIR))" ] && \ - mkdir -p $(BUILDDIR)/$(subst $(MAKEFILE_DIR),,$(CURDIR)) || true - $(VERBOSE)$(PANDOC) $(SLIDES_OPTIONS) $< -o $(BUILDDIR)/$(subst $(MAKEFILE_DIR),,$(CURDIR))/$@ + $(VERBOSE)$(PANDOC) $(SLIDES_OPTIONS) $< -o $@ slides_handout.pdf: slides_handout.md $(wildcard img/*) $(MAKEFILE_LIST) @echo "building $@" @@ -42,10 +47,20 @@ slides_handout.pdf: slides_handout.md $(wildcard img/*) $(MAKEFILE_LIST) slides%.pdf: slides%.md $(wildcard slides.md) $(wildcard img/*) $(MAKEFILE_LIST) @echo "building $@" - @[ ! -d $(BUILDDIR)$(subst $(MAKEFILE_DIR),,$(PWD)) ] && \ - mkdir -p $(BUILDDIR)$(subst $(MAKEFILE_DIR),,$(PWD)) - $(VERBOSE)$(PANDOC) $(SLIDES_OPTIONS) $< -o $(subst $(MAKEFILE_DIR),$(BUILDDIR),$(@)) + $(VERBOSE)$(PANDOC) $(SLIDES_OPTIONS) $< -o $@ %.pdf: %.md $(wildcard img/*) $(MAKEFILE_LIST) @echo "building $@" $(VERBOSE)$(PANDOC) -f markdown $< -o $@ + +.PRECIOUS: .build/%.pdf +.build/%.pdf: %.tex .FORCE $(MAKEFILE_LIST) + @mkdir -p .build + $(VERBOSE)rubber $(RUBBER_OPTS) --force --jobname $(@:.build/%.pdf=%) $< + +%.pdf: .build/%.pdf + @echo "built $@" + $(VERBOSE)cp .build/$@ $@ + +.PHONY: .FORCE +.FORCE: |
