From ef4cf7c9f77d2de3aef1a23176ddbee9b1634f63 Mon Sep 17 00:00:00 2001 From: marting Date: Wed, 15 Sep 1999 01:06:21 +0000 Subject: [PATCH] various changes, Makefile should be generated correctly; many hacks, clean: does not work --- Makefile | 55 ++++----- Makefile.in | 332 +++++++++++++++++++++++++++++++++++++++++++++++++-- configure | 2 +- configure.in | 5 + 4 files changed, 351 insertions(+), 43 deletions(-) diff --git a/Makefile b/Makefile index b22bd4e..709bcc2 100644 --- a/Makefile +++ b/Makefile @@ -9,13 +9,12 @@ srcdir = . CC = gcc DEFS = -DHAVE_CONFIG_H LIBS = -lm -CFLAGS = -g -O2 -CPPFLAGS= -I$(srcdir)/cig -I$(srcdir)/scsh/regexp +CFLAGS = -O2 INSTALL = /usr/local/bin/install -c -INSTALL_PROGRAM = ${INSTALL} -c -INSTALL_DATA = ${INSTALL} -m 644 -c +INSTALL_PROGRAM = ${INSTALL} +INSTALL_DATA = ${INSTALL} -m 644 -LDFLAGS = -g +LDFLAGS = LIBOBJS = RM = rm -f @@ -23,8 +22,7 @@ RM = rm -f AR = ar cq RANLIB = ranlib - -prefix = /home/ai/marting/ +prefix = /home/ai/marting/install06 exec_prefix = ${prefix} ### End of `configure' section### @@ -46,7 +44,7 @@ mandir = $(prefix)/man/man$(manext) $(CC) -c $(CPPFLAGS) $(DEFS) -I$(srcdir)/c $(CFLAGS) -o $@ $< # You might want to change RUNNABLE to "s48" -RUNNABLE = ~/bin/s4853 +RUNNABLE = s4853 MANPAGE = $(RUNNABLE).$(manext) LIB = $(libdir)/$(RUNNABLE) @@ -80,8 +78,14 @@ include $(srcdir)/build/filenames.make # of scheme48. BIG_HEAP = -h 5000000 -LINKER_VM = ./$(VM) $(BIG_HEAP) -LINKER_RUNNABLE = $(LINKER_VM) -i $(IMAGE) +# JMG: 1. is broken ... +# LINKER_VM = ./$(VM) $(BIG_HEAP) +# LINKER_RUNNABLE = $(LINKER_VM) -i $(IMAGE) + +# JMG now according 2 +LINKER_VM = $(RUNNABLE) $(BIG_HEAP) +LINKER_RUNNABLE = $(RUNNABLE) + LINKER_IMAGE = build/linker.image LINKER = $(LINKER_VM) -i $(LINKER_IMAGE) START_LINKER = echo ',batch' && echo ',bench on' @@ -129,7 +133,12 @@ SCSHOBJS = \ scsh/sighandlers1.o scsh/sighandlers.o UNIX_OBJS = c/unix/misc.o c/unix/io.o c/unix/fd-io.o c/unix/event.o -OBJS = c/scheme48vm.o c/scheme48heap.o c/extension.o c/external.o + +#JMG: I omit process_args.o and SCSHVMHACKS at the moment +OBJS = c/scheme48vm.o c/scheme48heap.o c/extension.o c/external.o \ + $(CIGOBJS) +#$(SCSHOBJS) + FAKEHS = c/fake/dlfcn.h c/fake/sigact.h c/fake/strerror.h \ c/fake/sys-select.h @@ -152,7 +161,7 @@ enough: $(VM) $(IMAGE) go $(LIBCIG) scsh $(LIBSCSH) EXTERNAL_OBJECTS = $(SOCKET_OBJECTS) $(LOOKUP_OBJECTS) EXTERNAL_FLAGS = $(SOCKET_FLAGS) -EXTERNAL_INITIALIZERS = $(SOCKET_INITIALIZERS) $(LOOKUP_INITIALIZERS) +EXTERNAL_INITIALIZERS = $(SOCKET_INITIALIZERS) $(LOOKUP_INITIALIZERS) ciginit # Rules for any external code. @@ -611,9 +620,7 @@ c/old-scheme48.h: scheme/vm/arch.scm scheme/vm/data.scm \ # Never called automatically. Do not use unless you are sure you # know what you are doing. # Afterwards, you should probably make c/scheme48.h. - -i-know: i-know-what-i-am-doing - +i-know: i-know-what-i-am-doing i-know-what-i-am-doing: cd ps-compiler && \ (echo ',batch'; \ @@ -625,7 +632,6 @@ i-know-what-i-am-doing: echo ',exit' \ ) | $(RUNNABLE) -h 5000000 && \ mv ../scheme/vm/scheme48vm.c ../scheme/vm/scheme48heap.c ../c - cig: $(CIG) $(CIG).image $(LIBCIG) $(CIG): $(VM) $(IMAGE) $(srcdir)/cig/cig.scm $(srcdir)/cig/libcig.scm @@ -750,6 +756,7 @@ scsh/scsh: scsh/scsh-tramp.c -DIMAGE=\"$(LIB)/scsh.image\" \ scsh/scsh-tramp.c +#JMG : should be ,open external-calls scsh/scsh.image: $(VM) $(SCHEME) $(CIG).image (echo ",translate =scheme48/ $(srcdir)/scheme/"; \ echo ",batch on"; \ @@ -760,18 +767,8 @@ scsh/scsh.image: $(VM) $(SCHEME) $(CIG).image echo ",load $(srcdir)/scsh/let-opt.scm"; \ echo ",load $(srcdir)/scsh/scsh-interfaces.scm"; \ echo ",load $(srcdir)/scsh/machine/packages.scm"; \ - echo ",load $(srcdir)/scsh/scsh-package.scm"; \ - echo ",load-package scsh"; \ - echo ",load-package events"; \ - echo ",load-package scsh-here-string-hax"; \ - echo ",translate =scheme48/ $(LIB)/"; \ - echo ",in scsh-level-0"; \ - echo "(autoreap-policy 'early)"; \ - echo ",user"; \ - echo ",open floatnums"; \ - echo ",open scsh"; \ - echo "(dump-scsh \"scsh/scsh.image\")") \ - | ./$(VM) -o ./$(VM) -i $(CIG).image + echo ",load $(srcdir)/scsh/scsh-package.scm") \ + | ./$(VM) -o ./$(VM) -h 5000000 -i $(CIG).image #scsh/scsh.image: $(VM) $(SCHEME) $(CIG).image # (echo ",translate =scheme48/ $(srcdir)/"; \ @@ -810,7 +807,7 @@ scsh/regexp/libregexp.a: cd ./scsh/regexp; $(MAKE) scsh/scsh.vm: $(LIBSCSH) $(VM) scsh/scsh.image - ./$(VM) -o ./$(VM) -h 6000000 -i scsh/scsh.image \ + ./$(VM) -o ./$(VM) -h 8000000 -i scsh/scsh.image \ -lm ./vm/ps-interface.scm \ -lm ./vm/interfaces.scm \ -lm ./vm/package-defs.scm \ diff --git a/Makefile.in b/Makefile.in index bfdd82c..e1986a6 100644 --- a/Makefile.in +++ b/Makefile.in @@ -17,6 +17,11 @@ INSTALL_DATA = @INSTALL_DATA@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ +RM = rm -f + +AR = ar cq +RANLIB = ranlib + prefix = @prefix@ exec_prefix = @exec_prefix@ ### End of `configure' section### @@ -39,7 +44,7 @@ mandir = $(prefix)/man/man$(manext) $(CC) -c $(CPPFLAGS) $(DEFS) -I$(srcdir)/c $(CFLAGS) -o $@ $< # You might want to change RUNNABLE to "s48" -RUNNABLE = scheme48 +RUNNABLE = s4853 MANPAGE = $(RUNNABLE).$(manext) LIB = $(libdir)/$(RUNNABLE) @@ -73,8 +78,14 @@ include $(srcdir)/build/filenames.make # of scheme48. BIG_HEAP = -h 5000000 -LINKER_VM = ./$(VM) $(BIG_HEAP) -LINKER_RUNNABLE = $(LINKER_VM) -i $(IMAGE) +# JMG: 1. is broken ... +# LINKER_VM = ./$(VM) $(BIG_HEAP) +# LINKER_RUNNABLE = $(LINKER_VM) -i $(IMAGE) + +# JMG now according 2 +LINKER_VM = $(RUNNABLE) $(BIG_HEAP) +LINKER_RUNNABLE = $(RUNNABLE) + LINKER_IMAGE = build/linker.image LINKER = $(LINKER_VM) -i $(LINKER_IMAGE) START_LINKER = echo ',batch' && echo ',bench on' @@ -87,9 +98,47 @@ START_LINKER = echo ',batch' && echo ',bench on' IMAGE = scheme48.image INITIAL = build/initial.image -VM = scheme48vm +#JMG: renamed the vm +#JMG: we need cig at the moment +VM = scsh06vm +LIBCIG = cig/lib$(VM).a +CIG = cig/cig +CIGOBJS = cig/libcig.o cig/libcig1.o + +#JMG: the scsh-lib +LIBSCSH = scsh/lib$(VM).a +SCSHVMHACKS = proc2.o + +#JMG: and it's object files +SCSHOBJS = \ + scsh/dirstuff1.o \ + scsh/flock.o scsh/flock1.o \ + scsh/machine/stdio_dep.o \ + scsh/machine/time_dep1.o \ + scsh/machine/signals1.o \ + scsh/machine/libansi.o \ + scsh/network.o scsh/network1.o \ + scsh/putenv.o \ + scsh/re.o scsh/re1.o \ + scsh/regexp/regexp.o \ + scsh/regexp/regsub.o \ + scsh/select.o scsh/select1.o \ + scsh/sleep1.o \ + scsh/syscalls.o scsh/syscalls1.o \ + scsh/time.o scsh/time1.o \ + scsh/tty.o scsh/tty1.o \ + scsh/userinfo1.o \ + scsh/rdelim.o \ + scsh/fdports1.o \ + scsh/sighandlers1.o scsh/sighandlers.o + UNIX_OBJS = c/unix/misc.o c/unix/io.o c/unix/fd-io.o c/unix/event.o -OBJS = c/scheme48vm.o c/scheme48heap.o c/extension.o c/external.o + +#JMG: I omit process_args.o and SCSHVMHACKS at the moment +OBJS = c/scheme48vm.o c/scheme48heap.o c/extension.o c/external.o \ + $(CIGOBJS) +#$(SCSHOBJS) + FAKEHS = c/fake/dlfcn.h c/fake/sigact.h c/fake/strerror.h \ c/fake/sys-select.h @@ -102,7 +151,9 @@ CONFIG_FILES = scheme/interfaces.scm scheme/low-packages.scm \ # The following is the first rule and therefore the "make" command's # default target. -enough: $(VM) $(IMAGE) go .notify +enough: $(VM) $(IMAGE) go $(LIBCIG) scsh $(LIBSCSH) +#JMG: no manpages at the moment $(MANPAGE) +#JMG no notify at the moment... .notify # -------------------- # External code to include in the VM @@ -110,7 +161,7 @@ enough: $(VM) $(IMAGE) go .notify EXTERNAL_OBJECTS = $(SOCKET_OBJECTS) $(LOOKUP_OBJECTS) EXTERNAL_FLAGS = $(SOCKET_FLAGS) -EXTERNAL_INITIALIZERS = $(SOCKET_INITIALIZERS) $(LOOKUP_INITIALIZERS) +EXTERNAL_INITIALIZERS = $(SOCKET_INITIALIZERS) $(LOOKUP_INITIALIZERS) ciginit # Rules for any external code. @@ -142,6 +193,36 @@ LOOKUP_INITIALIZERS = s48_init_external_lookup installation. \ | mail scheme-48-notifications@martigny.ai.mit.edu +JMG: scsh stuff +# This says how to process .scm files with cig to make .c stubs. +.SUFFIXES: .scm +.scm.c: + $(srcdir)/$(VM) -o $(srcdir)/$(VM) -i $(CIG) < $< > $*.c + +# These .h files mediate between the code exported from foo1.c +# and imported into foo.scm's stub foo.c. + +scsh/dirstuff1.o: scsh/dirstuff1.h +scsh/rdelim.o: scsh/fdports1.h +scsh/userinfo1.o: scsh/userinfo1.h +scsh/fdports1.o scsh/fdports.o: scsh/fdports1.h +scsh/flock1.o scsh/flock.o: scsh/flock1.h +scsh/network1.o scsh/network.o: scsh/network1.h +scsh/re1.o scsh/re.o: scsh/re1.h +scsh/select1.o scsh/select.o: scsh/select1.h +scsh/syscalls1.o scsh/syscalls.o: scsh/syscalls1.h +scsh/time1.o scsh/time.o: scsh/time1.h +scsh/tty1.o scsh/tty.o: scsh/tty1.h + +scsh/syscalls.o: scsh/syscalls1.h scsh/dirstuff1.h scsh/fdports1.h \ + scsh/select1.h scsh/userinfo1.h + +scsh/sighandlers1.o scsh/sighandlers.o: scsh/sighandlers1.h + +include $(srcdir)/scsh/machine/Makefile.inc +# Berkeley make wants to see this instead: (or use GNU make on BSD. -bri) +#.include "$(srcdir)/scsh/machine/Makefile.inc" + $(VM): c/main.o $(OBJS) $(UNIX_OBJS) $(LIBOBJS) $(EXTERNAL_OBJECTS) rm -f /tmp/s48_external_$$$$.c && \ build/build-external-modules /tmp/s48_external_$$$$.c \ @@ -152,6 +233,18 @@ $(VM): c/main.o $(OBJS) $(UNIX_OBJS) $(LIBOBJS) $(EXTERNAL_OBJECTS) $(EXTERNAL_OBJECTS) $(EXTERNAL_LD_FLAGS) && \ rm -f /tmp/s48_external_$$$$.c +#JMG: again cig and scsh-lib +$(LIBCIG): c/main.o $(OBJS) +# $(CC) -r -o $@ main.o $(OBJS) + $(RM) $@ + $(AR) $@ c/main.o $(OBJS) + $(RANLIB) $@ + +$(LIBSCSH): smain.o $(OBJS) + $(RM) $@ + $(AR) $@ smain.o $(OBJS) + $(RANLIB) $@ + c/main.o: c/main.c c/scheme48vm.h c/scheme48heap.h $(CC) -c $(CFLAGS) -o $@ \ -DDEFAULT_IMAGE_NAME=\"$(LIB)/$(IMAGE)\" \ @@ -187,7 +280,8 @@ $(IMAGE): $(VM) scheme/env/init-defpackage.scm scheme/more-interfaces.scm \ ### Fake targets: all clean install man dist -install: enough dirs inst-script inst-vm inst-misc inst-man inst-inc inst-image +install: enough dirs inst-script inst-vm inst-misc inst-man inst-inc install-cig \ + inst-image inst-vm: $(INSTALL_PROGRAM) $(VM) $(LIB) @@ -262,14 +356,16 @@ dirs: configure: configure.in autoheader && autoconf - -clean: +#JMG: clean cig and the scsh too +clean: clean-cig clean-scsh -rm -f $(VM) *.o c/unix/*.o c/*.o c/fake/*.o \ TAGS $(IMAGE) \ build/*.tmp $(MANPAGE) build/linker.image \ scheme/debug/*.image scheme/debug/*.debug config.cache \ scheme/vm/scheme48vm.c scheme/vm/scheme48heap.c \ go $(distname) +clean-cig: + -rm -f cig/*.o $(CIG) $(CIG).image $(LIBCIG) distclean: clean rm -f Makefile config.log config.status c/sysdep.h @@ -296,7 +392,8 @@ image: $(INITIAL) $(MAKE) $(IMAGE) tags: - etags scheme/vm/arch.scm scheme/rts/*.scm scheme/bcomp/*.scm \ + etags scsh/*.scm scsh/*.c \ + scheme/vm/arch.scm scheme/rts/*.scm scheme/bcomp/*.scm \ scheme/*.scm scheme/env/*.scm scheme/big/*.scm scheme/link/*.scm \ scheme/opt/*.scm scheme/debug/*.scm scheme/misc/*.scm @@ -418,7 +515,8 @@ link/linker-in-lucid: build/lucid-script.lisp $(linker-files) \ # Scheme, the byte-code compiler, and a minimal command processor, but # no debugging environment to speak of. -$(INITIAL): $(LINKER_IMAGE) $(CONFIG_FILES) build/initial.scm $(initial-files) +$(INITIAL): $(LINKER_IMAGE) $(CONFIG_FILES) build/initial.scm $(initial-files) \ + scsh/scsh-read.scm scsh/here.scm # gross and Olin hates it -bri ($(START_LINKER); \ echo '(load-configuration "scheme/interfaces.scm")'; \ echo '(load-configuration "scheme/packages.scm")'; \ @@ -522,6 +620,7 @@ c/old-scheme48.h: scheme/vm/arch.scm scheme/vm/data.scm \ # Never called automatically. Do not use unless you are sure you # know what you are doing. # Afterwards, you should probably make c/scheme48.h. +i-know: i-know-what-i-am-doing i-know-what-i-am-doing: cd ps-compiler && \ (echo ',batch'; \ @@ -531,5 +630,212 @@ i-know-what-i-am-doing: echo ',exec ,load compile-vm-no-gc.scm'; \ echo ',exec ,load compile-gc.scm'; \ echo ',exit' \ - ) | $(RUNNABLE) -h 8000000 && \ + ) | $(RUNNABLE) -h 5000000 && \ mv ../scheme/vm/scheme48vm.c ../scheme/vm/scheme48heap.c ../c +cig: $(CIG) $(CIG).image $(LIBCIG) + +$(CIG): $(VM) $(IMAGE) $(srcdir)/cig/cig.scm $(srcdir)/cig/libcig.scm + (echo ",batch"; \ + echo ",translate =scheme48/ $(srcdir)/scheme/"; \ + echo ",config ,load $(srcdir)/cig/cig.scm"; \ + echo ",config ,load $(srcdir)/cig/libcig.scm"; \ + echo ",load-package cig-standalone"; \ + echo ",in cig-standalone"; \ + echo ",translate =scheme48/ $(LIB)/"; \ + echo ",build cig-standalone-toplevel /tmp/cig") \ + | ./$(VM) -i ./$(IMAGE) + $(srcdir)/cig/image2script $(LIB)/$(VM) $(CIG) + -chmod +x $(CIG) + $(RM) /tmp/cig + +$(CIG)2: + (echo ",batch"; \ + echo ",translate =scheme48/ $(srcdir)/scheme/"; \ + echo ",config ,load $(srcdir)/cig/cig2.scm"; \ + echo ",config ,load $(srcdir)/cig/libcig.scm"; \ + echo ",load-package cig-standalone"; \ + echo ",in cig-standalone"; \ + echo ",translate =scheme48/ $(LIB)/"; \ + echo '(dump-scsh-program cig-standalone-toplevel "/tmp/cig")') \ + | ./$(VM) -o ./$(VM) -i ./scsh/scsh.image + $(srcdir)/cig/image2script $(LIB)/$(VM) $(CIG)2 + -chmod +x $(CIG)2 + $(RM) /tmp/cig + +$(CIG).image: $(IMAGE) $(VM) $(srcdir)/cig/cig.scm $(srcdir)/cig/libcig.scm + (echo ",batch"; \ + echo ",translate =scheme48/ $(srcdir)/scheme/"; \ + echo ",config ,load $(srcdir)/cig/cig.scm"; \ + echo ",config ,load $(srcdir)/cig/libcig.scm"; \ + echo ",load-package cig-aux"; \ + echo ",open define-foreign-syntax"; \ + echo ",translate =scheme48/ $(LIB)/"; \ + echo ",dump /tmp/cig \"(CIG Preloaded -bri)\"") \ + | ./$(VM) -o ./$(VM) -i ./$(IMAGE) + $(srcdir)/cig/image2script $(LIB)/$(VM) \ + -o $(LIB)/$(VM) \ + $(CIG).image + -chmod +x $(CIG).image + $(RM) /tmp/cig + +#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +# SCSH Specifics +#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +scsh: cig scsh/scsh scsh/scsh.image + +SCHEME =scsh/awk.scm \ + scsh/char-set.scm \ + scsh/defrec.scm \ + scsh/endian.scm \ + scsh/enumconst.scm \ + scsh/event.scm \ + scsh/fdports.scm \ + scsh/fileinfo.scm \ + scsh/filemtch.scm \ + scsh/filesys.scm \ + scsh/flock.scm \ + scsh/fname.scm \ + scsh/fr.scm \ + scsh/glob.scm \ + scsh/here.scm \ + scsh/machine/bufpol.scm \ + scsh/machine/errno.scm \ + scsh/machine/fdflags.scm \ + scsh/machine/netconst.scm \ + scsh/machine/packages.scm \ + scsh/machine/signals.scm \ + scsh/machine/time_dep.scm \ + scsh/machine/tty-consts.scm \ + scsh/machine/waitcodes.scm \ + scsh/meta-arg.scm \ + scsh/network.scm \ + scsh/newports.scm \ + scsh/procobj.scm \ + scsh/pty.scm \ + scsh/rdelim.scm \ + scsh/re.scm \ + scsh/rw.scm \ + scsh/scsh-condition.scm \ + scsh/scsh-interfaces.scm \ + scsh/scsh-package.scm \ + scsh/scsh-read.scm \ + scsh/scsh-version.scm \ + scsh/scsh.scm \ + scsh/select.scm \ + scsh/startup.scm \ + scsh/stringcoll.scm \ + scsh/syntax-helpers.scm \ + scsh/syntax.scm \ + scsh/syscalls.scm \ + scsh/time.scm \ + scsh/top.scm \ + scsh/tty.scm \ + scsh/utilities.scm + +# scsh/dbm.scm db.scm ndbm.scm +# static.scm static-heap.scm static1.scm +# jcontrol + +# Bogus, but it makes the scm->c->o two-ply dependency work. +# Explicitly giving the .o/.c dependency also makes it go. +############################################################ +cig/libcig.c: cig/libcig.scm +scsh/flock.c: scsh/flock.scm +scsh/jcontrol2.c: scsh/jcontrol2.scm +scsh/network.c: scsh/network.scm +scsh/rdelim.c: scsh/rdelim.scm +scsh/re.c: scsh/re.scm +scsh/select.c: scsh/select.scm +scsh/syscalls.c: scsh/syscalls.scm +scsh/tty.c: scsh/tty.scm +scsh/time.c: scsh/time.scm + +scsh/scsh: scsh/scsh-tramp.c + $(CC) -o $@ $(CPPFLAGS) $(CFLAGS) \ + -DVM=\"$(LIB)/$(VM)\" \ + -DIMAGE=\"$(LIB)/scsh.image\" \ + scsh/scsh-tramp.c + +#JMG : should be ,open external-calls +scsh/scsh.image: $(VM) $(SCHEME) $(CIG).image + (echo ",translate =scheme48/ $(srcdir)/scheme/"; \ + echo ",batch on"; \ + echo ",load-package floatnums"; \ + echo ",open externals"; \ + echo "(lookup-all-externals)"; \ + echo ",config"; \ + echo ",load $(srcdir)/scsh/let-opt.scm"; \ + echo ",load $(srcdir)/scsh/scsh-interfaces.scm"; \ + echo ",load $(srcdir)/scsh/machine/packages.scm"; \ + echo ",load $(srcdir)/scsh/scsh-package.scm"; \ + echo ",load-package scsh"; \ + echo ",load-package events"; \ + echo ",load-package scsh-here-string-hax"; \ + echo ",translate =scheme48/ $(LIB)/"; \ + echo ",in scsh-level-0"; \ + echo "(autoreap-policy 'early)"; \ + echo ",user"; \ + echo ",open floatnums"; \ + echo ",open scsh"; \ + echo "(dump-scsh \"scsh/scsh.image\")") \ + | ./$(VM) -o ./$(VM) -i $(CIG).image + +#scsh/scsh.image: $(VM) $(SCHEME) $(CIG).image +# (echo ",translate =scheme48/ $(srcdir)/"; \ +# echo ",batch on"; \ +# echo ",load-package floatnums"; \ +# echo ",open externals"; \ +# echo "(lookup-all-externals)"; \ +# echo ",config"; \ +# echo ",load $(srcdir)/scsh/let-opt.scm"; \ +# echo ",load $(srcdir)/scsh/scsh-interfaces.scm"; \ +# echo ",load $(srcdir)/scsh/machine/packages.scm"; \ +# echo ",load $(srcdir)/scsh/scsh-package.scm"; \ +# echo ",load-package scsh"; \ +# echo ",load-package scsh-here-string-hax"; \ +# echo ",translate =scheme48/ $(LIB)/"; \ +# echo ",in scsh-level-0"; \ +# echo "(%install-scsh-handlers)"; \ +# echo "(autoreap-policy 'early)"; \ +# echo ",user"; \ +# echo ",open floatnums"; \ +# echo ",open scsh"; \ +# echo ",dump scsh/scsh.image") \ +# | ./$(VM) -o ./$(VM) -i $(CIG).image + +# Removed these lines from scsh/scsh.image rule so you don't lose so +# badly when you are debugging in scsh. -Olin 6/95 +# echo ",flush"; +# echo ",flush maps source names files table"; + +#scsh/scsh.runnable: scsh/scsh.image +# cig/image2script $(LIB)/$(VM) -o $(LIB)/$(VM) -h 1800000 \ +# < scsh/scsh.image > $@ +# -chmod +x $@ + +scsh/regexp/libregexp.a: + cd ./scsh/regexp; $(MAKE) + +scsh/scsh.vm: $(LIBSCSH) $(VM) scsh/scsh.image + ./$(VM) -o ./$(VM) -h 8000000 -i scsh/scsh.image \ + -lm ./vm/ps-interface.scm \ + -lm ./vm/interfaces.scm \ + -lm ./vm/package-defs.scm \ + -lm ./vm/s48-package-defs.scm \ + -dm -m static-heaps -e static-heap-linker \ + -s scsh/static.scm \ + -i scsh/scsh.image -o $@ + +install-scsh: scsh + $(RM) $(bindir)/$(RUNNABLE) + $(INSTALL_PROGRAM) $(srcdir)/scsh/scsh $(bindir)/$(RUNNABLE) + $(INSTALL_PROGRAM) $(srcdir)/scsh/scsh.image $(LIB)/scsh.image + $(INSTALL_PROGRAM) $(srcdir)/$(LIBSCSH) $(libdir)/$(LIBSCSH) + $(RANLIB) $(libdir)/$(LIBSCSH) + for f in $(srcdir)/scsh/*.scm; \ + do $(INSTALL_DATA) $$f $(LIB)/scsh/; done + +clean-scsh: + $(RM) scsh/*.o scsh/regexp/*.o scsh/machine/*.o scsh/*.image scsh/scsh + $(RM) $(LIBSCSH) scsh/scsh.vm + -cd scsh/regexp; $(MAKE) clean diff --git a/configure b/configure index be73f2e..1eb1def 100755 --- a/configure +++ b/configure @@ -9,7 +9,7 @@ # Defaults: ac_help= -ac_default_prefix=/usr/local +ac_default_prefix=~/install06 # Any additions from configure.in: # Initialize some variables set by options. diff --git a/configure.in b/configure.in index d7c1341..cca28cf 100644 --- a/configure.in +++ b/configure.in @@ -9,6 +9,11 @@ dnl decides that a char is not the same thing as an unsigned char. dnl - Bryan O'Sullivan 3/94 dnl Note, this test didn't work correctly on Sun's which take -cckr as a dnl synonym for -c. (HCC) + +dnl JMG: hack hack hack +AR=${AR-"ar cq"} + + define(S48_CFLAG_CKR, [dnl if test "z$GCC" = z; then AC_MSG_CHECKING([-cckr])