OSDN Git Service

920724e3a35a61df25e7d0bbb0838c8d22a2aae6
[linuxjf/JF.git] / rules / docbook-sgml.rules
1 # $Id: docbook-sgml.rules,v 1.1 2004/09/23 11:15:28 mdk Exp $
2
3 #
4 #  Makefile rules for docbook SGML documents
5 #
6
7 ifeq ($(origin BASENAME), undefined)
8 BASENAME := $(notdir $(CURDIR))
9 NODELETE_OLDDOCS = yes
10 endif
11
12 ifneq ($(BASENAME).sgml, $(wildcard *.sgml))
13 MULTI_FILES = yes
14 endif
15
16 #
17 # condition check
18 #
19 ifeq ($(RESTRICT_COMMERCIAL), yes)
20 ifeq ($(RESTRICT-DIST), yes)
21 COMPILE=no
22 endif
23 endif
24
25 #
26 # default target by condition.
27 #
28 ifeq ($(COMPILE), yes)
29 all: index.html $(BASENAME).txt
30
31 install: install-work \
32         install-www \
33         install-ftp \
34         install-ldp-mirror
35 else
36 all:
37         @echo Skip compilation.
38 install: 
39         @echo Skip installation.
40 endif
41
42 #
43 # rules
44 #
45
46 SRC_EXPR =
47
48 IMAGE_EXPR =    -o -name '*.gif' \
49                 -o -name '*.png' \
50                 -o -name '*.jpg' \
51                 -o -name '*.jpeg' \
52                 -o -name '*.tif' \
53                 -o -name '*.tiff'
54
55 PS_EXPR =       -o -name '*.eps' \
56                 -o -name '*.epsf'
57
58 FIND_EXPR =        -name "$(BASENAME).html" \
59                 -o -name "$(BASENAME)-[0-9]*.html" \
60                 -o -name "$(BASENAME).gz" \
61                 -o -name "$(BASENAME).sgml.gz" \
62                 -o -name "$(BASENAME).sgml.tar.gz" \
63                 -o -name "$(BASENAME).tar.gz" \
64                 -o -name "$(BASENAME).txt" \
65                 -o -name "$(BASENAME).sgml"
66
67 index.html: $(BASENAME).sgml info
68 ifneq ($(NODELETE_OLDDOCS), yes)
69         if [ -d $(WORKDIR) ]; then \
70           find $(WORKDIR)               $(FIND_EXPR) | xargs rm -f ;\
71           rm -rf $(WORK_SGML)/$(BASENAME) \
72                  $(WORK_HTML)/$(BASENAME) \
73                  $(WORK_HTML)/$(BASENAME)-images ;\
74         fi
75         if [ -d $(FTP_ROOT) ]; then \
76           find $(FTP_ROOT)              $(FIND_EXPR) | xargs rm -f ;\
77         fi
78         if [ -d $(LDP_ROOT) ]; then \
79           find $(LDP_ROOT)              $(FIND_EXPR) | xargs rm -f ;\
80         fi
81         if [ -d $(WWW_ROOT)/JFdocs ]; then \
82           find $(WWW_ROOT)/JFdocs       $(FIND_EXPR) | xargs rm -f ;\
83           rm -rf $(WWW_ROOT)/JFdocs/$(BASENAME) \
84                  $(WWW_ROOT)/JFdocs/$(BASENAME)-images ;\
85         fi
86 endif
87         find . -name '*.html' | xargs rm -f
88         $(JADE) $(JADE_OPTION) $(JADE_ADD_OPTION) $(BASENAME).sgml
89         find . -name '*.html' | while read f; do \
90                 $(NKF) -j $$f > $$f.jis; \
91                 mv $$f.jis $$f; done
92         touch $(LAST_MODIFIED)
93
94 $(BASENAME).txt: $(BASENAME).sgml info
95         rm -f $@
96         $(JADE) $(JADE_OPTION) -V nochunks -V "%show-ulinks%" \
97          $(BASENAME).sgml | $(NKF) -s \
98          | $(HTML2TEXT) -I shift-jis -O shift-jis \
99          | perl $(BINDIR)/crlf_trim_blanks.pl >$(BASENAME).txt
100         touch $(LAST_MODIFIED)
101
102 $(BASENAME).tar.gz: index.html
103         find . -name '*.html' $(IMAGE_EXPR) \
104          | tar cvfz $@ --files-from=-
105
106 ifeq ($(MULTI_FILES), yes)
107 $(BASENAME).sgml.tar.gz: $(BASENAME).sgml
108         find . -name '*.sgml' $(SRC_EXPR) $(IMAGE_EXPR) $(PS_EXPR) \
109          | tar cvfz $@ --files-from=-
110 endif
111
112
113 #
114 # Create JF archives
115 #
116
117 ifneq ($(MULTI_FILES), yes)
118
119 #
120 # only one sgml file, no images
121 #
122 install-work: \
123         $(WORK_TEXT)/$(BASENAME).txt \
124         $(WORK_SGML)/$(BASENAME).sgml \
125         $(WORK_HTML)/$(BASENAME)/index.html
126
127 $(WORK_TEXT)/$(BASENAME).txt: $(BASENAME).txt
128         mkdir -p $(@D)
129         $(INSTALL) $< $@
130
131 $(WORK_HTML)/$(BASENAME)/index.html: index.html
132         mkdir -p $(WORK_HTML)
133         mkdir -p $(@D)
134         $(INSTALL) *.html $(@D)
135
136 $(WORK_SGML)/$(BASENAME).sgml: $(BASENAME).sgml
137         mkdir -p $(@D)
138         $(INSTALL) $< $@
139
140 #
141 # Install WWW contents
142 #
143 ifneq ($(INSTALL_WWW), yes)
144 install-www:
145 else
146 install-www: \
147         $(DEST_WWW_TEXT)/$(BASENAME).txt \
148         $(DEST_WWW_SGML)/$(BASENAME).sgml \
149         $(DEST_WWW_HTML)/$(BASENAME)/index.html
150
151 $(DEST_WWW_TEXT)/$(BASENAME).txt: $(BASENAME).txt
152         mkdir -p $(@D)
153         $(INSTALL) $< $@
154
155 $(DEST_WWW_HTML)/$(BASENAME)/index.html: index.html
156         mkdir -p $(DEST_WWW_HTML)
157         mkdir -p $(@D)
158         $(INSTALL) *.html $(@D)
159         if [ -r dot.htaccess ]; then \
160            $(INSTALL) dot.htaccess $(@D)/.htaccess ; \
161         fi
162
163 $(DEST_WWW_SGML)/$(BASENAME).sgml: $(BASENAME).sgml
164         mkdir -p $(@D)
165         $(INSTALL) $< $@
166 endif
167
168 #
169 # Install FTP contents
170 #
171 ifneq ($(INSTALL_FTP), yes)
172 install-ftp:
173 else
174 install-ftp: \
175         $(DEST_FTP_TEXT)/$(BASENAME).gz \
176         $(DEST_FTP_HTML)/$(BASENAME).tar.gz \
177         $(DEST_FTP_SGML)/$(BASENAME).sgml.gz
178
179 $(DEST_FTP_TEXT)/$(BASENAME).gz: $(BASENAME).txt
180         mkdir -p $(@D)
181         $(INSTALL) $< $(@:.gz=)
182         rm -f $@
183         gzip $(@:.gz=)
184
185 $(DEST_FTP_HTML)/$(BASENAME).tar.gz: $(BASENAME).tar.gz
186         mkdir -p $(@D)
187         $(INSTALL) $< $@
188
189 $(DEST_FTP_SGML)/$(BASENAME).sgml.gz: $(BASENAME).sgml
190         mkdir -p $(@D)
191         $(INSTALL) $< $(@:.gz=)
192         rm -f $@
193         gzip $(@:.gz=)
194 endif
195
196 #
197 # Install LDP translations for mirror
198 #
199 ifneq ($(INSTALL_LDP), yes)
200 install-ldp-mirror:
201 else
202 ifneq ($(KIND), LDP-TRANS)
203 install-ldp-mirror: 
204         @echo Non-LDP document. Skipped.
205 else
206 install-ldp-mirror: \
207         $(DEST_LDP_TEXT)/$(BASENAME).gz \
208         $(DEST_LDP_HTML)/$(BASENAME).tar.gz \
209         $(DEST_LDP_SGML)/$(BASENAME).sgml.gz
210
211 $(DEST_LDP_TEXT)/$(BASENAME).gz: $(BASENAME).txt
212         mkdir -p $(@D)
213         $(INSTALL) $< $(@:.gz=)
214         rm -f $@
215         gzip $(@:.gz=)
216
217 $(DEST_LDP_HTML)/$(BASENAME).tar.gz: $(BASENAME).tar.gz
218         mkdir -p $(@D)
219         $(INSTALL) $< $@
220
221 $(DEST_LDP_SGML)/$(BASENAME).sgml.gz: $(BASENAME).sgml
222         mkdir -p $(@D)
223         $(INSTALL) $< $(@:.gz=)
224         rm -f $@
225         gzip $(@:.gz=)
226 endif
227 endif
228
229
230 else
231
232 #
233 # single sgml file with images, multiple sgml files,
234 # multiple sgml files with images
235 #
236 install-work: \
237         $(WORK_TEXT)/$(BASENAME).txt \
238         $(WORK_SGML)/$(BASENAME)/$(BASENAME).sgml \
239         $(WORK_HTML)/$(BASENAME)/index.html
240
241 $(WORK_TEXT)/$(BASENAME).txt: $(BASENAME).txt
242         mkdir -p $(@D)
243         $(INSTALL) $< $@
244
245 $(WORK_HTML)/$(BASENAME)/index.html: index.html
246         mkdir -p $(WORK_HTML)
247         mkdir -p $(@D)
248         tar cf - `find . -name '*.html' $(IMAGE_EXPR)` \
249         | ( cd $(@D); tar xpf -)
250
251 $(WORK_SGML)/$(BASENAME)/$(BASENAME).sgml: $(BASENAME).sgml
252         mkdir -p $(WORK_SGML)
253         mkdir -p $(@D)
254         tar cf - `find . -name '*.sgml' $(SRC_EXPR) $(IMAGE_EXPR) $(PS_EXPR)` \
255         | ( cd $(@D); tar xpf -)
256
257 #
258 # Install WWW contents
259 #
260 ifneq ($(INSTALL_WWW), yes)
261 install-www:
262 else
263 install-www: \
264         $(DEST_WWW_TEXT)/$(BASENAME).txt \
265         $(DEST_WWW_HTML)/$(BASENAME)/index.html \
266         $(DEST_WWW_SGML)/$(BASENAME)/$(BASENAME).sgml
267
268 $(DEST_WWW_TEXT)/$(BASENAME).txt: $(BASENAME).txt
269         mkdir -p $(@D)
270         $(INSTALL) $< $@
271
272 $(DEST_WWW_HTML)/$(BASENAME)/index.html: index.html
273         mkdir -p $(DEST_WWW_HTML)
274         mkdir -p $(@D)
275         tar cf - `find . -name '*.html' $(IMAGE_EXPR)` \
276         | ( cd $(@D); tar xpf -)
277         if [ -r dot.htaccess ]; then \
278            $(INSTALL) dot.htaccess $(@D)/.htaccess ; \
279         fi
280
281 $(DEST_WWW_SGML)/$(BASENAME)/$(BASENAME).sgml: $(BASENAME).sgml
282         mkdir -p $(DEST_WWW_SGML)
283         mkdir -p $(@D)
284         tar cf - `find . -name '*.sgml' $(SRC_EXPR) $(IMAGE_EXPR) $(PS_EXPR)` \
285         | ( cd $(@D); tar xpf -)
286 endif
287
288 #
289 # Install FTP contents
290 #
291 ifneq ($(INSTALL_FTP), yes)
292 install-ftp:
293 else
294 install-ftp: \
295         $(DEST_FTP_TEXT)/$(BASENAME).gz \
296         $(DEST_FTP_HTML)/$(BASENAME).tar.gz \
297         $(DEST_FTP_SGML)/$(BASENAME).sgml.tar.gz
298
299 $(DEST_FTP_TEXT)/$(BASENAME).gz: $(BASENAME).txt
300         mkdir -p $(@D)
301         $(INSTALL) $< $(@:.gz=)
302         rm -f $@
303         gzip $(@:.gz=)
304
305 $(DEST_FTP_HTML)/$(BASENAME).tar.gz: $(BASENAME).tar.gz
306         mkdir -p $(@D)
307         $(INSTALL) $< $@
308
309 $(DEST_FTP_SGML)/$(BASENAME).sgml.tar.gz: $(BASENAME).sgml.tar.gz
310         mkdir -p $(@D)
311         $(INSTALL) $< $@
312 endif
313
314 #
315 # Install LDP translations for mirror
316 #
317 ifneq ($(INSTALL_LDP), yes)
318 install-ldp-mirror:
319 else
320 ifneq ($(KIND), LDP-TRANS)
321 install-ldp-mirror: 
322         @echo Non-LDP document. Skipped.
323 else
324 install-ldp-mirror: \
325         $(DEST_LDP_TEXT)/$(BASENAME).gz \
326         $(DEST_LDP_HTML)/$(BASENAME).tar.gz \
327         $(DEST_LDP_SGML)/$(BASENAME).sgml.tar.gz
328
329 $(DEST_LDP_TEXT)/$(BASENAME).gz: $(BASENAME).txt
330         mkdir -p $(@D)
331         $(INSTALL) $< $(@:.gz=)
332         rm -f $@
333         gzip $(@:.gz=)
334
335 $(DEST_LDP_HTML)/$(BASENAME).tar.gz: $(BASENAME).tar.gz
336         mkdir -p $(@D)
337         $(INSTALL) $< $@
338
339 $(DEST_LDP_SGML)/$(BASENAME).sgml.tar.gz: $(BASENAME).sgml.tar.gz
340         mkdir -p $(@D)
341         $(INSTALL) $< $@
342 endif
343 endif
344
345 endif
346
347 #
348 clean:
349         find . -name '*.html' | xargs rm -f
350         rm -f *.txt
351         rm -f $(BASENAME).tar.gz
352         rm -f $(BASENAME).sgml.tar.gz