-all: ls001.pdf
-
-ls001.pdf: ls001.mdwn
- pandoc -V geometry:margin=0.5in \
- -V fontsize=9pt \
- -V papersize=legal \
- -V linkcolor=blue \
- -f markdown ls001.mdwn \
- -s --normalize --smart --self-contained \
- -o ls001.pdf
-
-upload :
+.PHONY: all clean upload
+
+.SECONDARY:
+
+main_sources = $(wildcard ls*.mdwn)
+pdfs = $(patsubst %.mdwn,%.pdf,$(main_sources))
+deps = $(patsubst %,tex_out/%.d,$(main_sources))
+
+all: $(pdfs)
+
+ls012 = $(realpath ls012)
+
+$(ls012)/areas.mdwn $(ls012)/xo_cost.mdwn \
+$(ls012)/level.mdwn: ls012_optable.py ls012/optable.csv
+ @echo making optables
+ python3 ls012_optable.py
+
+tex_out/%.mdwn.d: %.mdwn ../../mdwn_inline.py
+ @mkdir -p $(dir $@)
+ @../../mdwn_inline.py --deps $< tex_out/$*.mdwn
+
+tex_out/%.mdwn: %.mdwn ../../mdwn_inline.py
+ mkdir -p $(dir $@)
+ ../../mdwn_inline.py $< tex_out/$*.mdwn
+
+%.pdf: tex_out/%.mdwn ../../pandoc_img.py
+ pandoc \
+ --pdf-engine=xelatex \
+ -V 'mainfont:DejaVuSerif' \
+ -V 'sansfont:DejaVuSans' \
+ -V 'monofont:DejaVuSansMono' \
+ -V 'mathfont:Latin Modern Math' \
+ --filter ../../pandoc_img.py \
+ -V margin-top=0.6in \
+ -V margin-bottom=0.6in \
+ -V margin-left=0.4in \
+ -V margin-right=0.4in \
+ -V fontsize=9pt \
+ -V papersize=legal \
+ -V linkcolor=blue \
+ -f markdown $< \
+ -s --self-contained \
+ --mathjax \
+ -o $@
+
+upload:
rsync -HPavz *.pdf libre-soc.org:opf_isa_wg/
ssh libre-soc.org 'cp opf_isa_wg/*.pdf /var/www/ftp.libre-riscv.org/opf_ext_rfc/'
clean:
- rm -fr *.pdf
+ rm -fr *.pdf tex_out ls012/areas.mdwn ls012/xo_cost.mdwn
+
+-include $(deps)