Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/17/84; site bcsaic.UUCP
Path: utzoo!watmath!clyde!burl!ulysses!mhuxr!mhuxn!ihnp4!houxm!vax135!cornell!uw-beaver!ssc-vax!bcsaic!ted
From: ted@bcsaic.UUCP (ted jardine)
Newsgroups: net.lang.lisp
Subject: Re: 'make'ing Franz LISP
Message-ID: <208@bcsaic.UUCP>
Date: Mon, 12-Aug-85 14:46:33 EDT
Article-I.D.: bcsaic.208
Posted: Mon Aug 12 14:46:33 1985
Date-Received: Sat, 17-Aug-85 15:31:37 EDT
References: <881@vax2.fluke.UUCP>
Reply-To: ted@bcsaic.UUCP (ted jardine)
Distribution: net
Organization: Boeing Computer Services AI Center, Seattle
Lines: 34
Summary: 

In article <881@vax2.fluke.UUCP> cassidy@fluke.UUCP (Rion Cassidy) writes:
>I am attempting to write a Makefile for a rather large LISP program that
>includes about 20 modules whose total size is over 200k.  I have used make for
>'c' programs, but LISP is a little different and would appreciate any advice I
>can get on 'make'-ing  a LISP program.
>
>It appears that the real problem is that Liszt doesn't link modules together
>as does the 'c' compiler, hence no single executable file causing all the
>object modules to be tied together.  It does seem to me that the make system
>should still work for this sort of situation, however; it just isn't real
>obvious how at the moment.
>...

It is relatively straight-forward to get Liszt invoked on each module, as
you point out.  What I have used is a sort of 'trick'.  After listing the
depencies for the total program, let's call it 'abc', the following can be
done:
	abc: xyz.o pqr.o ... def.o
		echo "(progn (load 'xyz) \
			     ...         \
			     (load 'def) \
			     (dumplisp abc) \
		      )" | lisp

The progn expression will be passed via the pipe and appear as stdin content
to Lisp.  Lisp will eval as part of the read-eval-print loop, loading each
of the modules and then writing the lisp environment to the file abc.  Such
things as fasl and its kin can be used in the progn expression as well.  The
reverse slants at the end of each line keep the newline from being effective.

TJ (with Amazing Grace) The Piper
(aka Ted Jardine)
Boeing Artificial Intelligence Center
...uw-beaver!uw-june!bcsaic!ted