summaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile382
1 files changed, 234 insertions, 148 deletions
diff --git a/Makefile b/Makefile
index 8a92daa..57f6594 100644
--- a/Makefile
+++ b/Makefile
@@ -15,26 +15,26 @@
# the Free Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111, USA.
#
# As a special exception, the Free Software Foundation gives permission
-# for additional uses of the text contained in its release of GUILE.
+# for additional uses of the text contained in its release of SCM.
#
-# The exception is that, if you link the GUILE library with other files
+# The exception is that, if you link the SCM library with other files
# to produce an executable, this does not by itself cause the
# resulting executable to be covered by the GNU General Public License.
# Your use of that executable is in no way restricted on account of
-# linking the GUILE library code into it.
+# linking the SCM library code into it.
#
# This exception does not however invalidate any other reasons why
# the executable file might be covered by the GNU General Public License.
#
# This exception applies only to the code released by the
-# Free Software Foundation under the name GUILE. If you copy
+# Free Software Foundation under the name SCM. If you copy
# code from other Free Software Foundation releases into a copy of
-# GUILE, as the General Public License permits, the exception does
+# SCM, as the General Public License permits, the exception does
# not apply to the code that you add in this way. To avoid misleading
# anyone as to the status of such modified files, you must delete
# this exception notice from them.
#
-# If you write modifications of your own for GUILE, it is your choice
+# If you write modifications of your own for SCM, it is your choice
# whether to permit this exception to apply to your modifications.
# If you do not wish that, delete this exception notice.
@@ -42,17 +42,39 @@
# Author: Aubrey Jaffer
SHELL = /bin/sh
-CPROTO = cproto
-#CC =
+#CC = gcc
CFLAGS = -g
#LIBS =
LD = $(CC) -g
+SCMLIT = ./scmlit
+SCMEXE = ./scm
+
+#BUILD = ./build -hsystem -p svr4-gcc-sun-ld
+BUILD = ./build -hsystem
+
+#for RPMs
+RELEASE = 1
+
+intro:
+ @echo
+ @echo "This is the scm$(VERSION) distribution. Read \"scm.info\""
+ @echo "to learn how to build and install SCM. Or browse"
+ @echo " http://swissnet.ai.mit.edu/~jaffer/SCM.html"
+ @echo
+ $(MAKE) scm
+
+#srcdir=$(HOME)/scm/
+#srcdir=/usr/local/src/scm/
+include srcdir.mk
+srcdir.mk: Makefile
+ echo "CPROTO=`type cproto | sed 's%.* %%'`" > srcdir.mk
+ echo "srcdir=`pwd`/" >> srcdir.mk
# directory where COPYING and InitXXX.scm reside.
#IMPLPATH = /usr/local/src/scm/
#this one is good for bootstrapping
-IMPLPATH = `pwd`/
-# Pathname where InitXXX.scm resides.
+#IMPLPATH = `pwd`/
+IMPLPATH=$(srcdir)
include patchlvl.h
IMPLINIT = $(IMPLPATH)Init$(VERSION).scm
@@ -60,30 +82,27 @@ IMPLINIT = $(IMPLPATH)Init$(VERSION).scm
# SCM_INIT_PATH is the environment variable whose value is the
# pathname where InitXXX.scm resides.
-intro:
- @echo
- @echo "This is the scm$(VERSION) distribution. Read \"scm.info\""
- @echo "to learn how to build and install SCM. Or browse"
- @echo " http://swissnet.ai.mit.edu/~jaffer/SCM.html"
-
cfiles = scmmain.c scm.c time.c repl.c ioext.c scl.c sys.c eval.c \
subr.c sc2.c unif.c rgx.c crs.c dynl.c record.c posix.c socket.c\
unix.c rope.c ramap.c gsubr.c edline.c Iedline.scm continue.c \
- findexec.c script.c
+ findexec.c script.c debug.c
ofiles = scm.o time.o repl.o scl.o sys.o eval.o subr.o unif.o rope.o \
- continue.o findexec.o script.o
+ continue.o findexec.o script.o debug.o
# ramap.o
-ifiles = Init$(VERSION).scm Transcen.scm Link.scm Macro.scm Macroexpand.scm \
- Tscript.scm
-xfiles = x.c x.h xgen.scm xevent.scm xevent.h inc2scm x11.scm
+ifiles = Init$(VERSION).scm Transcen.scm Link.scm Macro.scm Macexp.scm \
+ Tscript.scm compile.scm
+hobfiles = hobbit.scm scmhob.scm scmhob.h
+xafiles = xatoms.scm x11.scm xevent.scm keysymdef.scm
+xfiles = x.c x.h xgen.scm xevent.h inc2scm $(xafiles)
all: require.scm
$(MAKE) mydlls
- $(MAKE) myscm
+ $(MAKE) myscm5
+ $(MAKE) x.so
require.scm:
cp -p requires.scm require.scm
-scmlit: $(ofiles) scmmain.o require.scm
+scmlit: $(ofiles) scmmain.o require.scm Makefile
$(LD) -o scmlit $(ofiles) scmmain.o $(LIBS)
$(MAKE) checklit
scmflags.h: scmflags
@@ -91,6 +110,7 @@ scmflags:
echo "#ifndef IMPLINIT" > newflags.h
echo "#define IMPLINIT \"$(IMPLINIT)\"" >> newflags.h
echo "#endif" >> newflags.h
+ echo "/*#define CAUTIOUS*/" >> newflags.h
-if (diff newflags.h scmflags.h) then rm newflags.h; \
else mv newflags.h scmflags.h; fi
@@ -100,6 +120,7 @@ scm.o: scm.c scm.h scmfig.h scmflags.h patchlvl.h
scmmain.o: scmmain.c scm.h scmfig.h scmflags.h patchlvl.h
scl.o: scl.c scm.h scmfig.h scmflags.h
eval.o: eval.c scm.h scmfig.h scmflags.h setjump.h
+debug.o: debug.c scm.h scmfig.h scmflags.h setjump.h
unif.o: unif.c scm.h scmfig.h scmflags.h
#ramap.o: ramap.c scm.h scmfig.h scmflags.h
repl.o: repl.c scm.h scmfig.h scmflags.h setjump.h
@@ -109,17 +130,16 @@ subr.o: subr.c scm.h scmfig.h scmflags.h
rope.o: rope.c scm.h scmfig.h scmflags.h
continue.o: continue.c continue.h setjump.h scmflags.h
-srcdir=$(HOME)/scm/
-
udscm4: $(cfiles) $(hfiles) build.scm build
- $(srcdir)build -hsystem -o udscm4 -s $(IMPLPATH) -Fcautious \
- bignums arrays inexact engineering-notation dump dynamic-linking
+ $(BUILD) -o udscm4 -s $(IMPLPATH) \
+ -Fcautious bignums arrays inexact dump dynamic-linking \
+ engineering-notation
rm $(ofiles) scmmain.o
-udscm5: $(cfiles) $(hfiles) build.scm build
- $(srcdir)build -hsystem -o udscm5 -l debug -s $(IMPLPATH) -Fcautious \
- bignums arrays inexact engineering-notation dump dynamic-linking \
- macro #-DNO_SYM_GC
+udscm5: $(cfiles) $(hfiles) build.scm build Makefile
+ $(BUILD) -o udscm5 -s $(IMPLPATH) \
+ -Fcautious bignums arrays inexact dump dynamic-linking \
+ macro engineering-notation #-DNO_SYM_GC
rm $(ofiles) scmmain.o
myscm4: udscm4 $(ifiles) require.scm
@@ -127,87 +147,104 @@ myscm4: udscm4 $(ifiles) require.scm
-mv scm scm~
echo "(quit)" | ./udscm4 -no-init-file -o scm
-myscm: udscm5 $(ifiles) require.scm
+myscm5: udscm5 $(ifiles) require.scm
-rm slibcat implcat
-mv scm scm~
echo "(quit)" | ./udscm5 -no-init-file -r5 -o scm
$(MAKE) check
+ $(MAKE) checkmacro
+
+scm: scmlit
+ $(BUILD) -s $(IMPLPATH) -Fcautious bignums arrays
+ $(MAKE) check
mylib: libscm.a
libscm.a:
- $(srcdir)build -hsystem -Fcautious bignums arrays inexact \
+ $(BUILD) -Fcautious bignums arrays inexact \
dynamic-linking -t lib
libtest: libscm.a libtest.c
gcc -o libtest libtest.c libscm.a -ldl -lm -lc
./libtest
pgscm:
- $(srcdir)build -hsystem -s $(IMPLPATH) -Fcautious bignums arrays \
+ $(BUILD) -s $(IMPLPATH) -Fcautious bignums arrays \
inexact engineering-notation dump dynamic-linking -o udscm \
--compiler-options=-pg --linker-options=-pg -DLACK_SETITIMER
echo "(quit)" | ./udscm -no-init-file -o pgscm
mydebug:
- $(srcdir)build -hsystem -oudgdbscm -s $(IMPLPATH) -F cautious \
- bignums arrays inexact engineering-notation dump dynamic-linking \
- macro \
- debug --compiler-options=-Wall --linker-options=-Wall #-DTEST_FARLOC
+ $(BUILD) -oudgdbscm -s $(IMPLPATH) \
+ -F cautious bignums arrays inexact engineering-notation dump \
+ dynamic-linking macro debug \
+ --compiler-options=-Wall --linker-options=-Wall \
+ -DNO_ENV_CACHE #-DTEST_FARLOC -DTEST_SCM2PTR
echo "(quit)" | ./udgdbscm -no-init-file -r5 -o gdbscm
incdir=/usr/include/
-x11.scm: inc2scm Makefile
+x11.scm: inc2scm
rm -f x11.scm
- ./inc2scm x11.scm x: $(incdir) X11/X.h X11/cursorfont.h X11/Xlib.h X11/Xutil.h
-xevent.h: xgen.scm
- ./xgen.scm $(incdir)X11/Xlib.h
+ $(SCMLIT) -l inc2scm x11.scm x: $(incdir) X11/X.h X11/cursorfont.h X11/Xlib.h \
+ X11/Xutil.h
+keysymdef.scm: inc2scm
+ rm -f keysymdef.scm
+ $(SCMLIT) -l inc2scm keysymdef.scm x: $(incdir) X11/keysym.h X11/keysymdef.h
+xevent.h xevent.scm xatoms.scm: xgen.scm Makefile
+ $(SCMLIT) -l xgen.scm $(incdir)X11/Xlib.h
x.h: x.c xevent.h
- $(CPROTO) x.c > x.h
+ if [ ! -z "$(CPROTO)" ]; then $(CPROTO) x.c > x.h; fi
x.so: x.c x.h xevent.h
- $(srcdir)build -h system -Fx -t dll --compiler-options=-Wall
-mydlls: x.so
+ $(BUILD) -Fx -t dll --compiler-options=-Wall
+mydlls:
if [ -f /usr/lib/libreadline.so ]; \
- then $(srcdir)build -h system -Fedit-line -t dll;fi
- $(srcdir)build -h system -Fcurses -t dll
- $(srcdir)build -h system -t dll -c sc2.c rgx.c record.c gsubr.c \
+ then $(BUILD) -Fedit-line -t dll; fi
+ $(BUILD) -Fcurses -t dll
+ $(BUILD) -t dll -c sc2.c rgx.c record.c gsubr.c \
ioext.c posix.c unix.c socket.c ramap.c
myturtle:
- $(srcdir)build -h system -F turtlegr -t dll
+ $(BUILD) -Fturtlegr -t dll
implcat: *.so mkimpcat.scm
- ./scmlit -lmkimpcat.scm
+ $(SCMLIT) -lmkimpcat.scm
checklit:
- ./scmlit -fr4rstest.scm -e'(test-sc4)(test-cont)(test-delay)(gc)'
+ $(SCMLIT) -fr4rstest.scm -e'(test-sc4)(test-cont)(test-delay)(gc)' \
+ -e '(or (null? errs) (quit 1))'
check: r4rstest.scm
- ./scm -fr4rstest.scm -e'(test-sc4)(test-cont)(test-delay)(gc)'
+ $(SCMEXE) -fr4rstest.scm -e'(test-sc4)(test-cont)(test-delay)(gc)' \
+ -e '(or (null? errs) (quit 1))'
+checkmacro: syntest1.scm syntest2.scm r4rstest.scm
+ $(SCMEXE) -rmacro -fsyntest1.scm -fsyntest2.scm \
+ -fr4rstest.scm -e'(test-sc4)(test-cont)(test-delay)' -fsyntest1 \
+ -e '(or (null? errs) (quit 1))'
bench:
echo `whoami`@`hostname` testing scm \
- `scm -e'(display *scm-version*)'` >> BenchLog
+ `$(SCMEXE) -e'(display *scm-version*)'` >> BenchLog
echo on `date` >> BenchLog
ls -l scm >> BenchLog
size scm >> BenchLog
uname -a >> BenchLog
- ./scm -lbench.scm
+ $(SCMEXE) -lbench.scm
cat bench.log >> BenchLog
echo >> BenchLog
echo
tail -20 BenchLog
benchlit:
echo `whoami`@`hostname` testing scmlit \
- `scmlit -e'(display *scm-version*)'` >> BenchLog
+ `$(SCMLIT) -e'(display *scm-version*)'` >> BenchLog
echo on `date` >> BenchLog
ls -l scmlit >> BenchLog
size scmlit >> BenchLog
uname -a >> BenchLog
- ./scmlit -lbench.scm
+ $(SCMLIT) -lbench.scm
cat bench.log >> BenchLog
echo >> BenchLog
echo
tail -20 BenchLog
report:
- scmlit -e"(slib:report #t)"
- scm -e"(slib:report #t)"
+ $(SCMLIT) -e"(slib:report #t)"
+ $(SCMEXE) -e"(slib:report #t)"
+htmldir=../public_html/
dvidir=../dvi/
-dvi: $(dvidir)scm.dvi $(dvidir)Xlibscm.dvi
+dvi: $(dvidir)scm.dvi $(dvidir)Xlibscm.dvi $(dvidir)hobbit.dvi
$(dvidir)scm.dvi: version.txi scm.texi platform.txi features.txi\
$(dvidir)scm.fn Makefile
# cd $(dvidir);export TEXINPUTS=$(srcdir):;texi2dvi $(srcdir)scm.texi
@@ -215,36 +252,77 @@ $(dvidir)scm.dvi: version.txi scm.texi platform.txi features.txi\
cd $(dvidir);export TEXINPUTS=$(srcdir):;tex $(srcdir)scm.texi
$(dvidir)scm.fn:
cd $(dvidir);export TEXINPUTS=$(srcdir):;tex $(srcdir)scm.texi
-$(dvidir)Xlibscm.dvi: version.txi Xlibscm.texi \
- $(dvidir)Xlibscm.fn Makefile
+$(dvidir)Xlibscm.dvi: version.txi Xlibscm.texi $(dvidir)Xlibscm.fn Makefile
# cd $(dvidir);export TEXINPUTS=$(srcdir):;texi2dvi $(srcdir)Xlibscm.texi
-(cd $(dvidir);export TEXINPUTS=$(srcdir):;texindex Xlibscm.??)
cd $(dvidir);export TEXINPUTS=$(srcdir):;tex $(srcdir)Xlibscm.texi
$(dvidir)Xlibscm.fn:
cd $(dvidir);export TEXINPUTS=$(srcdir):;tex $(srcdir)Xlibscm.texi
+$(dvidir)hobbit.dvi: version.txi hobbit.texi $(dvidir)hobbit.fn Makefile
+# cd $(dvidir);export TEXINPUTS=$(srcdir):;texi2dvi $(srcdir)hobbit.texi
+ -(cd $(dvidir);export TEXINPUTS=$(srcdir):;texindex hobbit.??)
+ cd $(dvidir);export TEXINPUTS=$(srcdir):;tex $(srcdir)hobbit.texi
+$(dvidir)hobbit.fn:
+ cd $(dvidir);export TEXINPUTS=$(srcdir):;tex $(srcdir)hobbit.texi
xdvi: $(dvidir)scm.dvi
xdvi -s 6 $(dvidir)scm.dvi
Xdvi: $(dvidir)Xlibscm.dvi
xdvi -s 6 $(dvidir)Xlibscm.dvi
-
-htmldir=../public_html/
-html: $(htmldir)scm_toc.html $(htmldir)Xlibscm_toc.html
+hobdvi: $(dvidir)hobbit.dvi
+ xdvi -s 6 $(dvidir)hobbit.dvi
+
+pdf: $(htmldir)scm.pdf $(htmldir)Xlibscm.pdf $(htmldir)hobbit.pdf
+$(htmldir)scm.pdf: version.txi scm.texi platform.txi features.txi\
+ $(dvidir)scm.fn Makefile
+ cd $(dvidir);export TEXINPUTS=$(srcdir):;pdftex $(srcdir)scm.texi
+ mv $(dvidir)scm.pdf $(htmldir)
+$(htmldir)Xlibscm.pdf: version.txi Xlibscm.texi $(dvidir)Xlibscm.fn Makefile
+ cd $(dvidir);export TEXINPUTS=$(srcdir):;pdftex $(srcdir)Xlibscm.texi
+ mv $(dvidir)Xlibscm.pdf $(htmldir)
+$(htmldir)hobbit.pdf: version.txi hobbit.texi $(dvidir)hobbit.fn Makefile
+ cd $(dvidir);export TEXINPUTS=$(srcdir):;pdftex $(srcdir)hobbit.texi
+ mv $(dvidir)hobbit.pdf $(htmldir)
+xpdf: $(htmldir)scm.pdf
+ xpdf -z 3 $(htmldir)scm.pdf
+Xpdf: $(htmldir)Xlibscm.pdf
+ xpdf -z 3 $(htmldir)Xlibscm.pdf
+hobpdf: $(htmldir)hobbit.pdf
+ xpdf -z 3 $(htmldir)hobbit.pdf
+
+PREVDOCS = prevdocs/
+html: $(htmldir)scm_toc.html $(htmldir)Xlibscm_toc.html $(htmldir)hobbit_toc.html
scm_toc.html: version.txi scm.texi platform.txi features.txi
texi2html -split -verbose scm.texi
-Xlibscm_toc.html: $(htmldir)Xlibscm_toc.html
-$(htmldir)Xlibscm_toc.html: version.txi Xlibscm.texi
- cd $(htmldir);texi2html -split -verbose $(srcdir)Xlibscm.texi
-
-scmprev/scm_toc.html:
-# cd scmprev;make scm_toc.html
- cd scmprev;texi2html -split -verbose scm.texi
-
-$(htmldir)scm_toc.html: scmprev/scm_toc.html scm_toc.html Makefile
- hitch scmprev/scm_\*.html scm_\*.html $(htmldir)
+Xlibscm_toc.html: version.txi Xlibscm.texi
+ texi2html -split -verbose Xlibscm.texi
+hobbit_toc.html: version.txi hobbit.texi
+ texi2html -split -verbose hobbit.texi
+
+$(htmldir)scm_toc.html: scm_toc.html Makefile
+ -rm -f scm_stoc.html
+ if [ -f $(PREVDOCS)scm_toc.html ]; \
+ then hitch $(PREVDOCS)scm_\*.html scm_\*.html $(htmldir); \
+ else cp scm_*.html $(htmldir); fi
+$(htmldir)Xlibscm_toc.html: Xlibscm_toc.html Makefile
+ -rm -f Xlibscm_stoc.html
+ cp Xlibscm_*.html $(htmldir)
+$(htmldir)hobbit_toc.html: hobbit_toc.html Makefile
+ -rm -f hobbit_stoc.html
+ cp hobbit_*.html $(htmldir)
+
+$(PREVDOCS)scm_toc.html:
+$(PREVDOCS)scm.info: srcdir.mk Makefile
+ cd $(PREVDOCS); unzip -a $(dest)scm*.zip
+ rm $(PREVDOCS)scm/scm.info
+ cd $(PREVDOCS)scm; make scm.info; make scm_toc.html
+ cd $(PREVDOCS); mv -f scm/scm.info scm/*.html ./
+ rm -rf $(PREVDOCS)scm
################ INSTALL DEFINITIONS ################
+rpm_prefix=/usr/src/redhat/
+
prefix = /usr/local/
exec_prefix = $(prefix)
# directory where `make install' will put executable.
@@ -258,23 +336,22 @@ infodir = $(prefix)info/
includedir = $(prefix)include/
README: build build.scm scm.info
- scm -l build -e"(make-readme)"
+ $(SCMEXE) -l build -e"(make-readme)"
info: installinfo
-installinfo: $(infodir)scm.info $(infodir)Xlibscm.info
+installinfo: $(infodir)scm.info $(infodir)Xlibscm.info $(infodir)hobbit.info
platform.txi: build.scm
- scmlit -r database-browse -l build.scm -e "(browse build 'platform)" \
+ $(SCMLIT) -r database-browse -l build.scm -e "(browse build 'platform)" \
> platform.txi
features.txi: build build.scm
- scmlit -l build -e"(make-features-txi)"
-scm$(VERSION).info: version.txi scm.texi platform.txi features.txi
- -mv scm.info scmtemp.info
+ $(SCMLIT) -l build -e"(make-features-txi)"
+scm.info: version.txi scm.texi platform.txi features.txi
makeinfo scm.texi --no-split -o scm.info
mv scm.info scm$(VERSION).info
- -mv scmtemp.info scm.info
-scm.info: scm$(VERSION).info
- infobar scmprev/scm.info scm$(VERSION).info scm.info
+ if [ -f $(PREVDOCS)scm.info ]; \
+ then infobar $(PREVDOCS)scm.info scm$(VERSION).info scm.info; \
+ else cp scm$(VERSION).info scm.info; fi
$(infodir)scm.info: scm.info
cp -p scm.info $(infodir)scm.info
-install-info $(infodir)scm.info $(infodir)dir
@@ -282,45 +359,52 @@ $(infodir)scm.info: scm.info
Xlibscm.info: version.txi Xlibscm.texi
makeinfo Xlibscm.texi --no-split -o Xlibscm.info
-$(infodir)Xlibscm.info:
+$(infodir)Xlibscm.info: Xlibscm.info
cp Xlibscm.info $(infodir)Xlibscm.info
-install-info $(infodir)Xlibscm.info $(infodir)/dir
-rm $(infodir)Xlibscm.info*.gz
+hobbit.info: version.txi hobbit.texi
+ makeinfo hobbit.texi --no-split -o hobbit.info
+$(infodir)hobbit.info: hobbit.info
+ cp hobbit.info $(infodir)hobbit.info
+ -install-info $(infodir)hobbit.info $(infodir)/dir
+ -rm $(infodir)hobbit.info*.gz
+
infoz: installinfoz
-installinfoz: $(infodir)scm.info.gz $(infodir)Xlibscm.info.gz
+installinfoz: $(infodir)scm.info.gz $(infodir)Xlibscm.info.gz $(infodir)hobbit.info.gz
$(infodir)scm.info.gz: $(infodir)scm.info
gzip -f $(infodir)scm.info
$(infodir)Xlibscm.info.gz: $(infodir)Xlibscm.info
gzip -f $(infodir)Xlibscm.info
+$(infodir)hobbit.info.gz: $(infodir)hobbit.info
+ gzip -f $(infodir)hobbit.info
install: scm.1
test -d $(bindir) || mkdir $(bindir)
test -d $(mandir) || mkdir $(mandir)
test -d $(man1dir) || mkdir $(man1dir)
- -cp scm $(bindir)
-# -strip $(bindir)scm
+ -cp scm scmlit $(bindir)
+ -strip $(bindir)scmlit
-cp scm.1 $(man1dir)
test -d $(libdir) || mkdir $(libdir)
test -d $(libscmdir) || mkdir $(libscmdir)
- -cp Init$(VERSION).scm Link.scm Transcen.scm Macro.scm Tscript.scm \
- COPYING $(libscmdir)
+ -cp $(ifiles) $(hobfiles) COPYING r4rstest.scm $(libscmdir)
test -f $(libscmdir)require.scm || \
cp requires.scm $(libscmdir)require.scm
- -cp mkimpcat.scm Iedline.scm *.sl *.so $(libscmdir)
+ -cp build build.scm mkimpcat.scm Iedline.scm *.sl *.so $(xafiles)\
+ $(libscmdir)
installlib:
test -d $(includedir) || mkdir $(includedir)
- cp scm.h $(includedir)scm.h
- cp scmfig.h $(includedir)scmfig.h
+ cp scm.h scmfig.h scmflags.h $(includedir)
test -d $(libdir) || mkdir $(libdir)
cp libscm.a $(libdir)libscm.a
uninstall:
-rm $(bindir)scm
-rm $(man1dir)scm.1
- -rm $(includedir)scm.h
- -rm $(includedir)scmfig.h
+ -rm $(includedir)scm.h $(includedir)scmfig.h $(includedir)scmflags.h
-rm $(libdir)libscm.a
# -rm $(libscmdir)Init$(VERSION).scm
# -rm $(libscmdir)Link.scm
@@ -350,18 +434,20 @@ confiles = scmconfig.h.in mkinstalldirs acconfig-1.5.h install-sh \
configure configure.in Makefile.in COPYING README.unix
hfiles = scm.h scmfig.h setjump.h patchlvl.h continue.h
-tfiles = r4rstest.scm example.scm pi.scm pi.c split.scm bench.scm
+tfiles = r4rstest.scm example.scm pi.scm pi.c split.scm bench.scm \
+ syntest2.scm syntest1.scm
dfiles = ANNOUNCE README COPYING scm.1 scm.doc QUICKREF \
- scm.info scm.texi Xlibscm.info Xlibscm.texi ChangeLog
+ scm.info scm.texi Xlibscm.info Xlibscm.texi hobbit.info hobbit.texi \
+ ChangeLog
mfiles = Makefile build.scm build build.bat requires.scm \
- .gdbinit mkimpcat.scm disarm.scm
+ .gdbinit mkimpcat.scm disarm.scm scm.spec
vfiles = setjump.mar setjump.s
afiles = $(dfiles) $(cfiles) $(hfiles) $(ifiles) $(tfiles) $(mfiles) \
- $(vfiles) $(ufiles) $(xfiles)
+ $(hobfiles) $(vfiles) $(ufiles) $(xfiles)
makedev = make -f $(HOME)/makefile.dev
CHPAT=$(HOME)/bin/chpat
-RSYNC=rsync -v --rsync-path bin/rsync
+RSYNC=rsync -avessh
dest = $(HOME)/dist/
temp/scm: $(afiles)
-$(RM_R) temp
@@ -369,10 +455,13 @@ temp/scm: $(afiles)
mkdir temp/scm
ln $(afiles) temp/scm
-release: dist
- cp $(srcdir)ANNOUNCE $(htmldir)SCM_ANNOUNCE
- $(RSYNC) $(htmldir)SCM.html $(htmldir)SCM_ANNOUNCE nestle.ai.mit.edu:public_html/
- $(RSYNC) $(dest)README $(dest)scm$(VERSION).zip nestle.ai.mit.edu:dist/
+release: dist rpm
+ cvs tag -F scm$(VERSION)
+ cp $(srcdir)ANNOUNCE $(htmldir)SCM_ANNOUNCE.txt
+ $(RSYNC) $(htmldir)SCM.html $(htmldir)SCM_ANNOUNCE.txt nestle.ai.mit.edu:public_html/
+ $(RSYNC) $(dest)README $(dest)scm$(VERSION).zip \
+ $(dest)scm-$(VERSION)-$(RELEASE).src.rpm $(dest)scm-$(VERSION)-$(RELEASE).i386.rpm \
+ nestle.ai.mit.edu:dist/
# upload $(dest)README $(dest)scm$(VERSION).zip ftp.gnu.org:gnu/jacal/
# $(MAKE) indiana
indiana:
@@ -385,7 +474,7 @@ indiana:
postnews:
echo -e "Newsgroups: comp.lang.scheme\n" | cat - ANNOUNCE | \
inews -h -O -S \
- -f "announce@docupress.com (Aubrey Jaffer & Radey Shouman)" \
+ -f "announce@voluntocracy.org (Aubrey Jaffer & Radey Shouman)" \
-t "SCM$(VERSION) Released" -d world
upzip: $(HOME)/pub/scm.zip
@@ -394,7 +483,15 @@ upzip: $(HOME)/pub/scm.zip
dist: $(dest)scm$(VERSION).zip
$(dest)scm$(VERSION).zip: temp/scm
$(makedev) DEST=$(dest) PROD=scm ver=$(VERSION) zip
- cvs tag -F scm$(VERSION)
+
+rpm: pubzip
+# $(dest)scm-$(VERSION)-$(RELEASE).i386.rpm: $(dest)scm$(VERSION).zip
+ cp -f $(HOME)/pub/scm.zip $(rpm_prefix)SOURCES/scm$(VERSION).zip
+ rpm -ba scm.spec # --clean
+ rm $(rpm_prefix)SOURCES/scm$(VERSION).zip
+ mv $(rpm_prefix)RPMS/i386/scm-$(VERSION)-$(RELEASE).i386.rpm \
+ $(rpm_prefix)SRPMS/scm-$(VERSION)-$(RELEASE).src.rpm $(dest)
+
shar: scm.shar
scm.shar: temp/scm
$(makedev) PROD=scm shar
@@ -410,7 +507,7 @@ doszip: /c/scm/dist/scm$(VERSION).zip
$(makedev) DEST=/c/scm/dist/ PROD=scm ver=$(VERSION) zip
cd ..; zip -9ur /c/scm/dist/scm$(VERSION).zip \
scm/turtle scm/turtlegr.c scm/grtest.scm
- zip -d /c/scm/dist/scm$(VERSION).zip scm/scm.info scm/Xlibscm.info
+ zip -d /c/scm/dist/scm$(VERSION).zip scm/scm.info scm/Xlibscm.info scm/hobbit.info
pubzip: $(HOME)/pub/scm.zip
$(HOME)/pub/scm.zip: temp/scm
$(makedev) DEST=$(HOME)/pub/ PROD=scm zip
@@ -421,45 +518,31 @@ pubdiffs: temp/scm
distdiffs: temp/scm
$(makedev) DEST=$(dest) PROD=scm ver=$(ver) distdiffs
+CITERS = ANNOUNCE ../jacal/ANNOUNCE \
+ ../wb/README ../wb/ANNOUNCE ../synch/ANNOUNCE \
+ $(htmldir)README.html ../dist/README \
+ $(htmldir)SLIB.html $(htmldir)JACAL.html \
+ $(htmldir)SCM.html $(htmldir)SIMSYNCH.html \
+ ../jacal/jacal.texi ../wb/wb.texi \
+ /c/scm/dist/install.bat /c/scm/dist/makefile \
+ /c/scm/dist/mkdisk.bat hobbit.texi hobbit.scm
+
+updates: Init$(ver).scm
+ $(CHPAT) scm$(VERSION) scm$(ver) $(CITERS)
+ $(CHPAT) scm-$(VERSION) scm-$(ver) $(CITERS)
+ $(CHPAT) $(VERSION) $(ver) ../wb/wb.spec $(htmldir)SCM.html scm.spec
+
+Init$(ver).scm:
+ mv -f Init$(VERSION).scm Init$(ver).scm
+ $(CHPAT) $(VERSION) $(ver) patchlvl.h Init$(ver).scm
-HOBBITVERSION = 5x
-hobfiles = README.hob hobbit.doc hobbit.tms hobbit.scm scmhob.h
-#hobfiles = hobbit.doc COPYING Makefile.hob hobbit.scm scmhob.h scmhob.scm
-
-hobtemp/scm: $(hobfiles)
- -$(RM_R) hobtemp
- mkdir hobtemp
- mkdir hobtemp/scm
- ln $(hobfiles) hobtemp/scm
-
-hobdist: $(dest)hobbit$(HOBBITVERSION).zip
-$(dest)hobbit$(HOBBITVERSION).zip: hobtemp/scm
- $(makedev) DEST=$(dest) PROD=scm ver=-hob$(HOBBITVERSION) \
- zip TEMP=hobtemp/
- mv $(dest)scm-hob$(HOBBITVERSION).zip \
- $(dest)hobbit$(HOBBITVERSION).zip
-hobbit$(HOBBITVERSION).zip: hobtemp/scm
- $(makedev) TEMP=hobtemp/ name=hobbit$(HOBBITVERSION) PROD=scm zip
-
-new:
- echo `date` \ Aubrey Jaffer \ \<`whoami`@`hostname`\>> change
+new: updates
+ echo `date -I` \ Aubrey Jaffer \ \<`whoami`@`hostname`\>> change
echo>> change
echo \ \* patchlvl.h \(SCMVERSION\): Bumped from $(VERSION) to $(ver).>>change
echo>> change
cat ChangeLog >> change
mv -f change ChangeLog
- $(CHPAT) scm$(VERSION) scm$(ver) ANNOUNCE ../jacal/ANNOUNCE \
- ../wb/README ../wb/ANNOUNCE \
- $(htmldir)README.html ../dist/README \
- $(htmldir)SLIB.html $(htmldir)JACAL.html \
- $(htmldir)SCM.html $(htmldir)Hobbit.html \
- $(htmldir)SIMSYNCH.html \
- /c/scm/dist/install.bat /c/scm/dist/makefile \
- /c/scm/dist/mkdisk.bat hobbit.doc
- cp -f hobbit.doc $(htmldir)hobbit.txt
- mv -f Init$(VERSION).scm Init$(ver).scm
- $(CHPAT) $(VERSION) $(ver) patchlvl.h \
- Init$(ver).scm $(htmldir)SCM.html
cvs remove Init$(VERSION).scm
cvs add Init$(ver).scm
cvs commit -m 'Init$(VERSION).scm changed to Init$(ver).scm' \
@@ -505,15 +588,18 @@ name8s: scmlit
}else p=1;\
l=$$1\
}END{exit stat}' -
-ctags: $(hfiles) $(cfiles) $(xfiles)
- etags $(hfiles) $(cfiles) $(xfiles)
-TAGS:
-tags: $(hfiles) $(cfiles) $(ifiles) $(vfiles) turtlegr.c\
- version.txi scm.texi Xlibscm.texi build.scm build $(xfiles)
-# # $(ufiles) $(mfiles) ChangeLog hobbit.scm
- etags $(hfiles) $(cfiles) $(ifiles) $(vfiles) turtlegr.c\
- Xlibscm.texi scm.texi build.scm build $(xfiles)
-# # $(ufiles) $(mfiles) ChangeLog hobbit.scm
+
+ctagfiles = $(hfiles) $(cfiles) $(xfiles)
+ctags: $(ctagfiles)
+ etags $(ctagfiles)
+
+TAGFILES = $(hfiles) $(cfiles) $(ifiles) $(vfiles)\
+ version.txi scm.texi Xlibscm.texi hobbit.texi build $(xfiles) $(mfiles)
+# # $(ufiles) ChangeLog hobbit.scm
+TAGS: $(TAGFILES)
+ etags $(TAGFILES)
+tags: TAGS
+
mostlyclean:
clean:
-rm -f core a.out ramap.o ramap.obj $(ofiles) scmmain.o lints