aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile99
1 files changed, 65 insertions, 34 deletions
diff --git a/Makefile b/Makefile
index 82f6c73..5a43f84 100644
--- a/Makefile
+++ b/Makefile
@@ -16,10 +16,10 @@ srcdir.mk: .. Makefile
#srcdir=$(HOME)/slib/
include srcdir.mk
-VERSION = 3a3
-RELEASE = 2
+VERSION = 3a4
+RELEASE = 1
-rpm_prefix=/usr/src/redhat/
+rpm_prefix=$(HOME)/rpmbuild/
prefix = /usr/local/
exec_prefix = $(prefix)
# directory where `make install' will put executable.
@@ -34,17 +34,17 @@ infodir = $(prefix)info/
PREVDOCS = prevdocs/
htmldir=../public_html/
-dvidir=../dvi/
RUNNABLE = scheme48
S48INIT = scheme48.init
-LIB = $(libdir)$(RUNNABLE)/
+S48LIB = $(libdir)$(RUNNABLE)/
+S48SLIB = $(S48LIB)slib/
VM = scheme48vm
IMAGE48 = slib.image
INSTALL_DATA = install -c
-$(LIB)slibcat:
- touch $(LIB)slibcat
+$(S48LIB)slibcat:
+ touch $(S48LIB)slibcat
catalogs:
-if type scm; then scm -c "(require 'new-catalog)"; fi
@@ -69,16 +69,43 @@ clrnamdb.scm: mkclrnam.scm color.scm resenecolours.txt saturate.txt nbs-iscc.tx
echo "$(MKNMDB)" | mzscheme -f DrScheme.init;\
fi
+$(S48SLIB)strport.scm:
+ test -d $(S48SLIB) || mkdir $(S48SLIB)
+ echo ";;; strport.scm -*- scheme -*-">$(S48SLIB)strport.scm
+ echo ";@">>$(S48SLIB)strport.scm
+ echo "(define (call-with-output-string proc)">>$(S48SLIB)strport.scm
+ echo " (let ((port (make-string-output-port)))">>$(S48SLIB)strport.scm
+ echo " (proc port)">>$(S48SLIB)strport.scm
+ echo " (string-output-port-output port)))">>$(S48SLIB)strport.scm
+ echo "(define (call-with-input-string string proc)">>$(S48SLIB)strport.scm
+ echo " (proc (make-string-input-port string)))">>$(S48SLIB)strport.scm
+
+$(S48SLIB)record.scm:
+ test -d $(S48SLIB) || mkdir $(S48SLIB)
+ echo ";;; record.scm -*- scheme -*-">$(S48SLIB)record.scm
+ echo ";; This code is in the public domain">>$(S48SLIB)record.scm
+ echo ";@">>$(S48SLIB)record.scm
+ echo "(define make-record-type make-record-type)">>$(S48SLIB)record.scm
+ echo "(define record-constructor">>$(S48SLIB)record.scm
+ echo " (let ((constructor record-constructor))">>$(S48SLIB)record.scm
+ echo " (lambda (rt . fields)">>$(S48SLIB)record.scm
+ echo " (constructor rt (if (pair? fields)">>$(S48SLIB)record.scm
+ echo " (car fields)">>$(S48SLIB)record.scm
+ echo " (record-type-field-names rt))))))">>$(S48SLIB)record.scm
+ echo "(define record-predicate record-predicate)">>$(S48SLIB)record.scm
+ echo "(define record-accessor record-accessor)">>$(S48SLIB)record.scm
+ echo "(define record-modifier record-modifier)">>$(S48SLIB)record.scm
+
slib48: $(IMAGE48)
$(IMAGE48): Makefile $(S48INIT)
S48_VERSION="`echo ,exit | $(RUNNABLE) | sed -n 's/Welcome to Scheme 48 //;s/ ([^)]*)[.]//;p;q'`";export S48_VERSION;\
- S48_VICINITY="$(LIB)";export S48_VICINITY;\
+ S48_VICINITY="$(S48LIB)";export S48_VICINITY;\
SCHEME_LIBRARY_PATH="`pwd`/";export SCHEME_LIBRARY_PATH;\
$(RUNNABLE) < $(S48INIT)
-install48: $(IMAGE48)
- $(INSTALL_DATA) $(IMAGE48) $(LIB)
+install48: $(IMAGE48) $(S48SLIB)strport.scm $(S48SLIB)record.scm
+ $(INSTALL_DATA) $(IMAGE48) $(S48LIB)
(echo '#! /bin/sh';\
- echo exec $(RUNNABLE) -i '$(LIB)$(IMAGE48)' \"\$$\@\") \
+ echo exec $(RUNNABLE) -i '$(S48LIB)$(IMAGE48)' \"\$$\@\") \
> $(bindir)slib48
chmod +x $(bindir)slib48
@@ -91,13 +118,14 @@ revfiles = sc4opt.scm sc4sc3.scm sc2.scm mularg.scm mulapply.scm \
trnscrpt.scm withfile.scm dynwind.scm promise.scm \
values.scm eval.scm null.scm
afiles = charplot.scm root.scm cring.scm selfset.scm limit.scm \
- timecore.scm psxtime.scm cltime.scm timezone.scm tzfile.scm
+ timecore.scm psxtime.scm cltime.scm timezone.scm tzfile.scm \
+ math-real.scm
bfiles = fluidlet.scm object.scm recobj.scm yasyn.scm collect.scm collectx.scm
scfiles = r4rsyn.scm scmacro.scm synclo.scm synrul.scm synchk.scm \
repl.scm macwork.scm mwexpand.scm mwdenote.scm mwsynrul.scm
scafiles = scainit.scm scaglob.scm scamacr.scm scaoutp.scm scaexpp.scm \
structure.scm
-srfiles = srfi-2.scm srfi-8.scm srfi-9.scm srfi-61.scm
+srfiles = srfi-2.scm srfi-8.scm srfi-9.scm srfi-23.scm srfi-61.scm
efiles = record.scm dynamic.scm process.scm hash.scm \
wttree.scm wttest.scm sierpinski.scm soundex.scm simetrix.scm
rfiles = rdms.scm alistab.scm paramlst.scm \
@@ -111,26 +139,27 @@ txiscms =grapheps.scm glob.scm getparam.scm \
alist.scm ratize.scm modular.scm dirs.scm priorque.scm queue.scm\
srfi.scm srfi-1.scm\
pnm.scm http-cgi.scm htmlform.scm html4each.scm db2html.scm uri.scm\
- fft.scm solid.scm random.scm randinex.scm obj2str.scm ncbi-dna.scm\
+ dft.scm solid.scm random.scm randinex.scm obj2str.scm ncbi-dna.scm\
minimize.scm factor.scm determ.scm daylight.scm colornam.scm\
mkclrnam.scm color.scm subarray.scm dbutil.scm array.scm transact.scm\
arraymap.scm phil-spc.scm lineio.scm differ.scm cvs.scm tree.scm\
coerce.scm byte.scm bytenumb.scm matfile.scm tsort.scm manifest.scm\
- peanosfc.scm linterp.scm
+ peanosfc.scm linterp.scm math-integer.scm
txifiles =grapheps.txi glob.txi getparam.txi\
vet.txi top-refs.txi hashtab.txi chap.txi comparse.txi\
alist.txi ratize.txi modular.txi dirs.txi priorque.txi queue.txi\
srfi.txi srfi-1.txi\
pnm.txi http-cgi.txi htmlform.txi html4each.txi db2html.txi uri.txi\
- fft.txi solid.txi random.txi randinex.txi obj2str.txi ncbi-dna.txi\
+ dft.txi solid.txi random.txi randinex.txi obj2str.txi ncbi-dna.txi\
minimize.txi factor.txi determ.txi daylight.txi colornam.txi\
mkclrnam.txi color.txi subarray.txi dbutil.txi array.txi transact.txi\
arraymap.txi phil-spc.txi lineio.txi differ.txi cvs.txi tree.txi\
coerce.txi byte.txi bytenumb.txi matfile.txi tsort.txi manifest.txi\
- peanosfc.txi linterp.txi
+ peanosfc.txi linterp.txi math-integer.txi
% = `echo $(txiscms) | sed 's%.scm%.txi%g'`
-texifiles = schmooz.texi indexes.texi object.texi format.texi limit.texi
+texifiles = schmooz.texi indexes.texi object.texi format.texi limit.texi \
+ fdl.texi
docfiles = ANNOUNCE README COPYING FAQ slib.1 slib.info slib.texi version.txi\
ChangeLog $(texifiles) $(txifiles)
mkfiles = Makefile require.scm Template.scm syncase.sh mklibcat.scm \
@@ -139,7 +168,7 @@ ifiles = bigloo.init chez.init elk.init macscheme.init mitscheme.init \
scheme2c.init scheme48.init gambit.init t3.init \
vscm.init scm.init scsh.init pscheme.init STk.init \
RScheme.init DrScheme.init umbscheme.init guile.init jscheme.init
-tfiles = plottest.scm macrotst.scm dwindtst.scm formatst.scm
+tfiles = macrotst.scm dwindtst.scm formatst.scm
sfiles = $(ffiles) $(lfiles) $(revfiles) $(afiles) $(scfiles) $(efiles) \
$(rfiles) $(gfiles) $(scafiles) $(txiscms) $(srfiles)
allfiles = $(docfiles) $(mkfiles) $(ifiles) $(sfiles) $(tfiles) $(bfiles) \
@@ -159,7 +188,7 @@ install: pinstall clrnamdb.scm
echo SCHEME_LIBRARY_PATH=$(libslibdir) >> $(bindir)slib
echo export SCHEME_LIBRARY_PATH >> $(bindir)slib
echo VERSION=$(VERSION) >> $(bindir)slib
- echo "S48_VICINITY=\"$(LIB)\";export S48_VICINITY" >> $(bindir)slib
+ echo "S48_VICINITY=\"$(S48LIB)\";export S48_VICINITY" >> $(bindir)slib
cat slib.sh >> $(bindir)slib
chmod +x $(bindir)slib
@@ -193,24 +222,22 @@ collectx.scm: collect.scm macwork.scm collect.sc
$(txifiles): $(txiscms) schmooz.scm
$(scheme) -rschmooz -e'(schmooz "slib.texi")'
-dvi: $(dvidir)slib.dvi
-$(dvidir)slib.dvi: version.txi slib.texi $(dvidir)slib.fn $(txifiles) $(texifiles)
-# cd $(dvidir);TEXINPUTS=$(srcdir):;export TEXINPUTS;texi2dvi $(srcdir)slib.texi
- -(cd $(dvidir);TEXINPUTS=$(srcdir):;export TEXINPUTS;texindex slib.??)
- cd $(dvidir);TEXINPUTS=$(srcdir):;export TEXINPUTS;tex $(srcdir)slib.texi
-$(dvidir)slib.fn:
- cd $(dvidir);TEXINPUTS=$(srcdir):;export TEXINPUTS;tex $(srcdir)slib.texi \
+dvi: slib.dvi
+slib.dvi: version.txi slib.texi $(txifiles) $(texifiles)
+ texi2dvi -b -c $(srcdir)slib.texi
+slib.fn:
+ tex $(srcdir)slib.texi \
$(srcdir)schmooz.texi
-xdvi: $(dvidir)slib.dvi
- xdvi -s 3 $(dvidir)slib.dvi
+xdvi: slib.dvi
+ xdvi -s 4 slib.dvi
pdf: $(htmldir)slib.pdf
-$(htmldir)slib.pdf: version.txi slib.texi $(dvidir)slib.fn $(txifiles) $(texifiles)
-# cd $(dvidir);dvipdf slib.dvi # doesn't have links!
- cd $(dvidir);TEXINPUTS=$(srcdir):;export TEXINPUTS;pdftex $(srcdir)slib.texi
- mv $(dvidir)slib.pdf $(htmldir)
+$(htmldir)slib.pdf: version.txi slib.texi $(txifiles) $(texifiles)
+# dvipdf slib.dvi # doesn't have links!
+ texi2pdf -b -c $(srcdir)slib.texi
+ mv slib.pdf $(htmldir)
xpdf: $(htmldir)slib.pdf
- xpdf -z 3 $(htmldir)slib.pdf
+ xpdf $(htmldir)slib.pdf
TEXI2HTML = /usr/local/bin/texi2html -split -verbose
slib_toc.html: version.txi slib.texi $(txifiles) $(texifiles)
@@ -240,6 +267,10 @@ installinfoz: $(infodir)slib.info.gz
$(infodir)slib.info.gz: $(infodir)slib.info
gzip -f $(infodir)slib.info
+docs: $(infodir)slib.info.gz $(htmldir)slib_toc.html slib.dvi \
+ $(htmldir)slib.pdf slib.doc
+ xdvi -s 4 slib.dvi
+
makedev = make -f $(HOME)/makefile.dev
CHPAT=$(HOME)/bin/chpat
RSYNC=rsync --rsync-path=bin/rsync -bav