220 lines
4.3 KiB
Plaintext
Executable File
220 lines
4.3 KiB
Plaintext
Executable File
. ../config/system
|
|
. ../config/site
|
|
|
|
case _$aout_format in
|
|
_coff) dump=dump-vanilla.c; stab=stab-coff.c;;
|
|
_ecoff) dump=dump-ecoff.c; stab=stab-ecoff.c;;
|
|
_xcoff) stab=stab-coff.c;;
|
|
_elf) dump=dump-elf.c; stab=stab-elf.c;;
|
|
_macho) stab=stab-macho.c;;
|
|
_hp9k) dump=dump-hp9k.c; stab='stab-hp9k300.c stab-hp9k800.c';;
|
|
_convex) stab='stab-convex.c';;
|
|
*) dump=dump-vanilla.c; stab=stab-bsd.c;;
|
|
esac
|
|
|
|
if [ _$load_obj != _ ]; then
|
|
load=load-${load_obj}.c
|
|
fi
|
|
|
|
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)/compat.h\\
|
|
\$(INC)/config.h\\
|
|
\$(INC)/cstring.h\\
|
|
\$(INC)/exception.h\\
|
|
\$(INC)/extern.h\\
|
|
\$(INC)/funcproto.h\\
|
|
\$(INC)/gc.h\\
|
|
\$(INC)/intern.h\\
|
|
\$(INC)/kernel.h\\
|
|
\$(INC)/misc.h\\
|
|
\$(INC)/object.h\\
|
|
\$(INC)/param.h\\
|
|
\$(INC)/stkmem.h\\
|
|
\$(INC)/type.h
|
|
|
|
C= autoload.c\\
|
|
bignum.c\\
|
|
bool.c\\
|
|
char.c\\
|
|
cont.c\\
|
|
cstring.c\\
|
|
debug.c\\
|
|
dump.c\\
|
|
env.c\\
|
|
error.c\\
|
|
exception.c\\
|
|
feature.c\\
|
|
heap.c\\
|
|
io.c\\
|
|
list.c\\
|
|
load.c\\
|
|
libelk.c\\
|
|
malloc.c\\
|
|
math.c\\
|
|
onfork.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
|
|
|
|
OCOMMON=\\
|
|
autoload.o\\
|
|
bignum.o\\
|
|
bool.o\\
|
|
char.o\\
|
|
cont.o\\
|
|
cstring.o\\
|
|
debug.o\\
|
|
dump.o\\
|
|
env.o\\
|
|
error.o\\
|
|
exception.o\\
|
|
feature.o\\
|
|
heap.o\\
|
|
io.o\\
|
|
list.o\\
|
|
load.o\\
|
|
malloc.o\\
|
|
math.o\\
|
|
onfork.o\\
|
|
prim.o\\
|
|
print.o\\
|
|
proc.o\\
|
|
promise.o\\
|
|
read.o\\
|
|
special.o\\
|
|
stkmem.o\\
|
|
string.o\\
|
|
symbol.o\\
|
|
terminate.o\\
|
|
type.o\\
|
|
vector.o
|
|
|
|
O1= main.o
|
|
O2= \$(OCOMMON) libelk2.o stab2.o
|
|
O3= \$(OCOMMON) libelk3.o stab2.o
|
|
|
|
all: libelk.so.0.0.0 libelk.a scheme
|
|
|
|
scheme: libelk.so.0.0.0 \$(O1)
|
|
\$(CC) -o \$@ \$(CFLAGS) \$(O1) -L. -lelk \$(LDFLAGS)
|
|
|
|
libelk.so.0.0.0: \$(O3)
|
|
\$(CC) -shared -fPIC -Wl,-soname,libelk.so.0 -o \$@ \$(O3) \$(LDFLAGS)
|
|
rm -f libelk.so.0 && ln -s libelk.so.0.0.0 libelk.so.0
|
|
rm -f libelk.so && ln -s libelk.so.0 libelk.so
|
|
|
|
libelk.a: \$(O3)
|
|
ar cru \$@ \$(O3)
|
|
|
|
standalone.a: \$(O2)
|
|
ar cru \$@ \$(O2)
|
|
|
|
standalone.o: \$(O2)
|
|
ld -r -o \$@ \$(O2)
|
|
chmod 644 \$@
|
|
|
|
module.a: \$(O3)
|
|
ar cru \$@ \$(O3)
|
|
|
|
module.o: \$(O3)
|
|
ld -r -o \$@ \$(O3)
|
|
chmod 644 \$@
|
|
|
|
.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
|
|
cstring.o: \$(H) cstring.c
|
|
debug.o: \$(H) debug.c
|
|
dump.o: \$(H) dump.c $dump
|
|
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 heap-sc.c heap-gen.c
|
|
io.o: \$(H) io.c
|
|
list.o: \$(H) list.c
|
|
load.o: \$(H) load.c $load
|
|
libelk.o: \$(H) libelk.c
|
|
malloc.o: \$(H) malloc.c
|
|
math.o: \$(H) math.c
|
|
onfork.o: \$(H) onfork.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
|
|
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
|
|
|
|
libelk2.o: \$(H) libelk.c
|
|
rm -f libelk2.c; ln libelk.c libelk2.c
|
|
\$(CC) -DINIT_OBJECTS \$(CFLAGS) -I\$(INC) -c libelk2.c
|
|
rm libelk2.c
|
|
|
|
stab2.o: \$(H) stab.c $stab
|
|
rm -f stab2.c; ln stab.c stab2.c
|
|
\$(CC) -DINIT_OBJECTS \$(CFLAGS) -I\$(INC) -c stab2.c
|
|
rm stab2.c
|
|
|
|
libelk3.o: \$(H) libelk.c
|
|
rm -f libelk3.c; ln libelk.c libelk3.c
|
|
\$(CC) -DINIT_OBJECTS -DNOMAIN \$(CFLAGS) -I\$(INC) -c libelk3.c
|
|
rm libelk3.c
|
|
|
|
install: scheme standalone.a module.a
|
|
-@if [ ! -d $install_dir/bin ]; then \\
|
|
echo mkdir $install_dir/bin; \\
|
|
mkdir $install_dir/bin; \\
|
|
fi
|
|
cp -d scheme $install_dir/bin
|
|
-@if [ ! -d $install_dir/lib ]; then \\
|
|
echo mkdir $install_dir/lib; \\
|
|
mkdir $install_dir/lib; \\
|
|
fi
|
|
cp -d libelk.a libelk.so libelk.so.* $install_dir/lib
|
|
|
|
lint:
|
|
lint \$(LINTFLAGS) -I\$(INC) \$(C)
|
|
|
|
clean:
|
|
rm -f *.o *.a core libelk2.c stab2.c libelk3.c
|
|
rm -f libelk.so.0.0.0 libelk.so.0 libelk.so libelk.a
|
|
|
|
distclean:
|
|
rm -f *.o *.a core libelk2.c stab2.c libelk3.c lint.out scheme Makefile.local
|
|
rm -f libelk.so.0.0.0 libelk.so.0 libelk.so libelk.a
|
|
EOT
|