Update Makefile

This commit is contained in:
Yorick Barbanneau 2023-08-30 00:15:07 +02:00
parent e1838960c9
commit 2ac101940a

View file

@ -1,35 +1,42 @@
PDF_APP ?= zathura LC = lualatex
OUTPUT ?= output LCFLAGS = --interaction=nonstopmode --output-directory $(OUTPUT)
GEN_DIR ?= images/generated SC = inkscape
SVG_DIR ?= images/svg SCFLAGS = --export-type=pdf --export-pdf-version=1.4
PIX_DIR ?= images/bitmap
DOCUMENT ?= $(patsubst %.tex,%.pdf,$(wildcard *.tex))
SVG_FILES = $(wildcard $(SVG_DIR)/*.svg) VIEWER = zathura
GEN_FILES = $(subst $(SVG_DIR), $(GEN_DIR),$(patsubst %.svg,%.pdf,$(SVG_FILES))) VIEWER_FLAGS = --fork
PIX_FILES = $(wildcard $(PIX_DIR)/*.*)
default: build OUTPUT = build
build: $(addprefix $(OUTPUT)/, $(DOCUMENT)) IMAGES_DIR = images/bitmap
images: $(GEN_FILES) SVG_DIR = images/svg
SVG_EXPORTED_DIR = images/generated
$(OUTPUT)/%.pdf: %.tex $(GEN_FILES) $(PIX_FILES) DOCUMENTS = $(addprefix $(OUTPUT)/, $(patsubst %.tex,%.pdf,$(wildcard *.tex)))
@$(shell mkdir -p $(OUTPUT)) IMAGES = $(wildcard $(IMAGES_DIR)/*.*)
lualatex --interaction=nonstopmode --output-directory $(OUTPUT) $< SVG = $(wildcard $(SVG_DIR)/*.svg)
$(GEN_DIR)/%.pdf : $(SVG_DIR)/%.svg SVG_EXPORTED = $(subst $(SVG_DIR),$(SVG_EXPORTED_DIR),$(patsubst %.svg,%.pdf,$(SVG)))
@echo export PDF from $@
@inkscape --export-type=pdf --export-pdf-version=1.4 -o $@ $<
.PHONY: echo view clean default: $(DOCUMENTS)
echo:
@echo "document: $(DOCUMENT)"
@echo "bitmap images: $(PIX_FILES)"
@echo "svg images: $(SVG_FILES)"
@echo "generated images: $(GEN_FILES)"
view: $(OUTPUT)/%.pdf: %.tex $(IMAGES) $(SVG_EXPORTED)
$(PDF_APP) $(addprefix $(OUTPUT)/, $(DOCUMENT)) @mkdir -p $(OUTPUT)
$(LC) $(LCFLAGS) $<
$(SVG_EXPORTED_DIR)/%.pdf : $(SVG_DIR)/%.svg
$(SC) $(SCFLAGS) -o $@ $<
.PHONY: clean
clean: clean:
rm -rf $(GEN_DIR)/* $(OUTPUT) @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)