forked from arkivverket/noark5-standard
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
112 lines (87 loc) · 3.54 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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
#!/usr/bin/make -f
IMG_PUML := $(wildcard kapitler/media/*.puml)
IMG_PNG := $(IMG_PUML:.puml=.png)
PANDOC_TYPE = rst
all: pdf html
images: $(IMG_PNG)
PLANTUML = java -jar scripts/plantuml.jar
.puml.png:
$(PLANTUML) -p < $^ > [email protected] && mv [email protected] $@
.puml.svg:
$(PLANTUML) -svg -p < $^ > [email protected] && mv [email protected] $@
kapitler/110-vedlegg_1_metadatakatalog-auto.rst: metadata/*.yaml
scripts/metadata2rst $^ > [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 \
echo "Converting $$m to docbook" ; \
basename=$$(basename $$m .rst); \
pandoc \
--top-level-division=chapter -f $(PANDOC_TYPE) \
--id-prefix id-$$basename- \
-t docbook4 $$m \
-o docbook/$$basename.xml; \
done
sed -i -e 's%<chapter%<dedication%' -e 's%</chapter%</dedication%' docbook/*-forord*.xml
sed -i -e 's%<chapter%<appendix%' -e 's%</chapter%</appendix%' docbook/*-vedlegg*.xml
DBLATEX_OPTS = \
-T simple \
-b xetex \
-p docbook/pdf.xsl
pdf: 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
avledet/spesifikasjon.%.pdf: docbook/spesifikasjon-complete.%.xml
#xmlto --with-fop pdf docbook/spesifikasjon.xml
#xmlto --with-dblatex pdf docbook/spesifikasjon.xml
dblatex $(DBLATEX_OPTS) -o $@ $^
html: avledet/spesifikasjon.html
avledet/spesifikasjon.html: docbook/spesifikasjon-complete.xml images
xmlto -x docbook/docbook-utf8.xsl -m docbook/pdf.xsl -o avledet/ html-nochunks docbook/spesifikasjon-complete.xml
mv avledet/spesifikasjon-complete.html avledet/spesifikasjon.html
avledet/spesifikasjon.%.html: docbook/spesifikasjon-complete.%.xml
xmlto -x docbook/docbook-utf8.xsl -m docbook/pdf.xsl -o avledet/ html-nochunks $^
b=$$(basename $^ .xml) ; \
mv avledet/$$b.html avledet/$$(echo $$b | sed s/-complete//).html
epub: avledet/spesifikasjon.epub
avledet/spesifikasjon.epub: docbook images
dbtoepub -o $@ docbook/spesifikasjon.xml
docbook/spesifikasjon-complete.xml: docbook
xmllint --xinclude --nonet docbook/spesifikasjon.xml > [email protected] && mv [email protected] $@
po/spesifikasjon.pot: docbook/spesifikasjon-complete.xml
po4a --no-translations po4a.cfg
po/%.po: po/spesifikasjon.pot
po4a --no-translations po4a.cfg
docbook/spesifikasjon-complete.%.xml: po/%.po docbook/spesifikasjon-complete.xml
po4a --translate-only $@ po4a.cfg
stats:
for po in po/*.po; do printf "%s " $$po; msgfmt --output /dev/null --statistics $$po; done
# 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 $@
# Rule useful for comparing official XSD with content of spesification
avledet/metadatakatalog.xsd: metadata/*.yaml
scripts/metadata2xsd metadata/*.yaml
avledet/krav.tsv: kapitler/*.rst
./scripts/krav-rst2csv
.PHONY: docbook
.SUFFIXES: .rst .pdf .docx .puml .png .svg .epub
clean:
$(RM) docbook/[012]*.xml
distclean: clean
$(RM) $(IMG_PNG)
docx-to-rst:
cd arkiv; for f in *.docx; do \
echo Converting "$$f"; \
pandoc --columns=200 --wrap=preserve "$$f" -o "$${f%.docx}.rst"; \
done
XMLLINTOPTS = --nonet --noout --xinclude --postvalid
lint: docbook
xmllint $(XMLLINTOPTS) docbook/spesifikasjon.xml