OSDN Git Service

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