added permission modification to web files
[charm.git] / doc / Makefile.common
1 # Makefile included by each manual: contains the 
2 #   common build commands/targets ("make pdf", "make ps", "make html")
3 #   common "upload-to-web" targets ("make web")
4
5 # The enclosing Makefile is expected to set the variables:
6 #   FILE: base name of master TeX file (typically "manual")
7 #   TEX: all TeX files to depend on (often just "manual.tex")
8 #   DEST: destination manual name (e.g., "fem")
9 #   LATEX2HTML: call to latex2html, which should be "$(L2H) <args>"
10 # (optional) PROJECT_LINK: HTML to include at bottom of page
11
12 # Destination directory for local copy of files (e.g., on user machine)
13 DOCDIR=..
14
15 # Destination directory for web-accessible copy of files (e.g., on PPL machines)
16 WEBDIR=/www/ppl_manuals
17
18 # Call to Latex2html
19 L2H=latex2html -white -antialias -local_icons \
20         -long_titles 1 \
21         -show_section_numbers \
22         -address '<p align="right">'"`/bin/date +"%B %d, %Y"`"'<br> \
23             '$(PROJECT_LINK)'<a href="http://charm.cs.uiuc.edu/">Charm Homepage</a>'
24
25 DEPTEX=$(TEX) $(FILE).aux index.tex
26
27 # Default target: build postscript, pdf, and html:
28
29 all: ps pdf html
30
31 # PostScript Target:
32 ps: $(FILE).ps
33
34 $(FILE).dvi: $(TEX) $(FILE).aux 
35         latex $(FILE).tex
36
37 $(FILE).ps: $(FILE).dvi
38         dvips -t letter -f $(FILE).dvi > $(FILE).ps
39
40
41 # PDF Target:
42 pdf: $(FILE).pdf
43
44 $(FILE).pdf: $(TEX) $(FILE).aux
45         pdflatex $(FILE).tex
46         pdflatex $(FILE).tex
47
48 # HTML Target:
49 html: $(FILE)
50
51 $(FILE): $(TEX) $(FILE).aux
52         -@ln -s ../pplmanual.* .
53         -@rm -fr $(FILE)/*.html $(FILE)/*.aux
54         $(LATEX2HTML) $(FILE).tex
55         ../latex2html_fixpaths.sh
56
57 # LaTeX Index and link support
58 $(FILE).aux: $(TEX) index.tex $(FIG_TARGET)
59         latex $(FILE).tex
60
61 index.tex: $(FILE).idx
62         makeindex -o index.tex $(FILE).idx
63
64 $(FILE).idx:
65         touch $(FILE).idx
66
67 # Clean out all TeX droppings:
68 clean:
69         -rm -fr *.aux *.log *.dvi *.ps *.pdf *.out *.ilg $(FILE)
70         -rm -fr *.idx *.log *.bbl *.blg *.toc *~ fig/*.bak
71         -rm -fr index.tex $(FIG_CLEAN)
72
73 # Build local copy of documentation:
74 doc: all
75         if [ ! -d $(DOCDIR) ] ; then mkdir $(DOCDIR) ; fi
76         if [ ! -d $(DOCDIR)/ps ] ; then mkdir $(DOCDIR)/ps ; fi
77         if [ ! -d $(DOCDIR)/pdf ] ; then mkdir $(DOCDIR)/pdf ; fi
78         if [ ! -d $(DOCDIR)/html ] ; then mkdir $(DOCDIR)/html ; fi
79         /bin/cp $(FILE).ps $(DOCDIR)/ps/$(DEST).ps
80         /bin/cp $(FILE).pdf $(DOCDIR)/pdf/$(DEST).pdf
81         /bin/rm -rf $(DOCDIR)/html/$(DEST)
82         /bin/cp -R $(FILE) $(DOCDIR)/html/$(DEST)
83
84 # Build web copy of documentation (PPL-only):
85 web: all
86         /bin/cp $(FILE).ps $(WEBDIR)/ps/$(DEST).ps
87         chmod 664 $(WEBDIR)/ps/$(DEST).ps
88         /bin/cp $(FILE).pdf $(WEBDIR)/pdf/$(DEST).pdf
89         chmod 664 $(WEBDIR)/pdf/$(DEST).pdf
90         /bin/rm -rf $(WEBDIR)/html/$(DEST)
91         /bin/cp -R $(FILE) $(WEBDIR)/html/$(DEST)
92         find $(WEBDIR)/html/$(DEST) $(WEBDIR)/p*/$(DEST).p* -type f -exec chmod 664 {} \;
93         find $(WEBDIR)/html/$(DEST) -type d -exec chmod 775 {} \;
94