Add vcs-load-dirs project to thirdparty directory.
[Melange.git] / thirdparty / vcs-load-dirs / docs / sgml-common / Makefile.common
blob4850c1be124137b5c88763ca9ef6925d02ba21b7
1 # -*- Mode: makefile; -*-
2 # arch-tag: Primary sgml-common top-level Makefile
3 # Common Makefile for SGML documents
5 # Copyright (C) 2002, 2003 John Goerzen
6 # <jgoerzen@complete.org>
8 #    This program is free software; you can redistribute it and/or modify
9 #    it under the terms of the GNU General Public License as published by
10 #    the Free Software Foundation; either version 2 of the License, or
11 #    (at your option) any later version.
13 #    This program is distributed in the hope that it will be useful,
14 #    but WITHOUT ANY WARRANTY; without even the implied warranty of
15 #    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 #    GNU General Public License for more details.
18 #    You should have received a copy of the GNU General Public License
19 #    along with this program; if not, write to the Free Software
20 #    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
22 # The following variables should be set:
23 # MASTERBASE -- basename of master file -- example: my-guide
24 # BASICDEPS -- various dependencies of the master file.  For instance,
25 #   this might include files included in the SGML.  It could also be empty.
26 # TOPNODE -- Basename of top id for HTML link.
28 MASTER := $(MASTERBASE).sgml
29 FIGUREDIRS := $(wildcard figures/*)
30 DOINDEX ?= yes
32 ######################################################################
33 # Index generation
34 ######################################################################
36 ifeq ($(DOINDEX), yes)
38 INDEXSGMLFILE := index/index.sgml
39 INDEXDATAFILE := index/HTML.index
41 $(INDEXSGMLFILE): $(INDEXDATAFILE)
42         @echo " *** Generating SGML index from index list"
43         collateindex.pl -i ch.index -g -o index/index.sgml index/HTML.index
45 $(INDEXDATAFILE): $(MASTER) $(BASICDEPS)
46 #       jade -t sgml -d docbook.dsl -V html-index $(MASTER)
47 #       jade -t sgml -V html-index $(MASTER)
48         @echo " *** Generating index list from document"
49         -rm -r index
50         mkdir index
51         collateindex.pl -i ch.index -N -o index/index.sgml
52         #mkdir html-temp
53         #docbook2html --output html-temp -V html-index $(MASTER)
54         docbook-2-html -O -V -O html-index $(HTMLARGS) $(MASTER)
55         mv $(MASTERBASE)-html/HTML.index index/
56         rm -r $(MASTERBASE)-html
57 endif # DOINDEX
59 ######################################################################
60 # Text generation
61 ######################################################################
62 $(MASTERBASE).txt: $(MASTER) $(BASICDEPS) $(INDEXSGMLFILE)
63         @echo " *** Generating text output"
64         docbook2txt $(MASTER)
66 ######################################################################
67 # PostScript generation
68 ######################################################################
70 $(MASTERBASE).ps: $(MASTER) $(BASICDEPS) $(INDEXSGMLFILE) $(EPSFILES)
71         @echo " *** Generating PostScript output"
72 # This works too: docbook2ps -V paper-size=Letter $(MASTER)
73         docbook-2-ps -q -O -V -O paper-size=Letter $(PSARGS) $(MASTER)
75 ######################################################################
76 # Figure generation
77 ######################################################################
79 %_1.epi: %.ps
80         $(get-epi)
81 %_2.epi: %.ps
82         $(get-epi)
83 %_3.epi: %.ps
84         $(get-epi)
85 %_4.epi: %.ps
86         $(get-epi)
87 %_5.epi: %.ps
88         $(get-epi)
89 %_6.epi: %.ps
90         $(get-epi)
91 %_7.epi: %.ps
92         $(get-epi)
93 %_8.epi: %.ps
94         $(get-epi)
95 %_9.epi: %.ps
96         $(get-epi)
97 %_10.epi: %.ps
98         $(get-epi)
99 %_11.epi: %.ps
100         $(get-epi)
101 %_12.epi: %.ps
102         $(get-epi)
104 %_1_l.epi: %.ps
105         $(get-epil)
106 %_2_l.epi: %.ps
107         $(get-epil)
108 %_3_l.epi: %.ps
109         $(get-epil)
110 %_4_l.epi: %.ps
111         $(get-epil)
112 %_5_l.epi: %.ps
113         $(get-epil)
114 %_6_l.epi: %.ps
115         $(get-epil)
116 %_7_l.epi: %.ps
117         $(get-epil)
118 %_8_l.epi: %.ps
119         $(get-epil)
120 %_9_l.epi: %.ps
121         $(get-epil)
122 %_10_l.epi: %.ps
123         $(get-epil)
124 %_11_l.epi: %.ps
125         $(get-epil)
126 %_12_l.epi: %.ps
127         $(get-epil)
129 %.png: %_l.epi
130         @echo " *** Generating PNG image for $<"
131         gs -q -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -r90 -dBATCH -dNOPAUSE \
132                 -dSAFER -sOutputFile=$@ -sDEVICE=png16m $< -c showpage
134 %.ps: %.pdf
135         pdftops $<
137 ######################################################################
138 # HTML generation
139 ######################################################################
141 define copy-figures-worker
142 mkdir html/figures
143 for DIRECTORY in $(FIGUREDIRS); do mkdir html/$$DIRECTORY; cp -v $$DIRECTORY/*.png html/$$DIRECTORY/; done
144 endef
146 define copy-figures
147 $(if $(FIGUREDIRS),$(copy-figures-worker))
148 endef
150 html/index.html: $(MASTER) $(BASICDEPS) $(INDEXSGMLFILE) $(PNGFILES)
151         @echo " *** Generating HTML output"
152         -rm -r html
153         mkdir html
154         #docbook2html --output html $(MASTER)
155         docbook-2-html $(HTMLARGS) $(MASTER)
156         mv $(MASTERBASE)-html/* html/
157         rmdir $(MASTERBASE)-html
158         $(copy-figures)
159 #       tidy -m html/*.html
160         ln -s $(TOPNODE).html html/index.html
161         -cp -v /usr/share/gtk-doc/data/*.png html/
163 ######################################################################
164 # Cleaning
165 ######################################################################
167 clean:
168         -rm -f `find . -name "*~"` `find . -name "*.png"` `find . -name "*.epi"`
169         -rm -r html-temp html index $(MASTERBASE).txt
170         -rm *.aux *.log *.dvi *.tex *.jtex *.ps *.html *.log *.out jadetex.cfg
171         -rm *.ps html/*.html figures/topology/*.epi figures/topology/*.png
172         -rm *.log *.pdb
173         -rm `find . -name ".ps"` `find . -name "*.epi"` *.pdf
174         -rm `find . -name "*.png"`
176 ######################################################################
177 # Utility functions
178 ######################################################################
180 GETPAGE=$(shell echo $(1) | sed -e "s/^.*_\([0-9]*\).epi/\\1/g")
181 define get-epi
182 @echo " *** Generating EPI image for $<"
183 psselect -q $(call GETPAGE,$@) $< temp.ps
184 psresize -w 6.375in -h 8.25in temp.ps temp2.ps
185 ../sgml-common/ps2epsi temp2.ps $@
186 rm temp.ps temp2.ps
187 endef
189 GETPAGEL=$(shell echo $(1) | sed -e "s/^.*_\([0-9]*\)_l.epi/\\1/g")
190 define get-epil
191 @echo " *** Generating large EPI image for $<"
192 psselect -q $(call GETPAGEL,$@) $< temp.ps
193 psresize -w 8.5in -h 11in temp.ps temp2.ps
194 ../sgml-common/ps2epsi temp2.ps $@
195 rm temp.ps temp2.ps
196 endef
199 pdf: $(MASTERBASE).pdf
201 $(MASTERBASE).pdf: $(MASTERBASE).ps
202         ps2pdf14 $(MASTERBASE).ps
204 plucker: $(MASTERBASE).pdb
205 $(MASTERBASE).pdb: html
206         plucker-build --bpp=4 --compression=zlib --doc-name="$(MASTERBASE)" \
207         -H file:`pwd`/html/index.html -M 5 \
208         --maxheight=320 --maxwidth=310 \
209         --staybelow=file:`pwd`/html --title="$(MASTERBASE)" -p . \
210         -f $(MASTERBASE)
212 ###########################################################################
213 # These are obsolete but should still work.
214 ###########################################################################
217 $(MASTERBASE).dvi: $(MASTERBASE).tex
218         @echo " *** Generating DVI file."
219         jadetex unix-guide.tex
220         jadetex unix-guide.tex
221         jadetex unix-guide.tex
223 $(MASTERBASE).tex: $(MASTER) $(BASICDEPS) $(INDEXSGMLFILE)
224         @echo " *** Generating TeX files."
225         docbook2tex -V paper-size=Letter $(MASTER)
226 #       jade -t tex -V tex-backend -d \
227 #               /usr/share/sgml/docbook/stylesheet/dsssl/modular/print/docbook.dsl \
228 #               $(MASTER)