# !!! This is a generated file, don't edit !!!
BIGLOO=bigloo1.9c
LIBRARYNAME=$(BIGLOO)
CC=gcc
CFLAGS=
BIN=../bin
AR=ar
ARFLAGS=qcv
LD=ld -G
GC_DIR=../gc-boehm

OBJECTS_U=.Olib_u/Mlib/mach_dep.o .Olib_u/Clib/init-obj.o .Olib_u/Clib/main.o .Olib_u/Clib/cerror.o .Olib_u/Clib/cports.o .Olib_u/Clib/cstring.o .Olib_u/Clib/csymbol.o .Olib_u/Clib/cvector.o .Olib_u/Clib/writer.o .Olib_u/Clib/apply.o .Olib_u/Clib/cstruct.o .Olib_u/Clib/system.o .Olib_u/Clib/control.o .Olib_u/Clib/ceval.o .Olib_u/Clib/hash.o .Olib_u/Clib/trace.o .Olib_u/Clib/callcc.o .Olib_u/Clib/cbinary.o .Olib_u/Clib/cforeign.o .Olib_u/Clib/inline-alloc.o .Olib_u/Clib/cdsssl.o .Olib_u/Clib/cucs2.o .Olib_u/Clib/cunicode.o .Olib_u/Clib/cprocess.o .Olib_u/Ieee/boolean.o .Olib_u/Ieee/equiv.o .Olib_u/Ieee/pair-list.o .Olib_u/Ieee/char.o .Olib_u/Ieee/string.o .Olib_u/Ieee/control.o .Olib_u/Ieee/number.o .Olib_u/Ieee/fixnum.o .Olib_u/Ieee/flonum.o .Olib_u/Ieee/port.o .Olib_u/Ieee/vector.o .Olib_u/Ieee/symbol.o .Olib_u/Ieee/input.o .Olib_u/Ieee/output.o .Olib_u/Ieee/control5.o                  .Olib_u/R5rs/init5.o .Olib_u/R5rs/expand5.o .Olib_u/R5rs/misc5.o .Olib_u/R5rs/syntaxenv5.o .Olib_u/R5rs/usual5.o .Olib_u/R5rs/prefs5.o .Olib_u/R5rs/syntaxrules5.o                  .Olib_u/Llib/bexit.o .Olib_u/Llib/type.o .Olib_u/Llib/bigloo.o .Olib_u/Llib/error.o .Olib_u/Llib/struct.o .Olib_u/Llib/os.o .Olib_u/Llib/hash.o .Olib_u/Llib/tvector.o .Olib_u/Llib/bit.o .Olib_u/Llib/binary.o .Olib_u/Llib/intext.o .Olib_u/Llib/foreign.o .Olib_u/Llib/object.o .Olib_u/Llib/dsssl.o .Olib_u/Llib/ucs2.o .Olib_u/Llib/unicode.o .Olib_u/Llib/process.o .Olib_u/Read/reader.o .Olib_u/Rgc/runtime.o .Olib_u/Rgc/rexpand.o .Olib_u/Rgc/rules.o .Olib_u/Rgc/tree.o .Olib_u/Rgc/dfa.o .Olib_u/Rgc/grammar.o .Olib_u/Rgc/trap.o .Olib_u/Rgc/automata.o .Olib_u/Rgc/accept.o .Olib_u/Rgc/cstate.o .Olib_u/Rgc/ustate.o .Olib_u/Rgc/optimize.o .Olib_u/Rgc/transition.o .Olib_u/Pp/pp.o .Olib_u/Eval/eval.o .Olib_u/Eval/expand.o .Olib_u/Eval/expanders.o .Olib_u/Eval/expd-let.o .Olib_u/Eval/expd-bool.o .Olib_u/Eval/expd-define.o .Olib_u/Eval/expd-case.o .Olib_u/Eval/expd-do.o .Olib_u/Eval/expd-try.o .Olib_u/Eval/expd-struct.o .Olib_u/Eval/evmeaning.o .Olib_u/Eval/evcompile.o .Olib_u/Eval/evenv.o .Olib_u/Eval/progn.o .Olib_u/Eval/macro.o .Olib_u/Eval/expd-quote.o .Olib_u/Eval/evprimop.o .Olib_u/Match/compiler.o .Olib_u/Match/descr.o .Olib_u/Match/mexpand.o .Olib_u/Match/normalize.o .Olib_u/Match/s2cfun.o .Olib_u/Lalr/driver.o .Olib_u/Lalr/gen.o .Olib_u/Lalr/global.o .Olib_u/Lalr/lalr.o .Olib_u/Lalr/rewrite.o .Olib_u/Lalr/util.o

OBJECTS=.Olib/Mlib/mach_dep.o .Olib/Clib/init-obj.o .Olib/Clib/main.o .Olib/Clib/cerror.o .Olib/Clib/cports.o .Olib/Clib/cstring.o .Olib/Clib/csymbol.o .Olib/Clib/cvector.o .Olib/Clib/writer.o .Olib/Clib/apply.o .Olib/Clib/cstruct.o .Olib/Clib/system.o .Olib/Clib/control.o .Olib/Clib/ceval.o .Olib/Clib/hash.o .Olib/Clib/trace.o .Olib/Clib/callcc.o .Olib/Clib/cbinary.o .Olib/Clib/cforeign.o .Olib/Clib/inline-alloc.o .Olib/Clib/cdsssl.o .Olib/Clib/cucs2.o .Olib/Clib/cunicode.o .Olib/Clib/cprocess.o .Olib/Ieee/boolean.o .Olib/Ieee/equiv.o .Olib/Ieee/pair-list.o .Olib/Ieee/char.o .Olib/Ieee/string.o .Olib/Ieee/control.o .Olib/Ieee/number.o .Olib/Ieee/fixnum.o .Olib/Ieee/flonum.o .Olib/Ieee/port.o .Olib/Ieee/vector.o .Olib/Ieee/symbol.o .Olib/Ieee/input.o .Olib/Ieee/output.o .Olib/Ieee/control5.o                  .Olib_u/R5rs/init5.o .Olib_u/R5rs/expand5.o .Olib_u/R5rs/misc5.o .Olib_u/R5rs/syntaxenv5.o .Olib_u/R5rs/usual5.o .Olib_u/R5rs/prefs5.o .Olib_u/R5rs/syntaxrules5.o                  .Olib/Llib/bexit.o .Olib/Llib/type.o .Olib/Llib/bigloo.o .Olib/Llib/error.o .Olib/Llib/struct.o .Olib/Llib/os.o .Olib/Llib/hash.o .Olib/Llib/tvector.o .Olib/Llib/bit.o .Olib/Llib/binary.o .Olib/Llib/intext.o .Olib/Llib/foreign.o .Olib/Llib/object.o .Olib/Llib/dsssl.o .Olib/Llib/ucs2.o .Olib/Llib/unicode.o .Olib/Llib/process.o .Olib_u/Read/reader.o .Olib_u/Rgc/runtime.o .Olib_u/Rgc/rexpand.o .Olib_u/Rgc/rules.o .Olib_u/Rgc/tree.o .Olib_u/Rgc/dfa.o .Olib_u/Rgc/grammar.o .Olib_u/Rgc/trap.o .Olib_u/Rgc/automata.o .Olib_u/Rgc/accept.o .Olib_u/Rgc/cstate.o .Olib_u/Rgc/ustate.o .Olib_u/Rgc/optimize.o .Olib_u/Rgc/transition.o .Olib_u/Pp/pp.o .Olib_u/Eval/eval.o .Olib_u/Eval/expand.o .Olib_u/Eval/expanders.o .Olib_u/Eval/expd-let.o .Olib_u/Eval/expd-bool.o .Olib_u/Eval/expd-define.o .Olib_u/Eval/expd-case.o .Olib_u/Eval/expd-do.o .Olib_u/Eval/expd-try.o .Olib_u/Eval/expd-struct.o .Olib_u/Eval/evmeaning.o .Olib_u/Eval/evcompile.o .Olib_u/Eval/evenv.o .Olib_u/Eval/progn.o .Olib_u/Eval/macro.o .Olib_u/Eval/expd-quote.o .Olib_u/Eval/evprimop.o .Olib_u/Match/compiler.o .Olib_u/Match/descr.o .Olib_u/Match/mexpand.o .Olib_u/Match/normalize.o .Olib_u/Match/s2cfun.o .Olib_u/Lalr/driver.o .Olib_u/Lalr/gen.o .Olib_u/Lalr/global.o .Olib_u/Lalr/lalr.o .Olib_u/Lalr/rewrite.o .Olib_u/Lalr/util.o

heap:
	@- rm -f ../lib/bigloo1.9c.heap
	@ BIGLOOLIB=../lib; export BIGLOOLIB; \
	    $(BIN)/$(BIGLOO) -unsafe -q -mkheap -mklib  \
	    Llib/make-lib.scm -heap bigloo1.9c.heap

libs: ../lib/bigloo1.9c.h ../lib/bigloo_cfg1.9c.h
	$(MAKE) -f Dmakefile libgc LD="$(LD)" LIBRARYNAME="$(LIBRARYNAME)"
	$(MAKE) -f Dmakefile lib_u LD="$(LD)" LIBRARYNAME="$(LIBRARYNAME)"
	$(MAKE) -f Dmakefile lib LD="$(LD)" LIBRARYNAME="$(LIBRARYNAME)"

lib_u: lib_u.a lib_u.so
lib: lib.a lib.so

lib_u.a: $(OBJECTS_U)
	$(AR) $(ARFLAGS) ../lib/lib$(LIBRARYNAME)1.9c_u.a $(OBJECTS_U)
	$(RANLIB) ../lib/lib$(LIBRARYNAME)1.9c_u.a

lib_u.so: $(OBJECTS_U)
	$(LD) -o ../lib/lib$(LIBRARYNAME)1.9c_u.so $(OBJECTS_U) -lm -lc

lib.a: $(OBJECTS)
	$(AR) $(ARFLAGS) ../lib/lib$(LIBRARYNAME)1.9c.a $(OBJECTS)
	$(RANLIB) ../lib/lib$(LIBRARYNAME)1.9c.a

lib.so: $(OBJECTS)
	$(LD) -o ../lib/lib$(LIBRARYNAME)1.9c.so $(OBJECTS) -lm -lc

libgc: libgc.a libgc.so

libgc.a:
	@ (cd $(GC_DIR); $(MAKE) gc.a CC=gcc \
	   CFLAGS="-O2 -DSILENT -DNO_SIGNALS -DNO_DEBUGGING")
	@ cp $(GC_DIR)/gc.a ../lib/libgc.a; $(RANLIB) ../lib/libgc.a

libgc.so:
	@ (cd $(GC_DIR); $(MAKE) libmsgc.so LD="$(LD)")
	@ cp $(GC_DIR)/libgc.so ../lib/libgc.so

clean:
	@- rm -f $(OBJECTS) $(OBJECTS_U)
	@- rm -f ../lib/*

.Olib_u/%.o: %.c
	$(CC) -I../lib -I../gc-boehm $(CFLAGS) $*.c -c && mv `basename $*.o` .Olib_u/$*.o
.Olib_u/%.o: .Olib_u/%.c
	$(CC) -I../lib -I../gc-boehm $(CFLAGS) .Olib_u/$*.c -c && mv `basename $*.o` .Olib_u/$*.o
.Olib/%.o: %.c
	$(CC) -I../lib -I../gc-boehm $(CFLAGS) $*.c -c && mv `basename $*.o` .Olib/$*.o
.Olib/%.o: .Olib/%.c
	$(CC) -I../lib -I../gc-boehm $(CFLAGS) .Olib/$*.c -c && mv `basename $*.o` .Olib/$*.o

.Olib_u/Mlib/mach_dep.o: Mlib/mach_dep.c              \
                         Mlib/sparc_sunos5_mach_dep.s \
                         Mlib/sparc_sunos4_mach_dep.s \
                         ../bin/if_mach               \
                         ../bin/if_not_there
	@ echo "Mlib/mach_dep.c:"
	@-rm -f .Olib_u/Mlib/mach_dep.o
	@ ../bin/if_mach sparc sunos5 $(AS) Mlib/sparc_sunos5_mach_dep.s -o sparc_sunos5_mach_dep.o
	@ ../bin/if_mach sparc sunos5 mv sparc_sunos5_mach_dep.o .Olib_u/Mlib/mach_dep.o
	@ ../bin/if_mach sparc sunos4 $(AS) Mlib/sparc_sunos4_mach_dep.s -o sparc_sunos4_mach_dep.o
	@ ../bin/if_mach sparc sunos4 mv sparc_sunos4_mach_dep.o .Olib_u/Mlib/mach_dep.o
	@ ../bin/if_not_there .Olib_u/Mlib/mach_dep.o \
          $(CC) -I../lib -I../gc-boehm -c $(CFLAGS) Mlib/mach_dep.c
	@ ../bin/if_not_there .Olib_u/Mlib/mach_dep.o mv mach_dep.o .Olib_u/Mlib/mach_dep.o

.Olib_u/Clib/inline-alloc.o: Clib/inline-alloc.c      \
                        Mlib/alpha_osf_inline-alloc.s \
                        ../bin/if_mach                \
                        ../bin/if_not_there
	@ ../bin/if_mach alpha osf echo "Mlib/alpha_osf_inline-alloc.s:"
	@ rm -f .Olib_u/Clib/inline-alloc.o
	@ ../bin/if_mach alpha osf $(AS) -O Mlib/alpha_osf_inline-alloc.s -o alpha_osf_inline-alloc.o
	@ ../bin/if_mach alpha osf mv alpha_osf_inline-alloc.o .Olib_u/Clib/inline-alloc.o
	@ ../bin/if_not_there .Olib_u/Clib/inline-alloc.o echo "Clib/inline-alloc.c:"
	@ ../bin/if_not_there .Olib_u/Clib/inline-alloc.o \
          $(CC) -I../lib -I../gc-boehm -c $(CFLAGS) Clib/inline-alloc.c -o .Olib_u/Clib/inline-alloc.o
	@ ../bin/if_not_there .Olib_u/Clib/inline-alloc.o \
            mv inline-alloc.o .Olib_u/Clib/inline-alloc.o

.Olib/Mlib/mach_dep.o: Mlib/mach_dep.c              \
                         Mlib/sparc_sunos5_mach_dep.s \
                         Mlib/sparc_sunos4_mach_dep.s \
                         ../bin/if_mach               \
                         ../bin/if_not_there
	@ echo "Mlib/mach_dep.c:"
	@-rm -f .Olib/Mlib/mach_dep.o
	@ ../bin/if_mach sparc sunos5 $(AS) Mlib/sparc_sunos5_mach_dep.s -o sparc_sunos5_mach_dep.o
	@ ../bin/if_mach sparc sunos5 mv sparc_sunos5_mach_dep.o .Olib/Mlib/mach_dep.o
	@ ../bin/if_mach sparc sunos4 $(AS) Mlib/sparc_sunos4_mach_dep.s -o sparc_sunos4_mach_dep.o
	@ ../bin/if_mach sparc sunos4 mv sparc_sunos4_mach_dep.o .Olib/Mlib/mach_dep.o
	@ ../bin/if_not_there .Olib/Mlib/mach_dep.o \
          $(CC) -I../lib -I../gc-boehm -c $(CFLAGS) Mlib/mach_dep.c
	@ ../bin/if_not_there .Olib/Mlib/mach_dep.o mv mach_dep.o .Olib/Mlib/mach_dep.o

.Olib/Clib/inline-alloc.o: Clib/inline-alloc.c      \
                        Mlib/alpha_osf_inline-alloc.s \
                        ../bin/if_mach                \
                        ../bin/if_not_there
	@ ../bin/if_mach alpha osf echo "Mlib/alpha_osf_inline-alloc.s:"
	@ rm -f .Olib/Clib/inline-alloc.o
	@ ../bin/if_mach alpha osf $(AS) -O Mlib/alpha_osf_inline-alloc.s -o alpha_osf_inline-alloc.o
	@ ../bin/if_mach alpha osf mv alpha_osf_inline-alloc.o .Olib/Clib/inline-alloc.o
	@ ../bin/if_not_there .Olib/Clib/inline-alloc.o echo "Clib/inline-alloc.c:"
	@ ../bin/if_not_there .Olib/Clib/inline-alloc.o \
          $(CC) -I../lib -I../gc-boehm -c $(CFLAGS) Clib/inline-alloc.c -o .Olib/Clib/inline-alloc.o
	@ ../bin/if_not_there .Olib/Clib/inline-alloc.o \
            mv inline-alloc.o .Olib/Clib/inline-alloc.o

../bin/if_mach: ../tools/if_mach.c
	@ $(CC) $(CFLAGS) -o ../bin/if_mach ../tools/if_mach.c

../bin/if_not_there: ../tools/if_not_there.c
	@ $(CC) $(CFLAGS) -o ../bin/if_not_there ../tools/if_not_there.c

../lib/bigloo1.9c.h: Include/bigloo.h
	cat Include/bigloo.h | sed -e s,bigloo_cfg,bigloo_cfg1.9c, > $@

../lib/bigloo_cfg1.9c.h: Include/bigloo_cfg.h
	cp Include/bigloo_cfg.h  $@
