]> git.sur5r.net Git - bacula/docs/blob - docs/manuals/en/utility/Makefile
Tweaks to hopefully make it work
[bacula/docs] / docs / manuals / en / utility / Makefile
1 #
2 #
3 #  Makefile for LaTeX  
4 #
5 # To build everything do
6 #    make tex
7 #    make web
8 #    make html
9 #    make dvipdf
10 #
11 # or simply
12 #
13 #    make
14 #
15 # for rapid development do:
16 #    make tex
17 #    make show
18 #
19 #
20 # If you are having problems getting "make" to work, debugging it is
21 #  easier if can see the output from latex, which is normally redirected
22 #  to /dev/null.  To see it, do the following:
23 #
24 #   cd docs/manual
25 #   make tex
26 #   latex bacula.tex
27 #
28 #  typically the latex command will stop indicating the error (e.g. a
29 #  missing \ in front of a _ or a missing { or ] ...
30 #
31 #  The following characters must be preceded by a backslash
32 #    to be entered as printable characters:
33
34 #    # $ % & ~ _ ^ \ { }
35 #
36 DOC=utility
37 MAINDOC=Bacula_Utility_Programs.html
38 IMAGES=../../../images
39 DOCDIR=`pwd`
40 TEXFILES=$(wildcard *tex)
41 MAKEFORWEB=$(DOCDIR)/web.makefile
42 WEBFILESTOLINK=$(DOCDIR)/latex2html-init.pl $(DOCDIR)/bacula.sty $(DOCDIR)/translate_images.pl
43 #
44 # Main directory where to find all the documentation
45 DESTDIR=../pdf-and-html
46 #
47 # Location of documentation in PDF
48 PDF_DEST_DIR=$(DESTDIR)/$(DOC)
49 #
50 # Location of HTML documentation
51 HTML_DEST_DIR=$(DESTDIR)/$(DOC)
52 #
53 # Temporary directory to translate tex to HTML
54 WWW_BUILD_DIR=$(DESTDIR)/www-$(DOC)
55 #
56 # LATEX compiler
57 LATEX_TO_PDF= pdflatex --output-directory $(PDF_DEST_DIR)
58
59 first_rule: all
60
61 all: pdftex web mini-clean
62
63 .SUFFIXES:     .tex .html
64 .PHONY:
65 .DONTCARE:
66
67
68 destdir:
69         @echo
70         @echo "Making output directories..."
71         @mkdir -p $(PDF_DEST_DIR) $(HTML_DEST_DIR)
72         echo "Output directories done"
73
74 pdfimages: 
75         @echo "Generating PDF images..."
76         @(cd ${IMAGES}/svg ; make pdf)
77         @echo "Done."
78
79 pngimages:
80         @echo "Generating PNG images..."
81         @(cd ${IMAGES}/svg ; make png)
82         @echo "Done."
83
84 epsimages:
85         @echo "Generating EPS images..."
86         @(cd ${IMAGES}/svg ; make eps)
87         @rm -rf ${IMAGES}/png
88         @rm -rf ${IMAGES}/pdf
89         @echo "Done."
90
91 epscovers:
92         @echo -n "Linking coverpage and background EPS format..."
93         @(cd $(SVGCOVERSDIR) ; make eps)
94         @ln -sf `pwd`/${EPSCOVERSDIR}/${COVERNAME}.eps `pwd`/${BSYSMANUALDIR}/${BSYSMANNAME}.eps
95         @rm -f `pwd`/${BSYSMANUALDIR}/${BSYSMANNAME}.pdf
96         @echo "Done."
97
98 commonfiles:
99         @echo -n "Making version `cat version.tex`"
100         @echo -n "Linking shared files..."
101         @(for L in $(LICENCES); do ln -sf $$L .; done)
102         @echo "Done"
103
104 pdfcovers:
105         @echo ""
106         @echo "Making covers for $(DOC)"
107         @(cd $(IMAGES)/svg ; make pdf)
108         @echo "Covers done."
109         @echo ""
110
111 external-references: destdir
112         @echo " "
113         @echo "Building external references for $(DOC)"
114         @echo "\DeclareGraphicsExtensions{.pdf,.png,.jpg,.jpeg,.eps}\n" > graphicspolicy.tex
115         @export TEXINPUTS=.:../../../latex//: ; $(LATEX_TO_PDF) $(DOC)
116         @rm -f $(PDF_DEST_DIR)/$(DOC).pdf
117         @echo "$(DOC) external references done."
118
119 pdftex: destdir
120         @echo ""
121         @echo "Making PDF manual with $(LATEX_TO_PDF)compile..."
122         @echo "\DeclareGraphicsExtensions{.pdf,.png,.jpg,.jpeg,.eps}\n" > graphicspolicy.tex
123         @export TEXINPUTS=.:../../../latex//: ; $(LATEX_TO_PDF) $(DOC); makeindex ${DOC}.idx -o ${DOC}.ind 2>/dev/null ; $(LATEX_TO_PDF) $(DOC); $(LATEX_TO_PDF) $(DOC)
124         @echo "Done"
125
126
127 web: mini-clean
128         @echo "Making web"
129         @rm -rf $(WWW_BUILD_DIR)
130         @mkdir -p $(WWW_BUILD_DIR)
131         @echo "Adapting $(DOC) tex files for HTML documentation..."
132         @(for F in $(TEXFILES) ;\
133         do \
134         cat $$F | sed -f ../pattern-to-handle > $(WWW_BUILD_DIR)/$$F ; \
135         done)
136         @ln -sf $(MAKEFORWEB) $(WWW_BUILD_DIR)/Makefile
137         @(for F in $(WEBFILESTOLINK);\
138         do \
139         ln -sf $$F $(WWW_BUILD_DIR)/;\
140         done)
141         (cd $(WWW_BUILD_DIR) ; make )
142         @echo "Done making web"
143
144 show:
145         evince $(PDF_DEST_DIR)/${DOC}.pdf
146
147 texcheck:
148         ./check_tex.pl ${DOC}.tex
149
150 main_configs:
151         pic2graph -density 100 <main_configs.pic >main_configs.png
152
153 mini-clean:
154         @rm -f 1 2 3 *.tex~
155         @rm -f *.gif *.jpg *.eps
156         @rm -f *.aux *.cp *.fn *.ky *.log *.pg
157         @rm -f *.backup *.ilg *.lof *.lot
158         @rm -f *.cdx *.cnd *.ddx *.ddn *.fdx *.fnd *.ind *.sdx *.snd
159         @rm -f *.dnd *.old *.out 
160         @rm -f ${DOC}/*.gif ${DOC}/*.jpg ${DOC}/*.eps
161         @rm -f ${DOC}/*.aux ${DOC}/*.cp ${DOC}/*.fn ${DOC}/*.ky ${DOC}/*.log ${DOC}/*.pg
162         @rm -f ${DOC}/*.backup ${DOC}/*.ilg ${DOC}/*.lof ${DOC}/*.lot
163         @rm -f ${DOC}/*.cdx ${DOC}/*.cnd ${DOC}/*.ddx ${DOC}/*.ddn ${DOC}/*.fdx ${DOC}/*.fnd ${DOC}/*.ind ${DOC}/*.sdx ${DOC}/*.snd
164         @rm -f ${DOC}/*.dnd ${DOC}/*.old ${DOC}/*.out
165         @rm -f ${DOC}/WARNINGS
166         @rm -rf ../www-$(DOC)
167
168 clean:
169         @rm -f graphicspolicy.tex
170         @rm -f 1 2 3
171         @rm -f *.png *.gif *.jpg *.eps
172         @rm -f *.pdf *.aux *.cp *.fn *.ky *.log *.pg
173         @rm -f *.html *.backup *.pdf *.ps *.dvi *.ilg *.lof *.lot
174         @rm -f *.cdx *.cnd *.ddx *.ddn *.fdx *.fnd *.ind *.sdx *.snd
175         @rm -f *.dnd imagename_translations
176         @rm -f *.old WARNINGS *.out *.toc *.idx
177         @rm -f images.pl labels.pl internals.pl
178         @rm -f images.tex ${DOC}i.tex
179         @rm -f ${DOC}i-*.tex
180         @rm -rf $(WWW_BUILD_DIR)
181
182 distclean:  clean
183         @rm -f ${DOC}.html ${DOC}.pdf
184         @rm -f Makefile version.tex
185         @rm -rf $(WWW_BUILD_DIR)
186         @rm -rf $(HTML_DEST_DIR)