xref: /freebsd/contrib/bmake/mk/rst2htm.mk (revision 3cbb4cc200f8a0ad7ed08233425ea54524a21f1c)
1# $Id: rst2htm.mk,v 1.11 2020/08/19 17:51:53 sjg Exp $
2#
3#	@(#) Copyright (c) 2009, Simon J. Gerraty
4#
5#	This file is provided in the hope that it will
6#	be of use.  There is absolutely NO WARRANTY.
7#	Permission to copy, redistribute or otherwise
8#	use this file is hereby granted provided that
9#	the above copyright notice and this notice are
10#	left intact.
11#
12#	Please send copies of changes and bug-fixes to:
13#	sjg@crufty.net
14#
15
16# convert reStructuredText to HTML, using rst2html.py from
17# docutils - http://docutils.sourceforge.net/
18
19.if empty(TXTSRCS)
20TXTSRCS != 'ls' -1t ${.CURDIR}/*.txt ${.CURDIR}/*.rst 2>/dev/null; echo
21.endif
22RSTSRCS ?= ${TXTSRCS}
23HTMFILES ?= ${RSTSRCS:R:T:O:u:%=%.htm}
24RST2HTML ?= rst2html.py
25RST2PDF ?= rst2pdf
26RST2S5 ?= rst2s5.py
27# the following will run RST2S5 if the target name contains the word 'slides'
28# otherwise it uses RST2HTML
29RST2HTM = ${"${.TARGET:T:M*slides*}":?${RST2S5}:${RST2HTML}}
30RST2HTM_SLIDES_FLAGS ?= ${RST2S5_FLAGS}
31RST2HTM_DOC_FLAGS ?= ${RST2HTML_FLAGS}
32RST2HTM_FLAGS ?= ${"${.TARGET:T:M*slides*}":?${RST2HTM_SLIDES_FLAGS}:${RST2HTM_DOC_FLAGS}}
33
34RST2PDF_FLAGS ?= ${"${.TARGET:T:M*slides*}":?${RST2PDF_SLIDES_FLAGS}:${RST2PDF_DOC_FLAGS}}
35
36RST_SUFFIXES ?= .rst .txt
37
38CLEANFILES += ${HTMFILES}
39
40html:	${HTMFILES}
41
42.SUFFIXES: ${RST_SUFFIXES} .htm .pdf
43
44${RST_SUFFIXES:@s@$s.htm@}:
45	${RST2HTM} ${RST2HTM_FLAGS} ${FLAGS.${.TARGET}} ${.IMPSRC} ${.TARGET}
46
47${RST_SUFFIXES:@s@$s.pdf@}:
48	${RST2PDF} ${RST2PDF_FLAGS} ${FLAGS.${.TARGET}} ${.IMPSRC} ${.TARGET}
49
50.for s in ${RSTSRCS:O:u}
51${s:R:T}.htm: $s
52${s:R:T}.pdf: $s
53.endfor
54