Commit | Line | Data |
---|---|---|
9ddacf86 KN |
1 | # Makefile for Scheme Library |
2 | # Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998 Aubrey Jaffer. | |
3 | ||
4 | SHELL = /bin/sh | |
5 | intro: | |
6 | @echo | |
7 | @echo "Welcome to SLIB. Read \"README\" and \"slib.info\" (or" | |
8 | @echo "\"slib.texi\") to learn how to install and use SLIB." | |
9 | @echo | |
10 | @echo | |
11 | -make slib.info | |
12 | ||
13 | srcdir=$(HOME)/slib/ | |
14 | PREVDOCS = slib/ | |
15 | dvidir=../dvi/ | |
16 | dvi: $(dvidir)slib.dvi | |
17 | $(dvidir)slib.dvi: version.txi slib.texi $(dvidir)slib.fn schmooz.texi | |
18 | # cd $(dvidir);export TEXINPUTS=$(srcdir):;texi2dvi $(srcdir)slib.texi | |
19 | -(cd $(dvidir);export TEXINPUTS=$(srcdir):;texindex slib.??) | |
20 | cd $(dvidir);export TEXINPUTS=$(srcdir):;tex $(srcdir)slib.texi | |
21 | $(dvidir)slib.fn: | |
22 | cd $(dvidir);export TEXINPUTS=$(srcdir):;tex $(srcdir)slib.texi \ | |
23 | $(srcdir)schmooz.texi | |
24 | xdvi: $(dvidir)slib.dvi | |
25 | xdvi -s 6 $(dvidir)slib.dvi | |
26 | htmldir=../public_html/ | |
27 | slib_toc.html: version.txi slib.texi htmlform.txi schmooz.texi | |
28 | texi2html -split -verbose slib.texi | |
29 | ||
30 | $(PREVDOCS)slib_toc.html: | |
31 | cd slib;make slib_toc.html | |
32 | cd slib;texi2html -split -verbose slib.texi | |
33 | ||
34 | html: $(htmldir)slib_toc.html | |
35 | $(htmldir)slib_toc.html: slib slib_toc.html Makefile | |
36 | hitch $(PREVDOCS)slib_\*.html slib_\*.html $(htmldir) | |
37 | ||
38 | rpm_prefix=/usr/src/redhat/ | |
39 | ||
40 | prefix = /usr/local | |
41 | exec_prefix = $(prefix) | |
42 | bindir = $(exec_prefix)/bin | |
43 | libdir = $(exec_prefix)/lib | |
44 | infodir = $(exec_prefix)/info | |
45 | RUNNABLE = scheme48 | |
46 | LIB = $(libdir)/$(RUNNABLE) | |
47 | VM = scheme48vm | |
48 | IMAGE = slib.image | |
49 | INSTALL_DATA = install -c | |
50 | ||
51 | slib48.036: | |
52 | (echo ,load `pwd`/scheme48.init; \ | |
53 | echo "(define *args* '())"; \ | |
54 | echo "(define (program-arguments) (cons \"$(VM)\" *args*))"; \ | |
55 | echo ,dump $(LIB)/$(IMAGE); \ | |
56 | echo ,exit) | scheme48 | |
57 | (echo '#!/bin/sh'; \ | |
58 | echo exec '$(LIB)/$(VM)' -i '$(LIB)/$(IMAGE)' \"\$$\@\") \ | |
59 | > $(bindir)/slib48 | |
60 | chmod +x $(bindir)/slib48 | |
61 | ||
62 | $(LIB)/slibcat: | |
63 | touch $(LIB)/slibcat | |
64 | ||
65 | slib48: $(LIB)/slibcat Makefile | |
66 | (echo ",batch on"; \ | |
67 | echo ",config"; \ | |
68 | echo ",load =scheme48/misc/packages.scm"; \ | |
69 | echo "(define-structure slib-primitives"; \ | |
70 | echo " (export s48-error"; \ | |
71 | echo " s48-ascii->char"; \ | |
72 | echo " s48-force-output"; \ | |
73 | echo " s48-current-error-port"; \ | |
74 | echo " s48-system";\ | |
75 | echo " s48-with-handler";\ | |
76 | echo " s48-getenv)";\ | |
77 | echo " (open scheme signals ascii extended-ports i/o"; \ | |
78 | echo " primitives handle unix-getenv)"; \ | |
79 | echo " (begin"; \ | |
80 | echo " (define s48-error error)"; \ | |
81 | echo " (define s48-ascii->char ascii->char)"; \ | |
82 | echo " (define s48-force-output force-output)"; \ | |
83 | echo " (define s48-current-error-port current-error-port)"; \ | |
84 | echo " (define (s48-system c) (vm-extension 96 c))"; \ | |
85 | echo " (define s48-with-handler with-handler)"; \ | |
86 | echo " (define s48-getenv getenv)))"; \ | |
87 | echo ",user"; \ | |
88 | echo ",open slib-primitives"; \ | |
89 | echo "(define (implementation-vicinity) \"$(LIB)/\")"; \ | |
90 | echo "(define (library-vicinity) \"`pwd`/\")"; \ | |
91 | echo ",load scheme48.init"; \ | |
92 | echo "(define *args* '())"; \ | |
93 | echo "(define (program-arguments) (cons \"scheme48\" *args*))"; \ | |
94 | echo "(set! *catalog* #f)"; \ | |
95 | echo ",collect"; \ | |
96 | echo ",batch off"; \ | |
97 | echo ",dump $(IMAGE) \"(slib $(VERSION))\""; \ | |
98 | echo ",exit") | scheme48 | |
99 | ||
100 | install48: slib48 | |
101 | $(INSTALL_DATA) $(IMAGE) $(LIB) | |
102 | (echo '#!/bin/sh'; \ | |
103 | echo exec $(RUNNABLE) -i '$(LIB)/$(IMAGE)' \"\$$\@\") \ | |
104 | > $(bindir)/slib48 | |
105 | chmod +x $(bindir)/slib48 | |
106 | ||
107 | #### Stuff for maintaining SLIB below #### | |
108 | ||
109 | VERSION = 2d1 | |
110 | ver = $(VERSION) | |
111 | version.txi: Makefile | |
112 | echo @set SLIBVERSION $(VERSION) > version.txi | |
113 | echo @set SLIBDATE `date +"%B %Y"` >> version.txi | |
114 | ||
115 | scheme = scm | |
116 | ||
117 | htmlform.txi: *.scm | |
118 | $(scheme) -rschmooz -e'(schmooz "slib.texi")' | |
119 | slib.info: version.txi slib.texi htmlform.txi objdoc.txi schmooz.texi | |
120 | makeinfo slib.texi --no-split -o slib.info | |
121 | mv slib.info slib$(VERSION).info | |
122 | if [ -f $(PREVDOCS)slib.info ]; \ | |
123 | then infobar $(PREVDOCS)slib.info slib$(VERSION).info slib.info; \ | |
124 | else cp slib$(VERSION).info slib.info;fi | |
125 | info: installinfo | |
126 | installinfo: $(infodir)/slib.info | |
127 | $(infodir)/slib.info: slib.info | |
128 | cp -a slib.info $(infodir)/slib.info | |
129 | -install-info $(infodir)/slib.info $(infodir)/dir | |
130 | -rm $(infodir)/slib.info.gz | |
131 | infoz: installinfoz | |
132 | installinfoz: $(infodir)/slib.info.gz | |
133 | $(infodir)/slib.info.gz: $(infodir)/slib.info | |
134 | gzip -f $(infodir)/slib.info | |
135 | ||
136 | ffiles = printf.scm format.scm genwrite.scm obj2str.scm pp.scm \ | |
137 | ppfile.scm strcase.scm debug.scm trace.scm lineio.scm \ | |
138 | strport.scm scanf.scm chap.scm qp.scm break.scm stdio.scm \ | |
139 | strsrch.scm prec.scm schmooz.scm | |
140 | lfiles = sort.scm comlist.scm tree.scm logical.scm random.scm tsort.scm \ | |
141 | coerce.scm | |
142 | revfiles = sc4opt.scm sc4sc3.scm sc2.scm mularg.scm mulapply.scm \ | |
143 | trnscrpt.scm withfile.scm dynwind.scm promise.scm values.scm \ | |
144 | eval.scm | |
145 | afiles = ratize.scm randinex.scm modular.scm factor.scm \ | |
146 | charplot.scm root.scm minimize.scm cring.scm determ.scm \ | |
147 | selfset.scm psxtime.scm cltime.scm timezone.scm tzfile.scm | |
148 | bfiles = collect.scm fluidlet.scm struct.scm object.scm recobj.scm yasyn.scm | |
149 | scfiles = r4rsyn.scm scmacro.scm synclo.scm synrul.scm synchk.scm \ | |
150 | repl.scm macwork.scm mwexpand.scm mwdenote.scm mwsynrul.scm | |
151 | scafiles = scainit.scm scaglob.scm scamacr.scm scaoutp.scm scaexpp.scm \ | |
152 | structure.scm | |
153 | dfiles = defmacex.scm mbe.scm | |
154 | efiles = record.scm dynamic.scm queue.scm process.scm \ | |
155 | priorque.scm hash.scm hashtab.scm alist.scm \ | |
156 | wttree.scm wttest.scm array.scm arraymap.scm \ | |
157 | sierpinski.scm soundex.scm byte.scm nclients.scm pnm.scm \ | |
158 | simetrix.scm | |
159 | rfiles = rdms.scm alistab.scm dbutil.scm paramlst.scm report.scm \ | |
160 | batch.scm makcrc.scm dbrowse.scm comparse.scm getopt.scm \ | |
161 | htmlform.scm db2html.scm http-cgi.scm getparam.scm glob.scm \ | |
162 | fft.scm uri.scm | |
163 | gfiles = tek40.scm tek41.scm | |
164 | docfiles = ANNOUNCE README FAQ slib.info slib.texi schmooz.texi ChangeLog \ | |
165 | coerce.txi lineio.txi nclients.txi factor.txi minimize.txi \ | |
166 | obj2str.txi randinex.txi random.txi uri.txi db2html.txi \ | |
167 | htmlform.txi http-cgi.txi version.txi fmtdoc.txi objdoc.txi | |
168 | mfiles = Makefile require.scm Template.scm syncase.sh mklibcat.scm \ | |
169 | Bev2slib.scm slib.spec | |
170 | ifiles = bigloo.init chez.init elk.init macscheme.init \ | |
171 | mitscheme.init scheme2c.init scheme48.init gambit.init t3.init \ | |
172 | vscm.init mitcomp.pat scm.init scsh.init pscheme.init STk.init \ | |
173 | RScheme.init DrScheme.init umbscheme.init | |
174 | tfiles = plottest.scm formatst.scm macrotst.scm scmactst.scm \ | |
175 | dwindtst.scm structst.scm | |
176 | sfiles = $(ffiles) $(lfiles) $(revfiles) $(afiles) $(scfiles) $(efiles) \ | |
177 | $(rfiles) $(gfiles) $(scafiles) $(dfiles) | |
178 | allfiles = $(docfiles) $(mfiles) $(ifiles) $(sfiles) $(tfiles) $(bfiles) | |
179 | ||
180 | makedev = make -f $(HOME)/makefile.dev | |
181 | CHPAT=$(HOME)/bin/chpat | |
182 | RSYNC=rsync -avessh | |
183 | dest = $(HOME)/dist/ | |
184 | temp/slib: $(allfiles) | |
185 | -rm -rf temp | |
186 | mkdir temp | |
187 | mkdir temp/slib | |
188 | ln $(allfiles) temp/slib | |
189 | ||
190 | infotemp/slib: slib.info | |
191 | -rm -rf infotemp | |
192 | mkdir infotemp | |
193 | mkdir infotemp/slib | |
194 | ln slib.info slib.info-* infotemp/slib | |
195 | #For change-barred HTML. | |
196 | slib: | |
197 | unzip -a $(dest)slib[0-9]*.zip | |
198 | ||
199 | distinfo: $(dest)slib.info.zip | |
200 | $(dest)slib.info.zip: infotemp/slib | |
201 | $(makedev) TEMP=infotemp/ DEST=$(dest) PROD=slib ver=.info zip | |
202 | rm -rf infotemp | |
203 | ||
204 | release: dist rpm | |
205 | cvs tag -F slib$(VERSION) | |
206 | cp ANNOUNCE $(htmldir)SLIB_ANNOUNCE.txt | |
207 | $(RSYNC) $(htmldir)SLIB.html $(htmldir)SLIB_ANNOUNCE.txt nestle.ai.mit.edu:public_html/ | |
208 | $(RSYNC) $(dest)README $(dest)slib$(VERSION).zip \ | |
209 | $(dest)slib-$(VERSION)-1.noarch.rpm nestle.ai.mit.edu:dist/ | |
210 | # upload $(dest)README $(dest)slib$(VERSION).zip ftp.gnu.org:gnu/jacal/ | |
211 | # $(MAKE) indiana | |
212 | indiana: | |
213 | upload $(dest)slib$(VERSION).zip ftp@ftp.cs.indiana.edu:/pub/scheme-repository/incoming | |
214 | echo -e \ | |
215 | 'I have uploaded slib$(VERSION).zip to ftp.cs.indiana.edu:/pub/scheme-repository/incoming\n' \ | |
216 | 'for placement into ftp.cs.indiana.edu:/pub/scheme-repository/code/lib/' \ | |
217 | | mail -s 'SLIB upload' -b jaffer scheme-repository-request@cs.indiana.edu | |
218 | ||
219 | postnews: | |
220 | echo -e "Newsgroups: comp.lang.scheme\n" | cat - ANNOUNCE | \ | |
221 | inews -h -O -S \ | |
222 | -f "announce@docupress.com (Aubrey Jaffer & Radey Shouman)" \ | |
223 | -t "SLIB$(VERSION) Released" -d world | |
224 | ||
225 | upzip: $(HOME)/pub/slib.zip | |
226 | $(RSYNC) $(HOME)/pub/slib.zip nestle.ai.mit.edu:pub/ | |
227 | ||
228 | dist: $(dest)slib$(VERSION).zip | |
229 | $(dest)slib$(VERSION).zip: temp/slib | |
230 | $(makedev) DEST=$(dest) PROD=slib ver=$(VERSION) zip | |
231 | ||
232 | rpm: $(dest)slib-$(VERSION)-1.noarch.rpm | |
233 | $(dest)slib-$(VERSION)-1.noarch.rpm: $(dest)slib$(VERSION).zip | |
234 | cp $(dest)slib$(VERSION).zip $(rpm_prefix)SOURCES | |
235 | rpm -bb --clean slib.spec | |
236 | rm $(rpm_prefix)SOURCES/slib$(VERSION).zip | |
237 | mv $(rpm_prefix)RPMS/noarch/slib-$(VERSION)-1.noarch.rpm $(dest) | |
238 | ||
239 | shar: slib.shar | |
240 | slib.shar: temp/slib | |
241 | $(makedev) PROD=slib shar | |
242 | dclshar: slib.com | |
243 | com: slib.com | |
244 | slib.com: temp/slib | |
245 | $(makedev) PROD=slib com | |
246 | zip: slib.zip | |
247 | slib.zip: temp/slib | |
248 | $(makedev) PROD=slib zip | |
249 | doszip: /c/scm/dist/slib$(VERSION).zip | |
250 | /c/scm/dist/slib$(VERSION).zip: temp/slib | |
251 | $(makedev) DEST=/c/scm/dist/ PROD=slib ver=$(VERSION) zip | |
252 | zip -d /c/scm/dist/slib$(VERSION).zip slib/slib.info | |
253 | pubzip: temp/slib | |
254 | $(makedev) DEST=$(HOME)/pub/ PROD=slib zip | |
255 | ||
256 | diffs: pubdiffs | |
257 | pubdiffs: temp/slib | |
258 | $(makedev) DEST=$(HOME)/pub/ PROD=slib pubdiffs | |
259 | distdiffs: temp/slib | |
260 | $(makedev) DEST=$(dest) PROD=slib ver=$(ver) distdiffs | |
261 | announcediffs: temp/slib | |
262 | $(makedev) DEST=$(dest) PROD=slib ver=$(VERSION) announcediffs | |
263 | ||
264 | psdfiles=COPYING.psd README.psd cmuscheme.el comint.el instrum.scm pexpr.scm \ | |
265 | primitives.scm psd-slib.scm psd.el read.scm runtime.scm version.scm | |
266 | psdocfiles=article.bbl article.tex manual.bbl manual.tex quick-intro.tex | |
267 | ||
268 | psdtemp/slib: | |
269 | -rm -rf psdtemp | |
270 | mkdir psdtemp | |
271 | mkdir psdtemp/slib | |
272 | mkdir psdtemp/slib/psd | |
273 | cd psd; ln $(psdfiles) ../psdtemp/slib/psd | |
274 | mkdir psdtemp/slib/psd/doc | |
275 | cd psd/doc; ln $(psdocfiles) ../../psdtemp/slib/psd/doc | |
276 | ||
277 | psdist: $(dest)slib-psd.tar.gz | |
278 | $(dest)slib-psd.tar.gz: psdtemp/slib | |
279 | $(makedev) DEST=$(dest) PROD=slib ver=-psd tar.gz TEMP=psdtemp/ | |
280 | ||
281 | new: | |
282 | echo `date` \ Aubrey Jaffer \ \<`whoami`@`hostname`\>> change | |
283 | echo>> change | |
284 | echo \ \* require.scm \(*SLIB-VERSION*\): Bumped from $(VERSION) to $(ver).>>change | |
285 | echo>> change | |
286 | cat ChangeLog >> change | |
287 | mv -f change ChangeLog | |
288 | $(CHPAT) slib$(VERSION) slib$(ver) ANNOUNCE FAQ ../scm/ANNOUNCE \ | |
289 | ../jacal/ANNOUNCE ../wb/README ../wb/ANNOUNCE \ | |
290 | ../synch/ANNOUNCE \ | |
291 | $(htmldir)README.html ../dist/README \ | |
292 | $(htmldir)JACAL.html \ | |
293 | $(htmldir)SCM.html $(htmldir)Hobbit.html \ | |
294 | $(htmldir)SIMSYNCH.html ../scm/scm.texi \ | |
295 | /c/scm/dist/install.bat /c/scm/dist/makefile \ | |
296 | /c/scm/dist/mkdisk.bat | |
297 | $(CHPAT) slib-$(VERSION) slib-$(ver) ANNOUNCE FAQ ../scm/ANNOUNCE \ | |
298 | ../jacal/ANNOUNCE ../wb/README ../wb/ANNOUNCE \ | |
299 | ../synch/ANNOUNCE \ | |
300 | $(htmldir)README.html ../dist/README \ | |
301 | $(htmldir)JACAL.html \ | |
302 | $(htmldir)SCM.html $(htmldir)Hobbit.html \ | |
303 | $(htmldir)SIMSYNCH.html ../scm/scm.texi \ | |
304 | /c/scm/dist/install.bat /c/scm/dist/makefile \ | |
305 | /c/scm/dist/mkdisk.bat | |
306 | $(CHPAT) $(VERSION) $(ver) README slib.texi require.scm Makefile \ | |
307 | $(htmldir)SLIB.html slib.spec | |
308 | cvs commit -m '(*SLIB-VERSION*): Bumped from $(VERSION) to $(ver).' | |
309 | cvs tag -F slib$(ver) | |
310 | ||
311 | tagfiles = version.txi slib.texi $(mfiles) $(sfiles) $(bfiles) $(tfiles) \ | |
312 | $(ifiles) | |
313 | # README and $(ifiles) cause semgentation faults in ETAGS for Emacs version 19. | |
314 | tags: $(tagfiles) | |
315 | etags $(tagfiles) | |
316 | test: $(sfiles) | |
317 | scheme Template.scm $(sfiles) | |
318 | rights: | |
319 | scm -ladmin -e"(admin:check-all)" $(sfiles) $(tfiles) \ | |
320 | $(bfiles) $(ifiles) | |
321 | report: | |
322 | scmlit -e"(slib:report #t)" | |
323 | scm -e"(slib:report #t)" | |
324 | clean: | |
325 | -rm -f *~ *.bak *.orig *.rej core a.out *.o \#* | |
326 | -rm -rf *temp | |
327 | distclean: realclean | |
328 | realclean: | |
329 | -rm -f *~ *.bak *.orig *.rej TAGS core a.out *.o \#* | |
330 | -rm -f slib.info* slib.?? slib.??? | |
331 | -rm -rf *temp | |
332 | realempty: temp/slib | |
333 | -rm -f $(allfiles) |