2 # Makefile for Bacula LaTeX Manual
4 # To build everything do
14 # for rapid development do:
19 # If you are having problems getting "make" to work, debugging it is
20 # easier if can see the output from latex, which is normally redirected
21 # to /dev/null. To see it, do the following:
27 # typically the latex command will stop indicating the error (e.g. a
28 # missing \ in front of a _ or a missing { or ] ...
30 # The following characters must be preceded by a backslash
31 # to be entered as printable characters:
36 IMAGES=$(MANUALSDIR)/../images
38 MAINDOC=Bacula_Main_Reference.html
39 BSYSMANUALDIR=../../../bsysmanual
40 COVERSDIR=../../../covers
41 PDFCOVERSDIR=$(COVERSDIR)/pdf
42 SVGCOVERSDIR=$(COVERSDIR)/svg
43 EPSCOVERSDIR=$(COVERSDIR)/eps
44 LICENSESDIR=$(MANUALSDIR)/licences
45 COVERNAME=coverpage-main
46 BSYSMANNAME=bsysmanual-coverpagebackground
47 LICENCES=$(wildcard $(LICENSESDIR)/*.tex)
48 BSYSCOMPILERFILE=bsys-compiler-mode.tex
49 PDFCOMPILERFILE=$(MANUALSDIR)/bsys-pdflatex-mode.tex
50 TEXCOMPILERFILE=$(MANUALSDIR)/bsys-latex-mode.tex
51 WEBCOMPILERFILE=$(MANUALSDIR)/bsys-web-mode.tex
54 TEXFILES=$(wildcard *.tex)
55 WEBFILESTOLINK=$(DOCDIR)/latex2html-init.pl $(DOCDIR)/bacula.sty $(DOCDIR)/translate_images.pl
56 MAKEFORWEB=$(DOCDIR)/web.makefile
58 PDFLATEXOPTIONS=-interaction=batchmode
62 all: pdflatex web mini-clean
70 @echo -n "Linking coverpage and background PDF format..."
71 @(cd $(SVGCOVERSDIR) ; make pdf)
72 @ln -sf `pwd`/${PDFCOVERSDIR}/${COVERNAME}.pdf `pwd`/${BSYSMANUALDIR}/${BSYSMANNAME}.pdf
76 @echo "Generating PDF images..."
77 @(cd ${IMAGES}/svg ; make pdf)
81 @echo "Generating PNG images..."
82 @(cd ${IMAGES}/svg ; make png)
86 @echo "Generating EPS images..."
87 @(cd ${IMAGES}/svg ; make eps)
93 @echo -n "Linking coverpage and background EPS format..."
94 @(cd $(SVGCOVERSDIR) ; make eps)
95 @ln -sf `pwd`/${EPSCOVERSDIR}/${COVERNAME}.eps `pwd`/${BSYSMANUALDIR}/${BSYSMANNAME}.eps
96 @rm -f `pwd`/${BSYSMANUALDIR}/${BSYSMANNAME}.pdf
100 @../../update_version
101 @echo "Making version `cat version.tex`"
102 @echo -n "Linking shared files..."
103 @(for L in $(LICENCES); do ln -sf $$L .; done)
106 tex: epscovers epsimages commonfiles
107 @ln -sf $(TEXCOMPILERFILE) $(BSYSCOMPILERFILE)
108 @touch ${DOC}i-dir.tex ${DOC}i-fd.tex ${DOC}i-sd.tex \
109 ${DOC}i-console.tex ${DOC}i-general.tex
110 latex -interaction=batchmode ${DOC}.tex
111 makeindex ${DOC}.idx -o ${DOC}.ind 2>/dev/null
112 makeindex ${DOC}.ddx -o ${DOC}.dnd >/dev/null 2>/dev/null
113 makeindex ${DOC}.fdx -o ${DOC}.fnd >/dev/null 2>/dev/null
114 makeindex ${DOC}.sdx -o ${DOC}.snd >/dev/null 2>/dev/null
115 makeindex ${DOC}.cdx -o ${DOC}.cnd >/dev/null 2>/dev/null
116 latex -interaction=batchmode ${DOC}.tex
118 external-references: pdfcovers pdfimages commonfiles
120 @echo "Building external references for $(DOC)"
121 @ln -sf $(PDFCOMPILERFILE) $(BSYSCOMPILERFILE)
122 @$(PDFLATEX) $(PDFLATEXOPTIONS) ${DOC}.tex
123 @echo "$(DOC) external references done."
125 pdflatex: external-references
127 @echo " Generating the PDF version of $(DOC)"
128 @echo " building indexes"
129 @makeindex ${DOC}.idx -o ${DOC}.ind 2>/dev/null
130 @echo -n " compiling..."
131 @$(PDFLATEX) $(PDFLATEXOPTIONS) ${DOC}.tex
132 @$(PDFLATEX) $(PDFLATEXOPTIONS) ${DOC}.tex
133 @echo "$(DOC).pdf generated."
137 @ln -sf $(WEBCOMPILERFILE) $(BSYSCOMPILERFILE)
138 # @cp -fp ${IMAGES}/*.eps .
139 # @rm -f next.eps next.png prev.eps prev.png up.eps up.png
140 @(if [ -f imagename_translations ] ; then \
141 ./translate_images.pl --from_meaningful_names ${DOC}.html; \
143 latex2html -white -no_subdir -split 0 -toc_stars -white -notransparent \
144 -init_file latex2html-init.pl ${DOC} >tex.out 2>&1
145 @(if [ -f imagename_translations ] ; then \
146 ./translate_images.pl --from_meaningful_names ${DOC}.html; \
148 (cd ${DOC}; for i in *.png ; do cp -fp ../${IMAGES}/$${i} . 2>/dev/null; done)
149 @echo "Done making html"
156 @echo -"Creating tex files..."
157 @(for F in $(TEXFILES) ;\
159 cat $$F | sed -f ../pattern-to-handle > $(WWWDIR)/$$F ; \
161 @ln -sf $(MAKEFORWEB) $(WWWDIR)/Makefile
162 @(for F in $(WEBFILESTOLINK);\
164 ln -sf $$F $(WWWDIR)/;\
166 (cd $(WWWDIR) ; make )
167 @echo "Done making web"
173 ./check_tex.pl ${DOC}.tex
176 pic2graph -density 100 <main_configs.pic >main_configs.png
180 @rm -f *.gif *.jpg *.eps
181 @rm -f *.cp *.fn *.ky *.log *.pg
182 @rm -f *.backup *.ilg *.lof *.lot
183 @rm -f *.cdx *.cnd *.ddx *.ddn *.fdx *.fnd *.ind *.sdx *.snd
184 @rm -f *.dnd *.old *.out
185 @rm -f ${DOC}/*.gif ${DOC}/*.jpg ${DOC}/*.eps
186 @rm -f ${DOC}/*.aux ${DOC}/*.cp ${DOC}/*.fn ${DOC}/*.ky ${DOC}/*.log ${DOC}/*.pg
187 @rm -f ${DOC}/*.backup ${DOC}/*.ilg ${DOC}/*.lof ${DOC}/*.lot
188 @rm -f ${DOC}/*.cdx ${DOC}/*.cnd ${DOC}/*.ddx ${DOC}/*.ddn ${DOC}/*.fdx ${DOC}/*.fnd ${DOC}/*.ind ${DOC}/*.sdx ${DOC}/*.snd
189 @rm -f ${DOC}/*.dnd ${DOC}/*.old ${DOC}/*.out
190 @rm -f ${DOC}/WARNINGS
194 @find . -type f -name "${DOC}.mtc*" -exec rm {} \;
195 @find . -type l -name "*.tex" -exec rm {} \;
197 @rm -f *.png *.gif *.jpg *.eps
198 @rm -f *.pdf *.aux *.cp *.fn *.ky *.log *.pg
199 @rm -f *.html *.backup *.ps *.dvi *.ilg *.lof *.lot
200 @rm -f *.cdx *.cnd *.ddx *.ddn *.fdx *.fnd *.ind *.sdx *.snd
201 @rm -f *.dnd imagename_translations
202 @rm -f *.old WARNINGS *.out *.toc *.idx
209 distclean: webclean clean
211 @rm -f images.pl labels.pl internals.pl
212 @rm -f Makefile version.tex