]> matita.cs.unibo.it Git - helm.git/blob - matita/help/C/Makefile
71d1b5973e1120a9f9f9d2945a3d5b59e56abebb
[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 # one of: "fop", "pdflatex"
14 PDF_METHOD=pdflatex
15
16 # one of: "docbook2tex", "xsl"
17 TEX_METHOD=xsl
18
19 all: html txt
20
21 clean:
22         rm -f *.html *.fo *.pdf
23         rm -rf $(filter-out version.txt,$(wildcard *.txt))
24         rm -f *-stamp
25         rm -f matita.out matita.log matita.glo matita.dvi matita.idx
26         rm -f matita.aux matita.tex
27
28 # test (dumb implementation)
29 test:
30         SP_ENCODING=UTF-8 docbook2txt matita.xml
31
32 # XHTMLs generation
33
34 .PHONY: html
35 html: html-stamp
36 html-stamp: $(MAIN) $(DEPS) $(XHTML_XSL)
37         xsltproc $(XHTML_XSL) $<
38         touch $@
39
40 # TXTs generation
41
42 TXTS = $(patsubst %.html,%.txt,$(wildcard *.html))
43 .PHONY: txt
44 txt: txt-stamp
45 txt-stamp: html-stamp
46         $(MAKE) $(TXTS)
47         touch $@
48 %.txt: %.html
49         w3m -dump -no-graph $< > $@
50
51 # PDF generation
52
53 pdf: pdf-stamp
54 pdf-stamp: $(patsubst %.xml,%.pdf,$(MAIN))
55         touch $@
56
57 %.fo: %.xml
58         xsltproc $(FO_XSL) $< | xmllint --format - > $@
59 ifeq ($(TEX_METHOD),docbook2tex)
60 %.tex: %.xml $(DEPS)
61         docbook2tex $<
62 else ifeq ($(TEX_METHOD),xsl)
63 %.tex: %.xml $(TEX_XSL) $(DEPS)
64         xsltproc $(TEX_XSL) $< > $@
65 endif
66
67 ifeq ($(PDF_METHOD),fop)
68 %.pdf: %.fo
69         fop $< $@
70 else ifeq ($(PDF_METHOD),pdflatex)
71 %.pdf: %.tex
72         $(TEX_ENV) pdflatex $<
73 endif
74
75 %.dvi: %.tex
76         $(TEX_ENV) latex $<
77 %.ps: %.dvi
78         dvips $<
79
80 tex: $(patsubst %.xml,%.tex,$(MAIN))
81 dvi: $(patsubst %.xml,%.dvi,$(MAIN))
82 ps: $(patsubst %.xml,%.ps,$(MAIN))
83
84 .PRECIOUS: matita.tex matita.dvi
85