-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathMakefile
60 lines (48 loc) · 1.79 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#!/usr/bin/make -f
IMG_PUML := $(wildcard kapitler/media/*.puml)
IMG_PNG := $(IMG_PUML:.puml=.png)
PANDOC_TYPE = rst
all: avledet/spesifikasjon.pdf avledet/spesifikasjon.html
pdf: avledet/spesifikasjon.pdf
images: $(IMG_PNG)
kapitler/media/uml-complete.puml: bin/text2uml kapitler/07-tjenester_og_informasjonsmodell.rst
bin/text2uml > [email protected] && mv [email protected] $@
.puml.png:
plantuml -p < $^ > [email protected] && mv [email protected] $@
.puml.svg:
plantuml -svg -p < $^ > [email protected] && mv [email protected] $@
# Draft Docbook based PDF building. Remove colwidth to let the
# docbook processors calculate columns widths. Can pandoc be told to
# not set colwidth?
docbook: kapitler/*.rst
[ -h docbook/media ] || ln -s ../kapitler/media docbook
for m in kapitler/*.rst; do \
pandoc \
--top-level-division=chapter -f $(PANDOC_TYPE) \
-t docbook4 $$m \
-o docbook/$$(basename $$m .rst).xml; \
done
sed -i -e 's%<chapter%<appendix%' -e 's%</chapter%</appendix%' docbook/*-vedlegg*.xml
DBLATEX_OPTS = \
-T simple \
-p docbook/pdf.xsl
spesifikasjon: avledet/spesifikasjon.pdf
avledet/spesifikasjon.pdf: docbook images
#xmlto --with-fop pdf docbook/spesifikasjon.xml
#xmlto --with-dblatex pdf docbook/spesifikasjon.xml
dblatex $(DBLATEX_OPTS) -o avledet/spesifikasjon.pdf docbook/spesifikasjon.xml
html: avledet/spesifikasjon.html
avledet/spesifikasjon.html: docbook images
xmlto -o avledet/ html-nochunks docbook/spesifikasjon.xml
# Rules useful for checking out the docx based documents
.docx.pdf:
cd $(shell dirname $@); libreoffice --headless --invisible --convert-to pdf $(abspath $^)
.rst.pdf:
pandoc -f $(PANDOC_TYPE) -t latex $^ -o $@
.PHONY: docbook
.SUFFIXES: .rst .pdf .docx .puml .png .svg
clean:
$(RM) $(IMG_PNG)
XMLLINTOPTS = --nonet --noout --xinclude --postvalid
lint: docbook
xmllint $(XMLLINTOPTS) docbook/spesifikasjon.xml