# makefile for library

MV= /bin/mv
RM= /bin/rm -f
CAT= /bin/cat
AR= /bin/ar
RANLIB= ranlib
DIR= LIB/$(TYPE)

.SUFFIXES: .O .o

LIB/libglib$(TYPE).a: \
	$(DIR)/_kernel.o \
	$(DIR)/_system.o \
	$(DIR)/_errors.o \
	$(DIR)/_repr.o \
	$(DIR)/_multi.o \
	$(DIR)/_numbers.o \
	$(DIR)/_ports.o \
	$(DIR)/_eval.o \
	$(DIR)/_standard.o \
	$(DIR)/_nonstandard.o
	$(RM) LIB/libglib$(TYPE).a
	$(AR) rc LIB/libglib$(TYPE).a $(DIR)/*.o
	$(RANLIB) LIB/libglib$(TYPE).a
	
clean:
	$(RM) $(DIR)/* LIB/libglib*

$(DIR)/_kernel.O: \
	LOADER/params.h \
	LOADER/gambit.h \
	LOADER/opcodes.h \
	src/LIB/_kernel.s
	$(RM) $(DIR)/_kernel.O temp.s
	$(CAT) LOADER/params.h LOADER/gambit.h LOADER/opcodes.h src/LIB/_kernel.s > temp.s
	AS src/o_to_O/o_to_O.c temp.s $(DIR)/_kernel.O $(CPP_)
	$(RM) temp.s

$(DIR)/_system.O: src/LIB/header.scm src/LIB/config.scm src/LIB/_system.scm
	gsc src/LIB/_system $(GSC_) -- -h12000
	$(MV) src/LIB/_system.O $(DIR)

$(DIR)/_errors.O: src/LIB/header.scm src/LIB/config.scm src/LIB/_errors.scm
	gsc src/LIB/_errors $(GSC_) -- -h12000
	$(MV) src/LIB/_errors.O $(DIR)

$(DIR)/_repr.O: src/LIB/header.scm src/LIB/config.scm src/LIB/_repr.scm
	gsc src/LIB/_repr $(GSC_) -- -h12000
	$(MV) src/LIB/_repr.O $(DIR)

$(DIR)/_multi.O: src/LIB/header.scm src/LIB/config.scm src/LIB/_multi.scm
	gsc src/LIB/_multi $(GSC_) -- -h12000
	$(MV) src/LIB/_multi.O $(DIR)

$(DIR)/_numbers.O: src/LIB/header.scm src/LIB/config.scm src/LIB/_numbers.scm
	gsc src/LIB/_numbers $(GSC_) -- -h12000
	$(MV) src/LIB/_numbers.O $(DIR)

$(DIR)/_ports.O: src/LIB/header.scm src/LIB/config.scm src/LIB/_ports.scm
	gsc src/LIB/_ports $(GSC_) -- -h12000
	$(MV) src/LIB/_ports.O $(DIR)

$(DIR)/_eval.O: src/LIB/header.scm src/LIB/config.scm src/LIB/_eval.scm
	gsc src/LIB/_eval $(GSC_) -- -h11500
	$(MV) src/LIB/_eval.O $(DIR)

$(DIR)/_standard.O: src/LIB/header.scm src/LIB/config.scm src/LIB/_standard.scm
	gsc src/LIB/_standard $(GSC_) -- -h12000
	$(MV) src/LIB/_standard.O $(DIR)

$(DIR)/_nonstandard.O: src/LIB/header.scm src/LIB/config.scm src/LIB/_nonstandard.scm
	gsc src/LIB/_nonstandard $(GSC_) -- -h12000
	$(MV) src/LIB/_nonstandard.O $(DIR)

.O.o:
	BIN/gcv $*
