# Remove -Bstatic on non-Sun systems
# Use -systype bsd43 on MIPS systems
CFLAGS = -O -Bstatic

OBJECTS= alias.o bool.o chstr.o long.o long_mult.o mark_roots.o \
	 short.o void.o comb_float.o array.o call_russell.o \
	 type_constr.o misc.o ref.o list.o lazy_list.o file.o callcc.o \
	 main.o startup.o BigNum/BigNum.a gc/gc.a 

rrt0.o: $(OBJECTS)
	-ld -r -o rrt0.o $(OBJECTS)

comb_float.o: float.o sfloat.o
	ld -r float.o sfloat.o -lm
	mv a.out comb_float.o

$(OBJECTS): runtime.h gc/gc.h

chstr.o misc.o array.o alias.o bool.o short.o long.o void.o ref.o list.o lazy_list.o file.o alloc.o float.o call_russell.o: types.h

startup.o main.o: initenv.cpp types.h

gc/gc.a:
	cd gc; make gc.a

BigNum/BigNum.a:
	echo "BigNum not explicitly made; using generic but slow implementation"
	cd BigNum; make C32
