aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile116
1 files changed, 77 insertions, 39 deletions
diff --git a/Makefile b/Makefile
index 2bb47f6..8f391f2 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996 Free Software Foundation, Inc.
+# Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997 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,14 +38,14 @@
# whether to permit this exception to apply to your modifications.
# If you do not wish that, delete this exception notice.
-# "Makefile" for scm4e6 Scheme Interpreter
+# "Makefile" for scm5b3 Scheme Interpreter
# Author: Aubrey Jaffer
SHELL = /bin/sh
#CC =
-CFLAGS = #-g
+CFLAGS = -g
#LIBS =
-LD = $(CC) #-g
+LD = $(CC) -g
# directory where COPYING and Init.scm reside.
#IMPLPATH = /usr/local/src/scm/
@@ -84,9 +84,14 @@ intro:
@echo " If this reports no errors, use scmlit to build.scm"
@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 \
+ 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
ofiles = time.o repl.o scl.o sys.o eval.o subr.o unif.o rope.o \
- continue.o findexec.o
+ continue.o findexec.o script.o
# ramap.o
+ifiles = Init.scm Transcen.scm Link.scm Macro.scm
all: scmlit
scmlit: $(ofiles) scm.o
@@ -95,9 +100,11 @@ scm.o: scm.c scm.h scmfig.h patchlvl.h scmflags.h
$(CC) $(CFLAGS) -c $(DFLAG) scm.c
scmflags.h: scmflags
scmflags:
- echo "#ifndef IMPLINIT" > scmflags.h
- echo "#define IMPLINIT \"$(IMPLINIT)\"" >> scmflags.h
- echo "#endif" >> scmflags.h
+ echo "#ifndef IMPLINIT" > newflags.h
+ echo "#define IMPLINIT \"$(IMPLINIT)\"" >> newflags.h
+ echo "#endif" >> newflags.h
+ -if (diff newflags.h scmflags.h) then rm newflags.h; \
+ else mv newflags.h scmflags.h; fi
.c.o:
$(CC) -c $(CFLAGS) $< -o $@
@@ -110,17 +117,30 @@ sys.o: sys.c scm.h scmfig.h scmflags.h setjump.h
time.o: time.c scm.h scmfig.h scmflags.h
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
+continue.o: continue.c continue.h setjump.h scmflags.h
$(CC) $(CFLAGS) -c continue.c
srcdir=$(HOME)/scm/
-udscm:
- $(srcdir)build.scm -hsystem -Fcautious bignums arrays inexact \
- engineering-notation dump dynamic-linking -o udscm
+udscm4: $(cfiles) build.scm
+ $(srcdir)build.scm -hsystem -o udscm4 -Fcautious \
+ bignums arrays inexact engineering-notation dump dynamic-linking
+
+udscm5: $(cfiles) build.scm
+ $(srcdir)build.scm -hsystem -o udscm5 -Fcautious \
+ bignums arrays inexact engineering-notation dump dynamic-linking \
+ macro
+
+myscm4: udscm4 $(ifiles)
+ -rm slibcat implcat
+ -mv scm scm~
+ ./udscm4 -o scm
+
+myscm: udscm5 $(ifiles)
+ -rm slibcat implcat
+ -mv scm scm~
+ ./udscm5 -r5 -o scm
-myscm: udscm $(ifiles)
- ./udscm -o scm
mylib:
$(srcdir)build.scm -hsystem -Fcautious bignums arrays inexact \
engineering-notation dump dynamic-linking -tlib
@@ -130,9 +150,10 @@ pgscm:
--compiler-options=-pg --linker-options=-pg
./udscm -o pgscm
mydebug:
- $(srcdir)build.scm -hsystem -Fcautious bignums arrays inexact \
- engineering-notation dump dynamic-linking debug -ogdbscm \
- --compiler-options=-Wall --linker-options=-Wall
+ $(srcdir)build.scm -hsystem -ogdbscm -F cautious \
+ bignums arrays inexact engineering-notation dump dynamic-linking \
+ macro \
+ debug --compiler-options=-Wall --linker-options=-Wall #-DTEST_FARLOC
mydlls:
$(srcdir)build.scm -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 \
@@ -140,12 +161,16 @@ mydlls:
myturtle:
$(srcdir)build.scm -h system -F turtlegr -t dll
+implcat: *.so mkimpcat.scm
+ ./scmlit -lmkimpcat.scm
+
checklit: r4rstest.scm
./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)'
bench:
- echo `whoami`@`hostname` testing scm >> BenchLog
+ echo `whoami`@`hostname` testing scm \
+ `scm -e'(display *scm-version*)'` >> BenchLog
echo on `date` >> BenchLog
ls -l scm >> BenchLog
size scm >> BenchLog
@@ -156,7 +181,8 @@ bench:
echo
tail -20 BenchLog
benchlit:
- echo `whoami`@`hostname` testing scmlit >> BenchLog
+ echo `whoami`@`hostname` testing scmlit \
+ `scmlit -e'(display *scm-version*)'` >> BenchLog
echo on `date` >> BenchLog
ls -l scmlit >> BenchLog
size scmlit >> BenchLog
@@ -166,6 +192,9 @@ benchlit:
echo >> BenchLog
echo
tail -20 BenchLog
+report:
+ scmlit -e"(slib:report #t)"
+ scm -e"(slib:report #t)"
dvidir=../dvi/
dvi: $(dvidir)scm.dvi
@@ -176,7 +205,7 @@ $(dvidir)scm.dvi: $(srcdir)scm.texi $(dvidir)scm.fn Makefile
$(dvidir)scm.fn:
cd $(dvidir);tex $(srcdir)scm.texi
xdvi: $(dvidir)scm.dvi
- xdvi -s 3 $(dvidir)scm.dvi
+ xdvi -s 6 $(dvidir)scm.dvi
htmldir=../public_html/
html: $(htmldir)scm_toc.html
$(htmldir)scm_toc.html: $(srcdir)scm.texi
@@ -185,7 +214,7 @@ $(htmldir)scm_toc.html: $(srcdir)scm.texi
################ INSTALL DEFINITIONS ################
prefix = /usr/local/
-exec_prefix = $(prefix)/
+exec_prefix = $(prefix)
# directory where `make install' will put executable.
bindir = $(exec_prefix)bin/
libdir = $(exec_prefix)lib/
@@ -197,11 +226,11 @@ includedir = $(prefix)include/
info: $(infodir)/scm.info
$(infodir)/scm.info: scm.texi
makeinfo scm.texi -o $(infodir)/scm.info
+ -rm $(infodir)/scm.info*.gz
infoz: $(infodir)/scm.info.gz
$(infodir)/scm.info.gz: $(infodir)/scm.info
- -rm $(infodir)/scm.info*.gz
- gzip $(infodir)/scm.info*
+ gzip -f $(infodir)/scm.info*
install: scm.1
test -d $(bindir) || mkdir $(bindir)
@@ -229,7 +258,7 @@ uninstall:
-rm $(includedir)scmfig.h
-rm $(libdir)libscm.a
# -rm $(IMPLPATH)Init.scm
-# -cp $(IMPLPATH)Link.scm
+# -rm $(IMPLPATH)Link.scm
# -rm $(IMPLPATH)Transcen.scm
# -rm $(IMPLPATH)COPYING
@@ -238,23 +267,25 @@ scm.doc: scm.1
#### Stuff for maintaining SCM below ####
-VERSION = 4e6
+VERSION = 5b3
ver = $(VERSION)
RM_R = rm -rf
-cfiles = 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
-ufiles = pre-crt0.c ecrt0.c gmalloc.c unexec.c unexelf.c
+ufiles = pre-crt0.c ecrt0.c gmalloc.c unexec.c unexelf.c unexhp9k800.c \
+ unexsunos4.c unexalpha.c
+
+# cxux-crt0.s ecrt0.c gmalloc.c pre-crt0.c unexaix.c unexalpha.c \
+# unexapollo.c unexconvex.c unexec.c unexelf.c unexelf1.c \
+# unexencap.c unexenix.c unexfx2800.c unexhp9k800.c unexmips.c \
+# unexnext.c unexnt.c unexsgi.c unexsni.c unexsunos4.c
+
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
-ifiles = Init.scm Transcen.scm Link.scm
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
+mfiles = Makefile build.scm build.bat .gdbinit mkimpcat.scm
vfiles = setjump.mar setjump.s
afiles = $(dfiles) $(cfiles) $(hfiles) $(ifiles) $(tfiles) $(mfiles) \
$(vfiles) $(ufiles)
@@ -316,14 +347,20 @@ hobbit$(HOBBITVERSION).zip: hobtemp/scm
$(makedev) TEMP=hobtemp/ name=hobbit$(HOBBITVERSION) PROD=scm zip
new:
+ echo `date` \ 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 \
../public_html/README.html ../dist/README \
../public_html/SLIB.html ../public_html/JACAL.html \
../public_html/SCM.html ../public_html/Hobbit.html \
/c/scm/dist/install.bat /c/scm/dist/makefile \
- /c/scm/dist/mkdisk.bat
- $(CHPAT) $(VERSION) $(ver) README scm.texi patchlvl.h \
+ /c/scm/dist/mkdisk.bat README
+ $(CHPAT) $(VERSION) $(ver) scm.texi patchlvl.h \
Init.scm ../public_html/SCM.html Makefile
configtemp/scm: $(confiles)
@@ -354,8 +391,8 @@ SED_TO_STRIP_NM=sed -e '/.*\.o$$/d' -e 's/.* _//' -e 's/.* T //'
#SED_TO_STRIP_NM=sed -e '/^[A-Za-z][A-za-z0-9_]*[ |].*|extern|!d' -e 's/|/ /g'
name8: name8s
-name8s: scm
- nm scm |\
+name8s: scmlit
+ nm scmlit |\
$(SED_TO_STRIP_NM) |\
sort -u|\
awk '{ if (substr(l,1,8)==substr($$1,1,8)) {\
@@ -373,12 +410,13 @@ tags: $(hfiles) $(cfiles) $(ifiles) $(vfiles) $(ufiles)\
hobbit.scm scm.texi README build.scm # $(mfiles) ChangeLog
mostlyclean:
clean:
- -rm -f *~ *.bak *.orig *.rej core a.out ramap.o $(ofiles) scm.o \
- lints tmp* \#* *\#
+ -rm -f core a.out ramap.o ramap.obj $(ofiles) scm.o lints
-$(RM_R) *temp
distclean: clean
- -rm -f $(EXECFILES) *.o a.out TAGS
+ -rm -f $(EXECFILES) *.o *.obj a.out TAGS implcat slibcat gdbscm
realclean: distclean
-rm -f scm.doc
realempty: temp/scm
-rm -f $(afiles)
+myclean: clean
+ -rm -f *~ *.bak *.orig *.rej tmp* \#* *\#