summaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile111
1 files changed, 68 insertions, 43 deletions
diff --git a/Makefile b/Makefile
index 8f391f2..46c0ed1 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
+# Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -38,7 +38,7 @@
# whether to permit this exception to apply to your modifications.
# If you do not wish that, delete this exception notice.
-# "Makefile" for scm5b3 Scheme Interpreter
+# "Makefile" for scm5c3 Scheme Interpreter
# Author: Aubrey Jaffer
SHELL = /bin/sh
@@ -47,17 +47,17 @@ CFLAGS = -g
#LIBS =
LD = $(CC) -g
-# directory where COPYING and Init.scm reside.
+# directory where COPYING and Init5c3.scm reside.
#IMPLPATH = /usr/local/src/scm/
#this one is good for bootstrapping
IMPLPATH = `pwd`/
-# Pathname where Init.scm resides.
-IMPLINIT = $(IMPLPATH)Init.scm
+# Pathname where Init5c3.scm resides.
+IMPLINIT = $(IMPLPATH)Init5c3.scm
DFLAG = -DIMPLINIT=\"$(IMPLINIT)\"
-# If pathname where Init.scm resides is not known in advance then
+# If pathname where Init5c3.scm resides is not known in advance then
# SCM_INIT_PATH is the environment variable whose value is the
-# pathname where Init.scm resides.
+# pathname where Init5c3.scm resides.
intro:
@echo
@@ -81,7 +81,7 @@ intro:
@echo
@echo " Once you have built scmlit successfully, test it:"
@echo " make checklit"
- @echo " If this reports no errors, use scmlit to build.scm"
+ @echo " If this reports no errors, use scmlit to build"
@echo " fancier versions of scm, with optional features."
cfiles = scm.c time.c repl.c ioext.c scl.c sys.c eval.c subr.c sc2.c \
@@ -91,11 +91,14 @@ cfiles = scm.c time.c repl.c ioext.c scl.c sys.c eval.c subr.c sc2.c \
ofiles = time.o repl.o scl.o sys.o eval.o subr.o unif.o rope.o \
continue.o findexec.o script.o
# ramap.o
-ifiles = Init.scm Transcen.scm Link.scm Macro.scm
+ifiles = Init5c3.scm Transcen.scm Link.scm Macro.scm
-all: scmlit
+all:
+ make mydlls
+ make myscm
scmlit: $(ofiles) scm.o
$(LD) -o scmlit $(ofiles) scm.o $(LIBS)
+ make checklit
scm.o: scm.c scm.h scmfig.h patchlvl.h scmflags.h
$(CC) $(CFLAGS) -c $(DFLAG) scm.c
scmflags.h: scmflags
@@ -122,49 +125,51 @@ continue.o: continue.c continue.h setjump.h scmflags.h
srcdir=$(HOME)/scm/
-udscm4: $(cfiles) build.scm
- $(srcdir)build.scm -hsystem -o udscm4 -Fcautious \
+udscm4: $(cfiles) $(hfiles) build.scm build
+ $(srcdir)build -hsystem -o udscm4 -Fcautious \
bignums arrays inexact engineering-notation dump dynamic-linking
-udscm5: $(cfiles) build.scm
- $(srcdir)build.scm -hsystem -o udscm5 -Fcautious \
+udscm5: $(cfiles) $(hfiles) build.scm build
+ $(srcdir)build -hsystem -o udscm5 -Fcautious \
bignums arrays inexact engineering-notation dump dynamic-linking \
- macro
+ macro #-DNO_SYM_GC
myscm4: udscm4 $(ifiles)
-rm slibcat implcat
-mv scm scm~
- ./udscm4 -o scm
+ echo "(quit)" | ./udscm4 -no-init-file -o scm
myscm: udscm5 $(ifiles)
-rm slibcat implcat
-mv scm scm~
- ./udscm5 -r5 -o scm
+ echo "(quit)" | ./udscm5 -no-init-file -r5 -o scm
+ make check
mylib:
- $(srcdir)build.scm -hsystem -Fcautious bignums arrays inexact \
+ $(srcdir)build -hsystem -Fcautious bignums arrays inexact \
engineering-notation dump dynamic-linking -tlib
pgscm:
- $(srcdir)build.scm -hsystem -Fcautious bignums arrays inexact \
+ $(srcdir)build -hsystem -Fcautious bignums arrays inexact \
engineering-notation dump dynamic-linking -o udscm \
--compiler-options=-pg --linker-options=-pg
- ./udscm -o pgscm
+ echo "(quit)" | ./udscm -no-init-file -o pgscm
mydebug:
- $(srcdir)build.scm -hsystem -ogdbscm -F cautious \
+ $(srcdir)build -hsystem -oudgdbscm -F cautious \
bignums arrays inexact engineering-notation dump dynamic-linking \
macro \
debug --compiler-options=-Wall --linker-options=-Wall #-DTEST_FARLOC
+ echo "(quit)" | ./udgdbscm -no-init-file -r5 -o gdbscm
mydlls:
- $(srcdir)build.scm -h system -t dll -c sc2.c rgx.c crs.c edline.c \
+ $(srcdir)build -h system -t dll -c sc2.c rgx.c crs.c edline.c \
record.c gsubr.c ioext.c posix.c unix.c socket.c \
ramap.c
myturtle:
- $(srcdir)build.scm -h system -F turtlegr -t dll
+ $(srcdir)build -h system -F turtlegr -t dll
implcat: *.so mkimpcat.scm
./scmlit -lmkimpcat.scm
-checklit: r4rstest.scm
+checklit:
./scmlit -fr4rstest.scm -e'(test-sc4)(test-cont)(test-delay)(gc)'
check: r4rstest.scm
./scm -fr4rstest.scm -e'(test-sc4)(test-cont)(test-delay)(gc)'
@@ -199,11 +204,11 @@ report:
dvidir=../dvi/
dvi: $(dvidir)scm.dvi
$(dvidir)scm.dvi: $(srcdir)scm.texi $(dvidir)scm.fn Makefile
-# cd $(dvidir);texi2dvi $(srcdir)scm.texi
- -(cd $(dvidir);export set TEXINPUTS=$(srcdir):$$TEXINPUTS;texindex scm.??)
- cd $(dvidir);export set TEXINPUTS=$(srcdir):$$TEXINPUTS;tex $(srcdir)scm.texi
+# cd $(dvidir);export TEXINPUTS=$(srcdir):;texi2dvi $(srcdir)scm.texi
+ -(cd $(dvidir);export TEXINPUTS=$(srcdir):;texindex scm.??)
+ cd $(dvidir);export TEXINPUTS=$(srcdir):;tex $(srcdir)scm.texi
$(dvidir)scm.fn:
- cd $(dvidir);tex $(srcdir)scm.texi
+ cd $(dvidir);export TEXINPUTS=$(srcdir):;tex $(srcdir)scm.texi
xdvi: $(dvidir)scm.dvi
xdvi -s 6 $(dvidir)scm.dvi
htmldir=../public_html/
@@ -226,6 +231,7 @@ includedir = $(prefix)include/
info: $(infodir)/scm.info
$(infodir)/scm.info: scm.texi
makeinfo scm.texi -o $(infodir)/scm.info
+ install-info $(infodir)/scm.info $(infodir)/dir
-rm $(infodir)/scm.info*.gz
infoz: $(infodir)/scm.info.gz
@@ -236,13 +242,11 @@ install: scm.1
test -d $(bindir) || mkdir $(bindir)
test -d $(man1dir) || mkdir $(man1dir)
-cp scm $(bindir)
- -strip $(bindir)scm
+# -strip $(bindir)scm
-cp scm.1 $(man1dir)
test -d $(IMPLPATH) || mkdir $(IMPLPATH)
- -cp Init.scm $(IMPLPATH)
- -cp Link.scm $(IMPLPATH)
- -cp Transcen.scm $(IMPLPATH)
- -cp COPYING $(IMPLPATH)
+ -cp Init5c3.scm Link.scm Transcen.scm Macro.scm COPYING $(IMPLPATH)
+ -cp mkimpcat.scm Iedline.scm *.sl *.so $(IMPLPATH)
installlib:
test -d $(includedir) || mkdir $(includedir)
@@ -257,7 +261,7 @@ uninstall:
-rm $(includedir)scm.h
-rm $(includedir)scmfig.h
-rm $(libdir)libscm.a
-# -rm $(IMPLPATH)Init.scm
+# -rm $(IMPLPATH)Init5c3.scm
# -rm $(IMPLPATH)Link.scm
# -rm $(IMPLPATH)Transcen.scm
# -rm $(IMPLPATH)COPYING
@@ -267,7 +271,7 @@ scm.doc: scm.1
#### Stuff for maintaining SCM below ####
-VERSION = 5b3
+include patchlvl.h
ver = $(VERSION)
RM_R = rm -rf
ufiles = pre-crt0.c ecrt0.c gmalloc.c unexec.c unexelf.c unexhp9k800.c \
@@ -285,7 +289,7 @@ hfiles = scm.h scmfig.h setjump.h patchlvl.h continue.h
tfiles = r4rstest.scm example.scm pi.scm pi.c split.scm bench.scm
dfiles = ANNOUNCE README COPYING scm.1 scm.doc QUICKREF \
scm.texi ChangeLog
-mfiles = Makefile build.scm build.bat .gdbinit mkimpcat.scm
+mfiles = Makefile build.scm build build.bat .gdbinit mkimpcat.scm disarm.scm
vfiles = setjump.mar setjump.s
afiles = $(dfiles) $(cfiles) $(hfiles) $(ifiles) $(tfiles) $(mfiles) \
$(vfiles) $(ufiles)
@@ -299,9 +303,17 @@ temp/scm: $(afiles)
mkdir temp/scm
ln $(afiles) temp/scm
+release: dist
+ rsync -v $(htmldir)SCM.html martigny.ai.mit.edu:public_html/
+ rsync -v $(dest)README $(dest)scm$(VERSION).tar.gz martigny.ai.mit.edu:dist/
+ upload $(dest)README $(dest)scm$(VERSION).tar.gz prep.ai.mit.edu:gnu/jacal/
+upzip: $(HOME)/pub/scm.zip
+ rsync -v $(HOME)/pub/scm.zip martigny.ai.mit.edu:pub/
+
dist: $(dest)scm$(VERSION).tar.gz
$(dest)scm$(VERSION).tar.gz: temp/scm
$(makedev) DEST=$(dest) PROD=scm ver=$(VERSION) tar.gz
+ cvs tag -F scm$(VERSION)
shar: scm.shar
scm.shar: temp/scm
$(makedev) PROD=scm shar
@@ -318,7 +330,8 @@ scm$(VERSION).zip: temp/scm turtle turtlegr.c grtest.scm require.scm
cd ..; zip -9ur $(dest)scm$(VERSION).zip \
scm/turtle scm/turtlegr.c scm/grtest.scm scm/require.scm
mv $(dest)scm$(VERSION).zip /c/scm/dist/
-pubzip: temp/scm
+pubzip: $(HOME)/pub/scm.zip
+$(HOME)/pub/scm.zip: temp/scm
$(makedev) DEST=$(HOME)/pub/ PROD=scm zip
diffs: pubdiffs
@@ -330,6 +343,7 @@ distdiffs: temp/scm
HOBBITVERSION = 4d
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
@@ -355,13 +369,24 @@ new:
mv -f change ChangeLog
$(CHPAT) scm$(VERSION) scm$(ver) ANNOUNCE ../jacal/ANNOUNCE \
../wb/README ../wb/ANNOUNCE \
- ../public_html/README.html ../dist/README \
- ../public_html/SLIB.html ../public_html/JACAL.html \
- ../public_html/SCM.html ../public_html/Hobbit.html \
+ $(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 README
+ mv -f Init$(VERSION).scm Init$(ver).scm
$(CHPAT) $(VERSION) $(ver) scm.texi patchlvl.h \
- Init.scm ../public_html/SCM.html Makefile
+ Init$(ver).scm $(htmldir)SCM.html Makefile
+ cvs remove Init$(VERSION).scm
+ cvs add Init$(ver).scm
+ cvs commit -m 'Init$(VERSION).scm changed to Init$(ver).scm' \
+ Init$(VERSION).scm Init$(ver).scm
+ cvs commit -m '(SCMVERSION): Bumped from $(VERSION) to $(ver).'
+ cvs tag -F scm$(ver)
+ if [ -L Init.scm ]; then rm -f Init.scm; else \
+ mv -f Init.scm Init.scm~; fi
+ ln -s Init$(ver).scm Init.scm
configtemp/scm: $(confiles)
-$(RM_R) configtemp/scm
@@ -405,9 +430,9 @@ ctags: $(hfiles) $(cfiles)
etags $(hfiles) $(cfiles)
TAGS:
tags: $(hfiles) $(cfiles) $(ifiles) $(vfiles) $(ufiles)\
- hobbit.scm scm.texi README build.scm # $(mfiles) ChangeLog
+ scm.texi README build.scm # $(mfiles) ChangeLog hobbit.scm
etags $(hfiles) $(cfiles) $(ifiles) $(vfiles) $(ufiles)\
- hobbit.scm scm.texi README build.scm # $(mfiles) ChangeLog
+ scm.texi README build.scm # $(mfiles) ChangeLog hobbit.scm
mostlyclean:
clean:
-rm -f core a.out ramap.o ramap.obj $(ofiles) scm.o lints