add env script
[bpt/guile.git] / module / slib / Makefile
CommitLineData
9ddacf86
KN
1# Makefile for Scheme Library
2# Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998 Aubrey Jaffer.
3
4SHELL = /bin/sh
5intro:
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
13srcdir=$(HOME)/slib/
14PREVDOCS = slib/
15dvidir=../dvi/
16dvi: $(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
24xdvi: $(dvidir)slib.dvi
25 xdvi -s 6 $(dvidir)slib.dvi
26htmldir=../public_html/
27slib_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
34html: $(htmldir)slib_toc.html
35$(htmldir)slib_toc.html: slib slib_toc.html Makefile
36 hitch $(PREVDOCS)slib_\*.html slib_\*.html $(htmldir)
37
38rpm_prefix=/usr/src/redhat/
39
40prefix = /usr/local
41exec_prefix = $(prefix)
42bindir = $(exec_prefix)/bin
43libdir = $(exec_prefix)/lib
44infodir = $(exec_prefix)/info
45RUNNABLE = scheme48
46LIB = $(libdir)/$(RUNNABLE)
47VM = scheme48vm
48IMAGE = slib.image
49INSTALL_DATA = install -c
50
51slib48.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
65slib48: $(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
100install48: 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
109VERSION = 2d1
110ver = $(VERSION)
111version.txi: Makefile
112 echo @set SLIBVERSION $(VERSION) > version.txi
113 echo @set SLIBDATE `date +"%B %Y"` >> version.txi
114
115scheme = scm
116
117htmlform.txi: *.scm
118 $(scheme) -rschmooz -e'(schmooz "slib.texi")'
119slib.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
125info: installinfo
126installinfo: $(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
131infoz: installinfoz
132installinfoz: $(infodir)/slib.info.gz
133$(infodir)/slib.info.gz: $(infodir)/slib.info
134 gzip -f $(infodir)/slib.info
135
136ffiles = 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
140lfiles = sort.scm comlist.scm tree.scm logical.scm random.scm tsort.scm \
141 coerce.scm
142revfiles = sc4opt.scm sc4sc3.scm sc2.scm mularg.scm mulapply.scm \
143 trnscrpt.scm withfile.scm dynwind.scm promise.scm values.scm \
144 eval.scm
145afiles = 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
148bfiles = collect.scm fluidlet.scm struct.scm object.scm recobj.scm yasyn.scm
149scfiles = r4rsyn.scm scmacro.scm synclo.scm synrul.scm synchk.scm \
150 repl.scm macwork.scm mwexpand.scm mwdenote.scm mwsynrul.scm
151scafiles = scainit.scm scaglob.scm scamacr.scm scaoutp.scm scaexpp.scm \
152 structure.scm
153dfiles = defmacex.scm mbe.scm
154efiles = 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
159rfiles = 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
163gfiles = tek40.scm tek41.scm
164docfiles = 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
168mfiles = Makefile require.scm Template.scm syncase.sh mklibcat.scm \
169 Bev2slib.scm slib.spec
170ifiles = 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
174tfiles = plottest.scm formatst.scm macrotst.scm scmactst.scm \
175 dwindtst.scm structst.scm
176sfiles = $(ffiles) $(lfiles) $(revfiles) $(afiles) $(scfiles) $(efiles) \
177 $(rfiles) $(gfiles) $(scafiles) $(dfiles)
178allfiles = $(docfiles) $(mfiles) $(ifiles) $(sfiles) $(tfiles) $(bfiles)
179
180makedev = make -f $(HOME)/makefile.dev
181CHPAT=$(HOME)/bin/chpat
182RSYNC=rsync -avessh
183dest = $(HOME)/dist/
184temp/slib: $(allfiles)
185 -rm -rf temp
186 mkdir temp
187 mkdir temp/slib
188 ln $(allfiles) temp/slib
189
190infotemp/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.
196slib:
197 unzip -a $(dest)slib[0-9]*.zip
198
199distinfo: $(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
204release: 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
212indiana:
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
219postnews:
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
225upzip: $(HOME)/pub/slib.zip
226 $(RSYNC) $(HOME)/pub/slib.zip nestle.ai.mit.edu:pub/
227
228dist: $(dest)slib$(VERSION).zip
229$(dest)slib$(VERSION).zip: temp/slib
230 $(makedev) DEST=$(dest) PROD=slib ver=$(VERSION) zip
231
232rpm: $(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
239shar: slib.shar
240slib.shar: temp/slib
241 $(makedev) PROD=slib shar
242dclshar: slib.com
243com: slib.com
244slib.com: temp/slib
245 $(makedev) PROD=slib com
246zip: slib.zip
247slib.zip: temp/slib
248 $(makedev) PROD=slib zip
249doszip: /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
253pubzip: temp/slib
254 $(makedev) DEST=$(HOME)/pub/ PROD=slib zip
255
256diffs: pubdiffs
257pubdiffs: temp/slib
258 $(makedev) DEST=$(HOME)/pub/ PROD=slib pubdiffs
259distdiffs: temp/slib
260 $(makedev) DEST=$(dest) PROD=slib ver=$(ver) distdiffs
261announcediffs: temp/slib
262 $(makedev) DEST=$(dest) PROD=slib ver=$(VERSION) announcediffs
263
264psdfiles=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
266psdocfiles=article.bbl article.tex manual.bbl manual.tex quick-intro.tex
267
268psdtemp/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
277psdist: $(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
281new:
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
311tagfiles = version.txi slib.texi $(mfiles) $(sfiles) $(bfiles) $(tfiles) \
312 $(ifiles)
313# README and $(ifiles) cause semgentation faults in ETAGS for Emacs version 19.
314tags: $(tagfiles)
315 etags $(tagfiles)
316test: $(sfiles)
317 scheme Template.scm $(sfiles)
318rights:
319 scm -ladmin -e"(admin:check-all)" $(sfiles) $(tfiles) \
320 $(bfiles) $(ifiles)
321report:
322 scmlit -e"(slib:report #t)"
323 scm -e"(slib:report #t)"
324clean:
325 -rm -f *~ *.bak *.orig *.rej core a.out *.o \#*
326 -rm -rf *temp
327distclean: realclean
328realclean:
329 -rm -f *~ *.bak *.orig *.rej TAGS core a.out *.o \#*
330 -rm -f slib.info* slib.?? slib.???
331 -rm -rf *temp
332realempty: temp/slib
333 -rm -f $(allfiles)