/[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 - (hide annotations) (download)
Sat Feb 9 19:19:39 2002 UTC (11 years, 4 months ago) by osamu
File size: 6980 byte(s)
Imported files from qref.sf.net         Sat Feb  9 11:21:37 PST 2002
1 osamu 1385 # 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