# This Makefile is to convert supplied Asciidoc files into
# other formats like pdf and man. The files contain Zplugin's
# code documentation.
# *.adoc files are generated by Makefile from upper (i.e. top) directory.

SRC := $(shell zsh -c "echo {'git-process-output','rpm2cpio'}.zsh zinit{'','-additional','-autoload','-install','-side'}.zsh")

PDF_SRC := $(foreach wrd,$(SRC),$(wrd).pdf)
PDF_CMD := asciidoctor -a reproducible -b pdf -r asciidoctor-pdf -D pdf

MAN_SRC := $(foreach wrd,$(SRC),man/$(wrd))
MAN_CMD := a2x --verbose -L --doctype manpage --format manpage -D man

.PHONY: all clean test man pdf

all: clean man pdf
dirs:
	mkdir -p man pdf

# Manual pages
# uses a2x from asciidoc package
man: dirs $(MAN_SRC)
man/git-process-output.zsh:
	$(MAN_CMD) git-process-output.zsh.adoc
man/rpm2cpio.zsh:
	$(MAN_CMD) rpm2cpio.zsh.adoc
man/zinit-additional.zsh:
	$(MAN_CMD) zinit-additional.zsh.adoc
man/zinit-autoload.zsh:
	$(MAN_CMD) zinit-autoload.zsh.adoc
man/zinit-install.zsh:
	$(MAN_CMD) zinit-install.zsh.adoc
man/zinit-side.zsh:
	$(MAN_CMD) zinit-side.zsh.adoc
man/zinit.zsh:
	$(MAN_CMD) zinit.zsh.adoc

# PDFS
# uses asciidoctor not a2x (i.e. not asciidoc)
pdf: dirs $(PDF_SRC)
git-process-output.zsh.pdf:
	$(PDF_CMD) git-process-output.zsh.adoc
rpm2cpio.zsh.pdf:
	$(PDF_CMD) rpm2cpio.zsh.adoc
zinit-additional.zsh.pdf:
	$(PDF_CMD) zinit-additional.zsh.adoc
zinit-autoload.zsh.pdf:
	$(PDF_CMD) zinit-autoload.zsh.adoc
zinit-install.zsh.pdf:
	$(PDF_CMD) zinit-install.zsh.adoc
zinit-side.zsh.pdf:
	$(PDF_CMD) zinit-side.zsh.adoc
zinit.zsh.pdf:
	$(PDF_CMD) zinit.zsh.adoc

clean:
	rm -rf man pdf data

# vim:ft=make:noet:sts=4:ts=4
