1 # Makefile for Scheme Library
2 # Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998 Aubrey Jaffer.
7 @echo
"Welcome to SLIB. Read \"README\" and \"slib.info\" (or"
8 @echo
"\"slib.texi\") to learn how to install and use SLIB."
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
22 cd
$(dvidir
);export TEXINPUTS
=$(srcdir):;tex $(srcdir)slib.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
30 $(PREVDOCS
)slib_toc.html
:
31 cd slib
;make slib_toc.html
32 cd slib
;texi2html
-split
-verbose slib.texi
34 html
: $(htmldir
)slib_toc.html
35 $(htmldir
)slib_toc.html
: slib slib_toc.html Makefile
36 hitch
$(PREVDOCS
)slib_\
*.html slib_\
*.html
$(htmldir
)
38 rpm_prefix
=/usr
/src
/redhat
/
41 exec_prefix = $(prefix)
42 bindir = $(exec_prefix)/bin
43 libdir = $(exec_prefix)/lib
44 infodir = $(exec_prefix)/info
46 LIB
= $(libdir)/$(RUNNABLE
)
49 INSTALL_DATA
= install -c
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
58 echo exec
'$(LIB)/$(VM)' -i
'$(LIB)/$(IMAGE)' \"\
$$\@
\") \
60 chmod
+x
$(bindir)/slib48
65 slib48
: $(LIB
)/slibcat Makefile
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"; \
75 echo
" s48-with-handler";\
77 echo
" (open scheme signals ascii extended-ports i/o"; \
78 echo
" primitives handle unix-getenv)"; \
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)))"; \
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)"; \
97 echo
",dump $(IMAGE) \"(slib $(VERSION))\""; \
98 echo
",exit") | scheme48
101 $(INSTALL_DATA
) $(IMAGE
) $(LIB
)
103 echo exec
$(RUNNABLE
) -i
'$(LIB)/$(IMAGE)' \"\
$$\@
\") \
105 chmod
+x
$(bindir)/slib48
107 #### Stuff for maintaining SLIB below ####
111 version.txi
: Makefile
112 echo @set SLIBVERSION
$(VERSION
) > version.txi
113 echo @set SLIBDATE
`date +"%B %Y"` >> version.txi
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
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
132 installinfoz
: $(infodir)/slib.
info.gz
133 $(infodir)/slib.
info.gz
: $(infodir)/slib.
info
134 gzip
-f
$(infodir)/slib.
info
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 \
142 revfiles
= sc4opt.scm sc4sc3.scm sc2.scm mularg.scm mulapply.scm \
143 trnscrpt.scm withfile.scm dynwind.scm promise.scm values.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 \
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 \
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 \
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
)
180 makedev
= make
-f
$(HOME
)/makefile.dev
181 CHPAT
=$(HOME
)/bin
/chpat
184 temp
/slib
: $(allfiles
)
188 ln
$(allfiles
) temp
/slib
190 infotemp
/slib
: slib.
info
194 ln slib.
info slib.info-
* infotemp
/slib
195 #For change-barred HTML.
197 unzip
-a
$(dest
)slib
[0-9]*.zip
199 distinfo
: $(dest
)slib.
info.zip
200 $(dest
)slib.
info.zip
: infotemp
/slib
201 $(makedev
) TEMP
=infotemp
/ DEST
=$(dest
) PROD
=slib ver
=.
info zip
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/
213 upload
$(dest
)slib
$(VERSION
).zip ftp@ftp.cs.indiana.edu
:/pub
/scheme-repository
/incoming
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
220 echo
-e
"Newsgroups: comp.lang.scheme\n" | cat
- ANNOUNCE | \
222 -f
"announce@docupress.com (Aubrey Jaffer & Radey Shouman)" \
223 -t
"SLIB$(VERSION) Released" -d world
225 upzip
: $(HOME
)/pub
/slib.zip
226 $(RSYNC
) $(HOME
)/pub
/slib.zip nestle.ai.mit.edu
:pub
/
228 dist: $(dest
)slib
$(VERSION
).zip
229 $(dest
)slib
$(VERSION
).zip
: temp
/slib
230 $(makedev
) DEST
=$(dest
) PROD
=slib ver
=$(VERSION
) zip
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
)
241 $(makedev
) PROD
=slib
shar
245 $(makedev
) PROD
=slib com
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
254 $(makedev
) DEST
=$(HOME
)/pub
/ PROD
=slib zip
258 $(makedev
) DEST
=$(HOME
)/pub
/ PROD
=slib pubdiffs
260 $(makedev
) DEST
=$(dest
) PROD
=slib ver
=$(ver
) distdiffs
261 announcediffs
: temp
/slib
262 $(makedev
) DEST
=$(dest
) PROD
=slib ver
=$(VERSION
) announcediffs
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
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
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
/
282 echo
`date` \ Aubrey Jaffer \ \
<`whoami`@
`hostname`\
>> change
284 echo \ \
* require.scm \
(*SLIB-VERSION
*\
): Bumped from
$(VERSION
) to
$(ver
).
>>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 \
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 \
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
)
311 tagfiles
= version.txi slib.texi
$(mfiles
) $(sfiles
) $(bfiles
) $(tfiles
) \
313 # README and $(ifiles) cause semgentation faults in ETAGS for Emacs version 19.
317 scheme Template.scm
$(sfiles
)
319 scm
-ladmin
-e
"(admin:check-all)" $(sfiles
) $(tfiles
) \
322 scmlit
-e
"(slib:report #t)"
323 scm
-e
"(slib:report #t)"
325 -rm -f
*~
*.bak
*.orig
*.rej core a.out
*.o \
#*
329 -rm -f
*~
*.bak
*.orig
*.rej TAGS core a.out
*.o \
#*
330 -rm -f slib.
info* slib.?? slib.???