From 2ac101940a416baad4b2ede62af9338bae2a88dc Mon Sep 17 00:00:00 2001 From: Yorick Barbanneau Date: Wed, 30 Aug 2023 00:15:07 +0200 Subject: [PATCH] Update Makefile --- Makefile | 63 +++++++++++++++++++++++++++++++------------------------- 1 file changed, 35 insertions(+), 28 deletions(-) diff --git a/Makefile b/Makefile index 63e2010..6f879c4 100644 --- a/Makefile +++ b/Makefile @@ -1,35 +1,42 @@ -PDF_APP ?= zathura -OUTPUT ?= output -GEN_DIR ?= images/generated -SVG_DIR ?= images/svg -PIX_DIR ?= images/bitmap -DOCUMENT ?= $(patsubst %.tex,%.pdf,$(wildcard *.tex)) +LC = lualatex +LCFLAGS = --interaction=nonstopmode --output-directory $(OUTPUT) +SC = inkscape +SCFLAGS = --export-type=pdf --export-pdf-version=1.4 -SVG_FILES = $(wildcard $(SVG_DIR)/*.svg) -GEN_FILES = $(subst $(SVG_DIR), $(GEN_DIR),$(patsubst %.svg,%.pdf,$(SVG_FILES))) -PIX_FILES = $(wildcard $(PIX_DIR)/*.*) +VIEWER = zathura +VIEWER_FLAGS = --fork -default: build -build: $(addprefix $(OUTPUT)/, $(DOCUMENT)) -images: $(GEN_FILES) +OUTPUT = build +IMAGES_DIR = images/bitmap +SVG_DIR = images/svg +SVG_EXPORTED_DIR = images/generated -$(OUTPUT)/%.pdf: %.tex $(GEN_FILES) $(PIX_FILES) - @$(shell mkdir -p $(OUTPUT)) - lualatex --interaction=nonstopmode --output-directory $(OUTPUT) $< +DOCUMENTS = $(addprefix $(OUTPUT)/, $(patsubst %.tex,%.pdf,$(wildcard *.tex))) +IMAGES = $(wildcard $(IMAGES_DIR)/*.*) +SVG = $(wildcard $(SVG_DIR)/*.svg) -$(GEN_DIR)/%.pdf : $(SVG_DIR)/%.svg - @echo export PDF from $@ - @inkscape --export-type=pdf --export-pdf-version=1.4 -o $@ $< +SVG_EXPORTED = $(subst $(SVG_DIR),$(SVG_EXPORTED_DIR),$(patsubst %.svg,%.pdf,$(SVG))) -.PHONY: echo view clean -echo: - @echo "document: $(DOCUMENT)" - @echo "bitmap images: $(PIX_FILES)" - @echo "svg images: $(SVG_FILES)" - @echo "generated images: $(GEN_FILES)" +default: $(DOCUMENTS) -view: - $(PDF_APP) $(addprefix $(OUTPUT)/, $(DOCUMENT)) +$(OUTPUT)/%.pdf: %.tex $(IMAGES) $(SVG_EXPORTED) + @mkdir -p $(OUTPUT) + $(LC) $(LCFLAGS) $< -clean: - rm -rf $(GEN_DIR)/* $(OUTPUT) +$(SVG_EXPORTED_DIR)/%.pdf : $(SVG_DIR)/%.svg + $(SC) $(SCFLAGS) -o $@ $< + +.PHONY: clean +clean: + @rm -rf $(OUTPUT) + +.PHONY: info +info: + @echo "document.............'$(DOCUMENTS)'" + @echo "bitmap images........'$(IMAGES)'" + @echo "SVG images...........'$(SVG)'" + @echo "exported SVG images..'$(SVG_EXPORTED)'" + +.PHONY: view +view: default + @$(VIEWER) $(VIEWER_FLAGS) $(DOCUMENTS)