source: trunk/adm/makefile @ 49

Last change on this file since 49 was 49, checked in by pinsard, 15 years ago

add tool to convert mat-binary v7 files t v6

  • Property svn:executable set to *
  • Property svn:keywords set to Id
File size: 9.6 KB
Line 
1#+
2#
3# module
4# ======
5#
6# génération des manuels
7#
8# TODO
9# ====
10#
11# ++ lien avec les guides
12#
13# EVOLUTIONS
14# ==========
15#
16# $Id$
17#
18# - fplod 2009-09-23T08:11:03Z aedon.locean-ipsl.upmc.fr (Darwin)
19#
20#   * add adm/matv7tomatv6.m
21#
22# - fplod 2009-09-21T09:49:38Z aedon.locean-ipsl.upmc.fr (Darwin)
23#
24#   * some m files have been moved from PROGRAMMES to TOOLBOX,
25#     and some m files in PROGRAMMES have been deleted.
26#
27# - fplod 2009-08-21T10:32:47Z aedon.locean-ipsl.upmc.fr (Darwin)
28#
29#   * creation
30#
31# SEE ALSO
32# ========
33#
34# extract_rst.sh_
35#
36# .. _extract_rst.sh: ../extract_rst.sh.html
37#
38#-
39#
40PRODUCT = \
41tpacpandreg
42
43PRODUCTNAME = \
44$$(echo $(PRODUCT) | tr [:lower:] [:upper:])
45
46SUBPRODUCT = \
47tpacpandreg_ws
48
49DIRSRC = \
50../
51
52DIRADM = \
53./
54
55DIRTMP = \
56./
57
58DIRWWW = \
59../doc/
60
61URLPUBLISH = \
62http://www.locean-ipsl.upmc.fr/~fplod/$(PRODUCT)/$(SUBPRODUCT)/doc/manuals/
63
64LIST_SRCSH =
65
66LIST_SRCSH_RST = \
67$(shell echo "$(LIST_SRCSH)" | \
68        sed -e "s+$(DIRSRC)/PROGRAMMES/+$(DIRTMP)+g" \
69            -e "s+\.sh+.sh.rst+g")
70
71LIST_SRCSH_HTML = \
72$(shell echo "$(LIST_SRCSH)" | \
73        sed -e "s+$(DIRSRC)/PROGRAMMES/+$(DIRWWW)/manuals/html/many/+g" \
74            -e "s+\.sh+.sh.html+g")
75
76LIST_SRCSH_PDF = \
77$(shell echo "$(LIST_SRCSH)" | \
78        sed -e "s+$(DIRSRC)/PROGRAMMES/+$(DIRWWW)/manuals/pdf/many/+g" \
79            -e "s+\.sh+.sh.pdf+g")
80
81LIST_SRCMATLAB = \
82$(DIRSRC)/PROGRAMMES/$(PRODUCT)_startup.m \
83$(DIRSRC)/PROGRAMMES/carte_SST.m \
84$(DIRSRC)/PROGRAMMES/eof_NCEP_sais.m \
85$(DIRSRC)/TOOLBOX/colorbartype.m \
86$(DIRSRC)/TOOLBOX/contlab.m \
87$(DIRSRC)/TOOLBOX/initfig.m \
88$(DIRSRC)/TOOLBOX/normalisation.m \
89$(DIRSRC)/TOOLBOX/whorldmap.m \
90$(DIRSRC)/RESULTATS/carteetstd_SST.m \
91$(DIRSRC)/RESULTATS/eof_NCEP_an.m \
92$(DIRSRC)/RESULTATS/regandsignif_seriestemporelles.m \
93$(DIRSRC)/adm/matv7tomatv6.m
94
95LIST_SRCMATLAB_RST = \
96$(shell echo "$(LIST_SRCMATLAB)" | \
97        sed -e "s+$(DIRSRC)/PROGRAMMES/+$(DIRTMP)+g" \
98            -e "s+$(DIRSRC)/RESULTATS/+$(DIRTMP)+g" \
99            -e "s+$(DIRSRC)/TOOLBOX/+$(DIRTMP)+g" \
100            -e "s+$(DIRSRC)/adm/+$(DIRTMP)+g" \
101            -e "s+\.m+.m.rst+g")
102
103LIST_SRCMATLAB_HTML = \
104$(shell echo "$(LIST_SRCMATLAB)" | \
105        sed -e "s+$(DIRSRC)/PROGRAMMES/+$(DIRWWW)/manuals/html/many/+g" \
106            -e "s+$(DIRSRC)/RESULTATS/+$(DIRWWW)/manuals/html/many/+g" \
107            -e "s+$(DIRSRC)/TOOLBOX/+$(DIRWWW)/manuals/html/many/+g" \
108            -e "s+$(DIRSRC)/adm/+$(DIRWWW)/manuals/html/many/+g" \
109            -e "s+\.m+.m.html+g")
110
111LIST_SRCMATLAB_PDF = \
112$(shell echo "$(LIST_SRCMATLAB)" | \
113        sed -e "s+$(DIRSRC)/PROGRAMMES/+$(DIRWWW)/manuals/pdf/many/+g" \
114            -e "s+$(DIRSRC)/RESULTATS/+$(DIRWWW)/manuals/pdf/many/+g" \
115            -e "s+$(DIRSRC)/TOOLBOX/+$(DIRWWW)/manuals/pdf/many/+g" \
116            -e "s+$(DIRSRC)/adm/+$(DIRWWW)/manuals/pdf/many/+g" \
117            -e "s+\.m+.m.pdf+g")
118
119RST2HTML = \
120rst2html
121
122RST2LATEX = \
123rst2latex
124
125RST2LATEX_OPTIONS_ONE = \
126--documentclass=book \
127--stylesheet=manual_one.sty \
128--use-latex-toc \
129--section-numbering \
130--traceback \
131--use-verbatim-when-possible
132
133RST2LATEX_OPTIONS_MANY = \
134--documentclass=article \
135--stylesheet=manuals_many.sty \
136--traceback \
137--use-verbatim-when-possible
138
139.PHONY : \
140help \
141before \
142clean \
143htmllinkcheckb \
144htmllinkchecka \
145spellcheck \
146all \
147html \
148pdf
149
150help :
151        @echo "Prepare output directories :"
152        @echo "\$$ make before"
153        @echo ""
154        @echo "Following commands are available to build outputs :"
155        @echo "\$$ make all"
156        @echo " "
157        @echo "Check links before installation : "
158        @echo "\$$ make htmllinkcheckb"
159        @echo " "
160        @echo "Last step = installation of HTML and pdf files"
161        @echo "\$$ make install_all"
162        @echo " "
163        @echo "Check links after installation : "
164        @echo "\$$ make htmllinkchecka"
165        @echo " "
166
167before :
168        @mkdir -p $(DIRWWW)/manuals/html/one/
169        @mkdir -p $(DIRWWW)/manuals/html/many/
170        @mkdir -p $(DIRWWW)/manuals/pdf/one/
171        @mkdir -p $(DIRWWW)/manuals/pdf/many/
172
173install_all : \
174install_html \
175install_pdf
176
177install_html :
178        @$(DIRADM)/install.sh -w $(DIRWWW)/manuals/html/ -u $(URLPUBLISH)/html/
179
180install_pdf :
181        @$(DIRADM)/install.sh -w $(DIRWWW)/manuals/pdf/ -u $(URLPUBLISH)/pdf/
182
183clean : \
184cleantmp
185        -@rm -fr $(DIRWWW)/manuals/html/
186        -@rm -fr $(DIRWWW)/manuals/pdf/
187        -@rm -fr $(DIRWWW)/src_browser/
188
189cleantmp :
190        -@rm -f $(DIRTMP)/all.xml
191        -@rm -f $(DIRTMP)/*.rst
192        -@rm -f $(DIRTMP)/*.rst[12]
193        -@rm -f $(DIRTMP)/links.rst*
194        -@rm -f $(DIRTMP)/*.tex
195        -@rm -f $(DIRWWW)/manuals/pdf/one/*.aux
196        -@rm -f $(DIRWWW)/manuals/pdf/one/*.log
197        -@rm -f $(DIRWWW)/manuals/pdf/one/*.out
198        -@rm -f $(DIRWWW)/manuals/pdf/many/*.aux
199        -@rm -f $(DIRWWW)/manuals/pdf/many/*.log
200        -@rm -f $(DIRWWW)/manuals/pdf/many/*.out
201
202htmllinkcheckb :
203        @$(DIRADM)/linkchecker.sh -d $(DIRWWW)/manuals/html/
204
205htmllinkchecka :
206        @$(DIRADM)/linkchecker.sh -u $(URLPUBLISH)
207
208spellcheck :
209        @++aspell --mode=sgml --master=english -c \
210        $(DIRSRC)/$(PRODUCT).xml
211
212all : \
213man_html \
214man_pdf
215
216man_html : \
217man_html_one \
218man_html_many
219
220man_html_one : \
221$(DIRWWW)/manuals/html/one/index.html
222
223man_html_many : \
224$(DIRWWW)/manuals/html/many/index.html \
225$(LIST_SRCSH_HTML) \
226$(LIST_SRCMATLAB_HTML)
227
228man_pdf : \
229man_pdf_one \
230man_pdf_many
231
232man_pdf_one : \
233$(DIRWWW)/manuals/pdf/one/$(PRODUCT)_manuals.pdf \
234
235man_pdf_many : \
236$(LIST_SRCSH_PDF) \
237$(LIST_SRCMATLAB_PDF)
238
239$(DIRWWW)/manuals/html/many/index.html : \
240$(DIRTMP)/index_many.rst
241        @$(RST2HTML) --input-encoding=ISO-8859-15 --strict \
242        $< $@
243
244$(DIRWWW)/manuals/html/one/index.html : \
245$(DIRTMP)/$(PRODUCT)_manuals.rst
246        @$(RST2HTML) --input-encoding=ISO-8859-15 --strict \
247        $< $@
248
249$(DIRWWW)/manuals/pdf/one/$(PRODUCT)_manuals.pdf : \
250$(DIRTMP)/$(PRODUCT)_manuals.tex
251        @-pdflatex -output-directory $(DIRWWW)/manuals/pdf/one/ $<
252        @-pdflatex -output-directory $(DIRWWW)/manuals/pdf/one/ $<
253
254$(DIRTMP)/$(PRODUCT)_manuals.tex : \
255$(DIRTMP)/$(PRODUCT)_manuals.rst
256        @$(RST2LATEX) $(RST2LATEX_OPTIONS_ONE) --input-encoding=ISO-8859-15 --strict \
257        $< $@
258
259$(DIRTMP)/$(PRODUCT)_manuals.rst : \
260$(DIRTMP)/index_one.rst \
261$(LIST_SRCSH_RST) \
262$(LIST_SRCMATLAB_RST)
263        echo "$(LIST_SRCMATLAB_RST)"
264        @cat $(DIRTMP)/index_one.rst > ${DIRTMP}/$(PRODUCT)_manuals.rst1
265        @echo "Shell scripts" >> ${DIRTMP}/$(PRODUCT)_manuals.rst1
266        @echo "=============" >> ${DIRTMP}/$(PRODUCT)_manuals.rst1
267        @for file in $(LIST_SRCSH); \
268        do echo " " >> ${DIRTMP}/$(PRODUCT)_manuals.rst1; \
269         echo " " >> ${DIRTMP}/$(PRODUCT)_manuals.rst1; \
270         echo ".. _$$(basename $${file}) :" >> ${DIRTMP}/$(PRODUCT)_manuals.rst1; \
271         echo " " >> ${DIRTMP}/$(PRODUCT)_manuals.rst1; \
272         echo "$$(basename $${file})" >> ${DIRTMP}/$(PRODUCT)_manuals.rst1; \
273         echo "$$(basename $${file} | tr [:print:] -)" >> ${DIRTMP}/$(PRODUCT)_manuals.rst1 ; \
274         echo " " >> ${DIRTMP}/$(PRODUCT)_manuals.rst1; \
275         sed -e "s/^==*$$/-----------------/" \
276        -e "s/^--*$$/~~~~~~~~~~~~~~~~~~~~/" \
277         ${DIRTMP}/$$(basename $${file}).rst >> ${DIRTMP}/$(PRODUCT)_manuals.rst1; \
278        done
279        @echo "MATLAB scripts" >> ${DIRTMP}/$(PRODUCT)_manuals.rst1
280        @echo "==============" >> ${DIRTMP}/$(PRODUCT)_manuals.rst1
281        @for file in $(LIST_SRCMATLAB); \
282        do echo " " >> ${DIRTMP}/$(PRODUCT)_manuals.rst1; \
283         echo " " >> ${DIRTMP}/$(PRODUCT)_manuals.rst1; \
284         echo ".. _$$(basename $${file}) :" >> ${DIRTMP}/$(PRODUCT)_manuals.rst1; \
285         echo " " >> ${DIRTMP}/$(PRODUCT)_manuals.rst1; \
286         echo "$$(basename $${file})" >> ${DIRTMP}/$(PRODUCT)_manuals.rst1; \
287         echo "$$(basename $${file} | tr [:print:] -)" >> ${DIRTMP}/$(PRODUCT)_manuals.rst1 ; \
288         echo " " >> ${DIRTMP}/$(PRODUCT)_manuals.rst1; \
289         sed -e "s/^==*$$/-----------------/" \
290         -e "s/^--*$$/~~~~~~~~~~~~~~~~~~~~/" \
291         ${DIRTMP}/$$(basename $${file}).rst >> ${DIRTMP}/$(PRODUCT)_manuals.rst1; \
292        done
293        @grep "\.\. _.*: .*$$" ${DIRTMP}/$(PRODUCT)_manuals.rst1 > \
294        ${DIRTMP}/links.rst
295        @sed -e "s/^ *//" ${DIRTMP}/links.rst | sort -u > ${DIRTMP}/links.rst2
296        @sed -e "/\.\. _.*: .*$$/d" ${DIRTMP}/$(PRODUCT)_manuals.rst1 > \
297        ${DIRTMP}/$(PRODUCT)_manuals.rst2
298        @cp ${DIRTMP}/$(PRODUCT)_manuals.rst2 $@
299
300$(DIRTMP)/index_one.rst :
301        @echo "$(PRODUCTNAME) manuals" | tr [:print:] = >> $@
302        @echo "$(PRODUCTNAME) manuals" >> $@
303        @echo "$(PRODUCTNAME) manuals" | tr [:print:] = >> $@
304        @echo " " >> $@
305        @echo ".. contents:: Table of Contents" >> $@
306        @echo "  :depth: 2" >> $@
307        @echo ".. section-numbering::" >> $@
308        @echo " " >> $@
309
310$(DIRTMP)/index_many.rst :
311        @echo "$(PRODUCTNAME) manuals" | tr [:print:] = >> $@
312        @echo "$(PRODUCTNAME) manuals" >> $@
313        @echo "$(PRODUCTNAME) manuals" | tr [:print:] = >> $@
314        @echo " " >> $@
315        @echo "Shell scripts" >> $@
316        @echo "=============" >> $@
317        @for file in $(LIST_SRCSH); \
318        do echo " "; \
319        echo ".. _$$(basename $${file}) : $$(basename $${file}).html"; \
320        echo " "; \
321        echo "- $$(basename $${file})_"; \
322        done  >> $@
323        @echo " " >> $@
324        @echo "MATLAB scripts" >> $@
325        @echo "==============" >> $@
326        @for file in $(LIST_SRCMATLAB); \
327        do echo " "; \
328        echo ".. _$$(basename $${file}) : $$(basename $${file}).html"; \
329        echo " "; \
330        echo "- $$(basename $${file})_"; \
331        done >> $@
332        @echo " " >> $@
333
334$(DIRWWW)/manuals/html/many/%.html:$(DIRTMP)/%.rst
335        @$(RST2HTML) --input-encoding=ISO-8859-15 --strict \
336        $< $@
337
338$(DIRWWW)/manuals/pdf/many/%.pdf : $(DIRTMP)/%.tex
339        @-pdflatex -output-directory $(DIRWWW)/manuals/pdf/many/ $<
340        @-pdflatex -output-directory $(DIRWWW)/manuals/pdf/many/ $<
341
342$(DIRTMP)/%.tex : $(DIRTMP)/%.rst
343        @$(RST2LATEX) $(RST2LATEX_OPTIONS_MANY) --input-encoding=ISO-8859-15 --strict \
344        $< $@
345
346$(DIRTMP)/%.sh.rst : $(DIRSRC)/PROGRAMMES/%.sh
347        @$(DIRADM)/extract_rst.sh -i $< -l sh -o $@
348
349$(DIRTMP)/%.m.rst : $(DIRSRC)/PROGRAMMES/%.m
350        @$(DIRADM)/extract_rst.sh -i $< -l matlab -o $@
351
352$(DIRTMP)/%.m.rst : $(DIRSRC)/TOOLBOX/%.m
353        @$(DIRADM)/extract_rst.sh -i $< -l matlab -o $@
354
355$(DIRTMP)/%.m.rst : $(DIRSRC)/RESULTATS/%.m
356        @$(DIRADM)/extract_rst.sh -i $< -l matlab -o $@
357
358$(DIRTMP)/%.m.rst : $(DIRSRC)/adm/%.m
359        @$(DIRADM)/extract_rst.sh -i $< -l matlab -o $@
Note: See TracBrowser for help on using the repository browser.