all::

BASE=202608-grid-connected

# Working/temporary directory.  Not checked in and not published/visible.
WORKDIR=.tmp

# Output directory (outputs here will get checked in),
OUTDIR=out


${WORKDIR}:
	mkdir $@
${OUTDIR}:
	mkdir $@
all:: ${WORKDIR} ${OUTDIR}

${WORKDIR}/${BASE}.dvi: ${BASE}.tex
	@echo Making $@
	@mkdir -p ${WORKDIR}
	latex -output-directory=${WORKDIR} ${BASE}.tex
#all:: ${WORKDIR}/${BASE}.dvi

${OUTDIR}/${BASE}.svg: ${OUTDIR} ${WORKDIR}/${BASE}.dvi
	@-rm -f $@.tmp
	dvisvgm --no-fonts -O --stdout ${WORKDIR}/${BASE}.dvi | \
		svgo --multipass -i - -o $@.tmp
	@[ -s $@.tmp ]
	@chmod a+r $@.tmp
	@-chmod -f u+w $@
	@mv $@.tmp $@
all:: ${OUTDIR}/${BASE}.svg

# Make super-compressed SVG variant, because we can!
# Not atomic, but this should be run once and the result checked in.
${OUTDIR}/${BASE}.svgbr: ${OUTDIR}/${BASE}.svg
	@-rm $@
	@brotli < ${OUTDIR}/${BASE}.svg > $@
	@chmod a+r $@
all:: ${OUTDIR}/${BASE}.svgbr
