/[ddp]/manuals/trunk/quick-reference/Makefile
ViewVC logotype

Contents of /manuals/trunk/quick-reference/Makefile

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1385 - (show annotations) (download)
Sat Feb 9 19:19:39 2002 UTC (11 years, 3 months ago) by osamu
File size: 6980 byte(s)
Imported files from qref.sf.net         Sat Feb  9 11:21:37 PST 2002
1 # Makefile for a manual in the Debian Documentation Project qref.sgml
2 # tree. ("Quick Reference" DDP compatible version)
3 ########################################################################
4 # make [SFILE=qref] \
5 # [TLANG=en|fr|it|...] [TFILE=qref2] [BOOK=qref] \
6 # [INDEX=index] [DESTDIR=target] \
7 # [PHPON=] [publish] \
8 # [html] [text] [ps] [pdf] [scp] [date] [clean] [tar] [update] ...
9 ########################################################################
10 # source file name (No language specifier part)
11 SFILE := qref
12 # target file name (for html: $(TFILE).html/)
13 TFILE := qref
14 # HTML start page
15 INDEX := index
16 # default language for build
17 TLANG := en
18 # default language for build (LATEX related specification)
19 LLANG := en
20 # build flag for SGML parse.
21 BOOK := qref
22 # url of this build.
23 URLHERE := ddp-page
24 # Where are we publishing to?
25 # (this can be overriden by a higher level makefile)
26 #PUBLISHDIR := ../../../public_html/qref.html
27 PUBLISHDIR := ../public_html
28 ## Set alternative values by command line
29 # target directory for packaging
30
31 # What do we want by default? (ddp)
32 all: publish
33
34 #########################################################################
35 # programs for SGML output / validation
36 #DDOC := -d /usr/share/sgml/debiandoc/dtd/sgml/1.0/debiandoc.dcl
37 DDOC :=
38 DEBIANDOC2HTML := debiandoc2html $(DDOC) -l $(TLANG) -c
39 DEBIANDOC2TEXT := debiandoc2text $(DDOC) -l $(TLANG)
40 DEBIANDOC2PS := debiandoc2ps $(DDOC) -l $(TLANG) -v
41 DEBIANDOC2PDF := debiandoc2pdf $(DDOC) -l $(TLANG) -v
42 NSGMLS := nsgmls -ges -wall $(DDOC)
43 # How to install stuff in publish directory
44 install_file := install -p -m 664
45 install_dir := install -d -m 2775
46
47 # this for is used for dependencies
48 DEPENDS := dynamic.ent default.ent custom.ent date.ent \
49 $(wildcard $(TLANG)/*.sgml) \
50 $(wildcard examples/*)
51 #############################################################################
52
53 DATE := `date --utc +"%Y.%m.%d-%H:%M"`
54
55 date.ent:
56 : > $@ # clear the file
57 @echo "<!entity date \"$(DATE)\">" >> $@
58
59 # generate entities which are dynamically defined by the settings of this
60 # build run, generally set in the top-level config file (alway make)
61 dynamic.ent::
62 : > $@ # clear the file
63 @echo "<!entity language \"$(TLANG)\">" >> $@
64 @echo "<!entity % lang-$(TLANG) \"INCLUDE\">" >> $@
65 @echo "<!entity booklet \"$(BOOK)\">" >> $@
66 @echo "<!entity % $(BOOK) \"INCLUDE\">" >> $@
67 @echo "<!entity % $(URLHERE) \"INCLUDE\">" >> $@
68
69 # Create starting SGML for each language from template
70 # Actual contents are in language segrigated subdirectory
71 # generic rules for all the languages to each language
72 $(TFILE).$(TLANG).sgml: $(SFILE).sgml
73 sed -e "s/@@@@/$(TLANG)/g" $< > $@
74
75 # this is for php driven sf.net page
76 .PHONY: web
77 web: $(TFILE).html/$(INDEX).$(TLANG).html $(DEPENDS)
78 $(TFILE).html/$(INDEX).$(TLANG).html: $(TFILE).$(TLANG).sgml $(DEPENDS)
79 $(DEBIANDOC2HTML) -t $(INDEX) -b $(TFILE) $< 2>_html-web.$(TLANG).err
80
81 # publish for ddp
82 .PHONY: publish
83 publish: webs
84 # fail if there is no PUBLISHDIR
85 [ -d $(PUBLISHDIR) ] || exit 1
86 rm -f $(PUBLISHDIR)/$(TFILE)/*.html
87 $(install_dir) $(PUBLISHDIR)/$(TFILE)
88 $(install_file) --preserve-timestamps \
89 $(TFILE).html/*.html $(PUBLISHDIR)/$(TFILE)/
90
91 # web page (auto-select language)
92 webs: date.ent
93 make TLANG=en LLANG=en TFILE=$(TFILE) SFILE=$(SFILE) web
94 make TLANG=fr LLANG=fr TFILE=$(TFILE) SFILE=$(SFILE) web
95 make TLANG=it LLANG=it TFILE=$(TFILE) SFILE=$(SFILE) web
96 # copy accompanying scripts from archive.
97 cp -ap examples/ $(TFILE).html/
98 # make sure link is not there first
99 -rm -f $(TFILE)
100 ln -sf $(TFILE).html $(TFILE)
101
102 .PHONY: update
103 update: sourceforge
104
105 .PHONY: sourceforge
106 sourceforge: webs
107 make TLANG=en LLANG=en TFILE=$(TFILE) SFILE=$(SFILE) text
108 make TLANG=fr LLANG=fr TFILE=$(TFILE) SFILE=$(SFILE) text
109 make TLANG=it LLANG=it TFILE=$(TFILE) SFILE=$(SFILE) text
110 make tar
111 # SF.NET server requires extention to be php
112 cp -f index.php $(TFILE).html/index.php
113
114 # this is alternative html build for debian package
115 # (Separate directory for language)
116 .PHONY: html
117 html: $(TLANG)/$(INDEX).html
118 $(TLANG)/$(INDEX).$(TLANG).html: $(TFILE).$(TLANG).sgml $(DEPENDS)
119 $(DEBIANDOC2HTML) -t $(INDEX) -b $(TLANG) $< 2>_html.$(TLANG).err
120 cd $(TLANG).html ; ln -sf $(INDEX).$(TLANG).html $(INDEX).html
121
122 .PHONY: text
123 text: $(TFILE).$(TLANG).txt
124 $(TFILE).$(TLANG).txt: $(TFILE).$(TLANG).sgml $(DEPENDS)
125 # $(DEBIANDOC2TEXT) $< 2>_text.err
126 $(DEBIANDOC2TEXT) -O $< > $(TFILE).$(TLANG).txt 2>_text.$(TLANG).err
127
128 .PHONY: tar
129 tar:
130 tar cvzf $(TFILE).tar.gz *.ent $(SFILE).sgml $(SFILE).??.sgml \
131 ./??/*.sgml ./examples/* Makefile index.php
132
133 .PHONY: ps
134 ps: $(TFILE).$(TLANG).ps
135 $(TFILE).$(TLANG).ps: $(TFILE).$(TLANG).sgml $(DEPENDS)
136 # $(DEBIANDOC2PS) -O $< > $(TFILE).ps # trouble ??ace condition?
137 ### if debiandoc* confuses when output file has long extention, use below.
138 # -$(DEBIANDOC2PS) -b $(TFILEA).$(LINGUA) $<
139 # or
140 $(DEBIANDOC2PS) -O $< > $(TFILE).ps 2>_ps.$(TLANG).err
141 mv $(TFILE).ps $(TFILE).$(TLANG).ps
142
143 .PHONY: pdf
144 pdf: $(TFILE).$(TLANG).pdf
145 $(TFILE).$(TLANG).pdf: $(TFILE).$(TLANG).sgml $(DEPENDS)
146 # $(DEBIANDOC2PDF) -O $< > $@ # trouble ?? race condition?
147 ### if debiandoc* confuses when output file has long extention, use below.
148 # -$(DEBIANDOC2PDF) -b $(TFILEA).$(LINGUA) $<
149 # or
150 $(DEBIANDOC2PDF) -O $< > $(basename $(basename $@)).pdf 2>_pdf.$(TLANG).err
151 mv $(basename $(basename $@)).pdf $@
152
153 # remote update source forge using woody box
154 scp: scpps scppdf
155
156 scpps: ps
157 scp $(TFILE).$(TLANG).ps $$USER@shell.sf.net:/home/groups/q/qr/qref/htdocs/$(TFILE).$(TLANG).ps
158
159 #scppdf: pdf
160 scppdf: pdf
161 scp $(TFILE).$(TLANG).pdf $$USER@shell.sf.net:/home/groups/q/qr/qref/htdocs/$(TFILE).$(TLANG).pdf
162
163
164 # ensure our SGML is valid for all TLANG
165 .PHONY: validate
166 validate:
167 make TLANG=en TFILE=qref SFILE=qref lint
168 make TLANG=fr TFILE=qref SFILE=qref lint
169 make TLANG=it TFILE=qref SFILE=qref lint
170
171 # ensure our SGML is valid for a language
172 .PHONY: lint
173 lint: $(TFILE).$(TLANG).sgml $(DEPENDS)
174 # @echo "Verifying SGML validity for language $(LINGUA):"
175 $(NSGMLS) $(TFILE).$(TLANG).sgml
176 # @echo "Checking for deprecated entity references:"
177 # nsgmls -oentity /usr/lib/sgml/declaration/debiandoc.decl \
178 # $(TFILE).$(TLANG).sgml 2>/dev/null | sed -e '/^IMSG/!d' -e 's/^I/ /'
179
180 .PHONY: scps
181 scps:
182 make TLANG=en LLANG=en TFILE=$(TFILE) SFILE=$(SFILE) scp
183 make TLANG=fr LLANG=fr TFILE=$(TFILE) SFILE=$(SFILE) scp
184 make TLANG=it LLANG=en TFILE=$(TFILE) SFILE=$(SFILE) scp
185
186 .PHONY: tar-web
187 tar-web: webs
188 cd $(TFILE).html ; tar cvzf ../$(TFILE)-web.tar.gz .
189
190 .PHONY: tar0
191 tar0:
192 -tar cvzf ../$(TFILE).tar.gz .
193
194 .PHONY: clean-junk
195 clean-junk:
196 -rm -f *.log *.aux *.bak *.out *.sasp* *.toc *.tex *.dvi
197 -rm -f date.ent dynamic.ent *.??.sgml *.err
198 -rm -f *~ *.orig \#* *.tar.gz
199
200 .PHONY: clean
201 clean: clean-junk
202 -rm -f *.txt *.pdf *.ps
203 -rm -rf en.html fr.html it.html
204 -rm -rf qref.html
205 -rm -rf qref
206
207 .PHONY: distclean
208 distclean: clean

  ViewVC Help
Powered by ViewVC 1.1.5