summaryrefslogtreecommitdiff
path: root/mk
diff options
context:
space:
mode:
authorCharlotte Koch <charlotte@magentastripe.com>2023-09-19 11:54:01 -0700
committerCharlotte Koch <charlotte@magentastripe.com>2023-09-19 11:54:01 -0700
commit7ba6b347d00cbcd391f5f72d561e85128a036a22 (patch)
tree5b15e6c0faedef6dba05d1358ff8919c65b17c5b /mk
parente99e89bc97e2046c640f630bb104f2f4a2013791 (diff)
Add 'docbook' target
Diffstat (limited to 'mk')
-rw-r--r--mk/willora.mk25
1 files changed, 25 insertions, 0 deletions
diff --git a/mk/willora.mk b/mk/willora.mk
index 4dd7757..d434b82 100644
--- a/mk/willora.mk
+++ b/mk/willora.mk
@@ -9,9 +9,11 @@ NAME?= mybook
PAPERBACK_OUT?= ${NAME}-paperback.pdf
HARDCOVER_OUT?= ${NAME}-hardcover.pdf
EPUB_OUT?= ${NAME}.epub
+DOCBOOK_OUT?= ${NAME}.xml
PAPERBACK_ADOC_TOTAL= ${PAPERBACK_OUT}.adoc
HARDCOVER_ADOC_TOTAL= ${HARDCOVER_OUT}.adoc
EPUB_ADOC_TOTAL= ${EPUB_OUT}.adoc
+DOCBOOK_ADOC_TOTAL= ${DOCBOOK_OUT}.adoc
BUNDLE?= bundle
RUBY?= ruby
@@ -53,6 +55,9 @@ hardcover: ${HARDCOVER_OUT}
.PHONY: epub
epub: ${EPUB_OUT}
+.PHONY: docbook
+docbook: ${DOCBOOK_OUT}
+
########## ########## ##########
# ===== PAPERBACK =====
@@ -173,6 +178,26 @@ CLEANFILES+= ${EPUB_COLOPHON_FILE}
${EPUB_COLOPHON_FILE}: ${COLOPHON_TEMPLATE} ${ERBBER_SCRIPT}
${BUNDLE} exec ${RUBY} ${ERBBER_SCRIPT} -DISBN13=${EPUB_ISBN} --input ${COLOPHON_TEMPLATE} > ${.TARGET}
+########## ########## ##########
+
+# ===== DOCBOOK =====
+
+CLEANFILES+= ${DOCBOOK_OUT}
+${DOCBOOK_OUT}: Gemfile.lock ${DOCBOOK_ADOC_TOTAL}
+ ${BUNDLE} exec asciidoctor \
+ -v \
+ -d book \
+ -b docbook \
+ -o ${.TARGET} \
+ ${DOCBOOK_ADOC_TOTAL}
+
+CLEANFILES+= ${DOCBOOK_ADOC_TOTAL}
+${DOCBOOK_ADOC_TOTAL}: ${CHAPTERS} ${UNICODE_TABLE}
+ rm -f ${.TARGET}
+.for chapter in ${CHAPTERS}
+ printf '\n\n' >> ${.TARGET}
+ dos2unix < ${chapter} | sed -E -f ${UNICODE_TABLE} >> ${.TARGET}
+.endfor
########## ########## ##########