]> matita.cs.unibo.it Git - helm.git/blob - matita/help/C/Makefile
distribute more stuff
[helm.git] / matita / help / C / Makefile
1
2 include ../../../Makefile.defs
3
4 XSLTPROC=xsltproc
5 XHTML_XSL=matita-xhtml.xsl
6 FO_XSL=matita-fo.xsl
7 TEX_XSL=matita-tex.xsl
8 TEX_UNICODE_PATH=$(SRCROOT)/share/texmf/unicode
9 TEX_ENV=TEXINPUTS=.:$(TEX_UNICODE_PATH):$(TEX_UNICODE_PATH)/data:
10 MAIN=matita.xml
11 DEPS := $(wildcard *.xml)
12
13 DESTDIR = /usr/local/share/doc/matita/
14
15 all: html txt
16
17 # one of: "fop", "pdflatex"
18 PDF_METHOD=pdflatex
19
20 # one of: "docbook2tex", "xsl"
21 TEX_METHOD=xsl
22
23 clean:
24         rm -f *.html *.fo *.pdf
25         rm -rf $(filter-out version.txt,$(wildcard *.txt))
26         rm -f *-stamp
27         rm -f matita.out matita.log matita.glo matita.dvi matita.idx
28         rm -f matita.aux matita.tex
29
30 # test (dumb implementation)
31 test:
32         SP_ENCODING=UTF-8 docbook2txt matita.xml
33
34 # XHTMLs generation
35
36 .PHONY: html
37 html: html-stamp
38 html-stamp: $(MAIN) $(DEPS) $(XHTML_XSL)
39         xsltproc $(XHTML_XSL) $<
40         touch $@
41
42 # TXTs generation
43
44 TXTS = $(patsubst %.html,%.txt,$(wildcard *.html))
45 .PHONY: txt
46 txt: txt-stamp
47 txt-stamp: html-stamp
48         $(MAKE) $(TXTS)
49         touch $@
50 %.txt: %.html
51         w3m -dump -no-graph $< > $@
52
53 # PDF generation
54
55 pdf: pdf-stamp
56 pdf-stamp: $(patsubst %.xml,%.pdf,$(MAIN))
57         touch $@
58
59 %.fo: %.xml
60         xsltproc $(FO_XSL) $< | xmllint --format - > $@
61 ifeq ($(TEX_METHOD),docbook2tex)
62 %.tex: %.xml $(DEPS)
63         docbook2tex $<
64 else ifeq ($(TEX_METHOD),xsl)
65 %.tex: %.xml $(TEX_XSL) $(DEPS)
66         xsltproc $(TEX_XSL) $< > $@
67 endif
68
69 ifeq ($(PDF_METHOD),fop)
70 %.pdf: %.fo
71         fop $< $@
72 else ifeq ($(PDF_METHOD),pdflatex)
73 %.pdf: %.tex
74         $(TEX_ENV) pdflatex $<
75 endif
76
77 %.dvi: %.tex
78         $(TEX_ENV) latex $<
79 %.ps: %.dvi
80         dvips $<
81
82 # installation
83
84 install: install-html
85 install-html: html-stamp
86         cp *.html *.css $(DESTDIR)
87
88 # shotcuts
89
90 tex: $(patsubst %.xml,%.tex,$(MAIN))
91 dvi: $(patsubst %.xml,%.dvi,$(MAIN))
92 ps: $(patsubst %.xml,%.ps,$(MAIN))
93
94 .PRECIOUS: matita.tex matita.dvi
95