Files
letterpress/Makefile
2026-08-08 22:52:15 +02:00

56 lines
1.1 KiB
Makefile

SOURCE_FOLDER := source
SHELL := bash
ASCIIDOC_FILES := $(wildcard $(SOURCE_FOLDER)/*.adoc)
FIGURES = $(shell find . -name '*.svg')
PDF_NAME := book.pdf
PDF_PATH := output/$(PDF_NAME)
EPUB_NAME := book.epub
EPUB_PATH := output/$(EPUB_NAME)
ASCIIDOC_FLAGS = \
--doctype book \
--failure-level ERROR
.PHONY: all count clean lint epubcheck
all: $(PDF_PATH) $(EPUB_PATH)
$(PDF_PATH): $(ASCIIDOC_FILES) $(FIGURES) Makefile metadata.yaml | output
asciidoctor-pdf book.adoc $(ASCIIDOC_FLAGS) \
-o $@ \
-r asciidoctor-diagram \
-r asciidoctor-mathematical
$(EPUB_PATH): $(ASCIIDOC_FILES) $(FIGURES) Makefile metadata.yaml | output
asciidoctor-epub3 book.adoc $(ASCIIDOC_FLAGS) \
-o $@ \
-r asciidoctor-diagram \
-r asciidoctor-mathematical
count:
@dir="$(SOURCE_FOLDER)"; \
total=0; \
while read -r file; do \
words=$$(wc -w < "$$file"); \
total=$$((total + words)); \
printf "%6d %s\n" "$$words" "$$file"; \
done < <(find "$$dir" -type f -name "*.adoc" | sort); \
printf "%6d total\n" "$$total"
epubcheck: $(EPUB_PATH)
epubcheck $(EPUB_PATH)
output:
mkdir output
clean:
rm -vrf output
lint:
vale source/