. ../config/system
. ../config/site

echo Building Makefile.local...
cat <<EOT >Makefile.local
# This Makefile was produced by running ./build in this directory.

SHELL=/bin/sh

CC= ${cc-cc}
CFLAGS= $cflags
LDFLAGS= $ldflags
LINTFLAGS= $lintflags

INC=	../include

H=	\$(INC)/config.h\\
	\$(INC)/param.h\\
	\$(INC)/object.h\\
	\$(INC)/extern.h\\
	\$(INC)/misc.h\\
	\$(INC)/stkmem.h\\
	\$(INC)/cstring.h

C=	autoload.c\\
	bignum.c\\
	bool.c\\
	char.c\\
	cont.c\\
	debug.c\\
	dump.c\\
	env.c\\
	error.c\\
	exception.c\\
	feature.c\\
	heap.c\\
	io.c\\
	list.c\\
	load.c\\
	main.c\\
	math.c\\
	prim.c\\
	print.c\\
	proc.c\\
	promise.c\\
	read.c\\
	special.c\\
	stab.c\\
	stkmem.c\\
	string.c\\
	symbol.c\\
	terminate.c\\
	type.c\\
	vector.c

O=	autoload.o\\
	bignum.o\\
	bool.o\\
	char.o\\
	cont.o\\
	debug.o\\
	dump.o\\
	env.o\\
	error.o\\
	exception.o\\
	feature.o\\
	heap.o\\
	io.o\\
	list.o\\
	load.o\\
	main.o\\
	math.o\\
	prim.o\\
	print.o\\
	proc.o\\
	promise.o\\
	read.o\\
	special.o\\
	stab.o\\
	stkmem.o\\
	string.o\\
	symbol.o\\
	terminate.o\\
	type.o\\
	vector.o

scheme:	\$(O)
	\$(CC) -o scheme \$(CFLAGS) \$(O) \$(LDFLAGS)

.c.o:
	\$(CC) \$(CFLAGS) -I\$(INC) -c \$<

autoload.o:	\$(H) autoload.c
bignum.o:	\$(H) bignum.c
bool.o:		\$(H) bool.c
char.o:		\$(H) char.c
cont.o:		\$(H) cont.c
debug.o:	\$(H) debug.c
dump.o:		\$(H) dump.c dump.ecoff.c dump.elf.c dump.vanilla.c
env.o:		\$(H) env.c
error.o:	\$(H) error.c
exception.o:	\$(H) exception.c
feature.o:	\$(H) feature.c
heap.o:		\$(H) heap.c
io.o:		\$(H) io.c
list.o:		\$(H) list.c
load.o:		\$(H) load.c load.rld.c load.ld.c load.shl.c
main.o:		\$(H) main.c
math.o:		\$(H) math.c
prim.o:		\$(H) prim.c
print.o:	\$(H) print.c
proc.o:		\$(H) proc.c
promise.o:	\$(H) promise.c
read.o:		\$(H) read.c
special.o:	\$(H) special.c
stab.o:		\$(H) stab.c stab.bsd.c stab.coff.c stab.ecoff.c stab.elf.c \\
                             stab.hp9k300.c stab.hp9k800.c stab.macho.c
stkmem.o:	\$(H) stkmem.c
string.o:	\$(H) string.c
symbol.o:	\$(H) symbol.c
terminate.o:	\$(H) terminate.c
type.o:		\$(H) type.c
vector.o:	\$(H) vector.c

install: scheme
	-@if [ ! -d $bin_dir ]; then \\
	    echo mkdir $bin_dir; \\
	    mkdir $bin_dir; \\
	fi
	cp scheme $bin_dir

lint:
	lint \$(LINTFLAGS) -I\$(INC) \$(C)

clean:
	rm -f *.o core

distclean:
	rm -f *.o core lint.out scheme Makefile.local
EOT
