Release coccinelle-0.1.8
[bpt/coccinelle.git] / docs / manual / Makefile
1 ##############################################################################
2 # Variables
3 ##############################################################################
4
5 MAINSRC=main.tex
6 SRC=$(wildcard *.tex)
7
8 #tools:
9 # latex, pdflatex
10 # xfig
11 # emacs, auctex, ediff
12 # darcs
13 # latexdiff
14
15 ##############################################################################
16 # Top rules
17 ##############################################################################
18 .PHONY: all clean distclean
19 .SUFFIXES: .pdf .tex
20
21 all: manual.pdf cocci_syntax.pdf options.pdf
22
23 manual.pdf: $(SRC)
24 pdflatex main.tex
25 pdflatex main.tex
26 mv main.pdf manual.pdf
27
28
29
30
31 cocci_syntax.pdf: main_grammar.tex cocci_syntax.tex macros_listing_cocci.tex macros_grammar.tex macros_common.tex examples.tex tips.tex
32 pdflatex main_grammar.tex
33 pdflatex main_grammar.tex
34 mv main_grammar.pdf cocci_syntax.pdf
35
36 options.pdf: main_options.tex spatch_options.tex macros_options.tex
37 pdflatex main_options.tex
38 pdflatex main_options.tex
39 mv main_options.pdf options.pdf
40
41
42
43
44 distclean:: clean
45 rm -f manual.pdf cocci_syntax.pdf options.pdf
46
47
48 # lindig trick
49 #RERUN = Rerun (LaTeX|to get cross-references right)
50 #
51 #pdf: $(PDF)
52 #
53 #%.pdf: %.tex
54 # $(PDFLATEX) $<
55 # if egrep -s '$(RERUN)' $*.log ;then $(PDFLATEX) $<; fi
56 # if egrep -s '$(RERUN)' $*.log ;then $(PDFLATEX) $<; fi
57
58 ##############################################################################
59 # Html version
60 ##############################################################################
61 .PHONY: html check
62
63 .SUFFIXES: .html .tex
64
65 TEX=cocci_syntax.tex
66 WEB=/var/www/localhost/htdocs/coccinelle/
67 EMNWEB=~/website/docs/
68
69 PDF=$(TEX:.tex=.pdf)
70 HTML=$(TEX:.tex=.html)
71
72 html: $(HTML)
73
74 clean::
75 rm -f *.aux *.dvi *.haux *.htoc *.log *.out *~
76
77 distclean:: clean
78 rm -f *.pdf *.html *.gif *.css
79
80 check: $(HTML)
81 checklink $<
82
83 world: all html
84
85 universe: world install
86
87 install:
88 cp *.css *.gif *.html $(WEB)
89 cp $(PDF) $(WEB)
90 chown apache:apache -R $(WEB)
91 chmod a-w -R $(WEB)
92
93 emn_install: world
94 cp *.css *.gif *.html $(EMNWEB)
95 cp $(PDF) $(EMNWEB)
96
97
98
99
100 .tex.html:
101 # For Gentoo: /usr/lib64/hevea
102 # For Ubuntu family: /usr/share/hevea
103 # For default installation
104 @if [ -f /usr/lib64/hevea/xxdate.exe ]; then \
105 hevea -exec /usr/lib64/hevea/xxdate.exe $< ; \
106 hevea -exec /usr/lib64/hevea/xxdate.exe $< ; \
107 elif [ -f /usr/share/hevea/xxdate.exe ]; then \
108 hevea -exec /usr/share/hevea/xxdate.exe $< ; \
109 hevea -exec /usr/share/hevea/xxdate.exe $< ; \
110 elif [ -f /usr/local/lib/hevea/xxdate.exe ]; then \
111 hevea -exec /usr/local/lib/hevea/xxdate.exe $< ; \
112 hevea -exec /usr/local/lib/hevea/xxdate.exe $< ; \
113 else \
114 echo -e "\n\n *** Hevea: Unable to find xxdate.exe ***\n\n"; \
115 fi
116 hacha -o index.html cocci_syntax.html
117
118
119 ##############################################################################
120 # Install
121 ##############################################################################
122
123
124 ##############################################################################
125 # Developer rules
126 ##############################################################################
127
128 LATEXDIFFOPT=--type=CTRADITIONAL
129
130 #if multi files ? sed sur les \input{} ? ou create in another dir ?
131 latexdiff:
132 latexdiff $(LATEXDIFFOPT) main-old.tex main.tex > main-diff.tex
133 make MAINSRC=main-diff
134 rm -f main-diff.aux
135
136 replacediff:
137 cp main-old.tex main-older.tex
138 cp main.tex main-old.tex
139
140 clean::
141 rm -f main-diff.*
142
143 update:
144
145 commit:
146
147
148 ##############################################################################
149 # Generic rules
150 ##############################################################################
151 FORMAT=letter
152
153 %.ps: %.dvi
154 dvips -P cmz $< -o $@ -t $(FORMAT)
155
156 clean::
157 rm -f *.aux \
158 *.bbl \
159 *.blg \
160 *.dvi \
161 *.log \
162 *.out \
163 *.toc
164