.POSIX: .SUFFIXES: .SUFFIXES: .in .md .html .in: sed \ -e "s:@TLD@:`cat aux/tld.txt`:g" \ -e "s:@NAME@:`basename $$PWD`:g" \ -e 's:@MAILING_LIST@:$(MAILING_LIST):g' \ < $< > $@ .in.html: pandoc -s -r man -w html \ -H aux/headers.html \ --metadata lang="`echo $< | awk -F. '{ print $$(NF-2) }'`" \ < $( $@ .md.html: pandoc -s -r commonmark -w html \ -H aux/headers.html \ --metadata lang="`echo $( $@ manpages.html = $(manpages.in:.in=.html) md_files.html = $(md_files:.md=.html) public: manpages.sentinel public/makefile.svg md.sentinel public/index.html \ public/ci public/TODOs.html public/style.css public/favicon.svg touch $@ public/index.html: mkdir -p $(@D) ln -rs public/en/index.html $@ public/ci: sh aux/ci/report.sh -n `basename "$$PWD"` -o $@ public/TODOs.html: TODOs.md aux/preamble-md mkdir -p $(@D) td -H | cat aux/preamble-md - | pandoc -s -r commonmark -w html \ -H aux/headers.html \ --metadata lang=en \ --metadata title="`basename $$PWD` - TODOs" \ --toc --toc-depth=2 \ --highlight-style pygments \ > $@ public/favicon.svg: aux/favicon.svg mkdir -p $(@D) cp aux/favicon.svg $@ public/style.css: mkdir -p $(@D) td -S > $@ md.sentinel: $(md_files.html) mkdir -p public sh aux/ext2subdir.sh -o public $? for d in public/*/; do ln -rfs public/style.css $$d/style.css; done touch $@ manpages.sentinel: $(manpages.html) mkdir -p public sh aux/ext2subdir.sh -o public $? touch $@ public/makefile.svg: Makefile mkdir -p $(@D) LANG=en.UTF-8 make -Bnd dev | make2graph | dot -Tsvg >$@ index.en.md: ln -s README.md $@ CHANGELOG.en.md: ln -s CHANGELOG.md $@ all_en_files = \ $(en_files) \ index.en.md \ CHANGELOG.en.md po/po4a.cfg: $(all_en_files) po sh aux/po4a-cfg.sh -f '$(all_en_files) aux/checks/manpages/footer.en.0.in' > $@ po4a $@ test-files = \ aux/checks/changelog.sh \ aux/checks/manpages.sh \ aux/checks/readme.sh \ aux/checks/shellcheck.sh \ aux/checks/spelling.sh \ aux/checks/todos.sh \ aux/checks/repo.sh \ $(test-files): ALWAYS manfooter.sentinel env MAILING_LIST='$(MAILING_LIST)' sh $@ aux/checks/assert-manpages.sh: manfooter.sentinel manfooter.sentinel: for f in aux/checks/manpages/*.in; do $(MAKE) -f aux/dev.mk "$${f%.in}"; done touch $@ check: $(test-files) ALWAYS: