# on execute Boyer

include ../../configuration

ZFLAGS= -f -O fast 
# ZFLAGS= -g -K -C

Z2K2= $(BINDIR)/camlot
PROJET=../..

OBJS= terms.o rules.o boyer.o

PROG= ./boyer

test: terms.ki $(PROG)

terms.ki: terms.mli
	$(Z2K2) $(ZFLAGS) terms.mli

$(PROG): $(OBJS)
	$(Z2K2) $(ZFLAGS) $(OBJS) -o $(PROG)
	time $(PROG)

$(OBJS): %.o : %.ml
	$(Z2K2) $(ZFLAGS) -c $(@:.o=.ml) 

clean::
	$(RM) $(OBJS) $(OBJS:.o=.k2) $(OBJS:.o=.ki) $(OBJS:.o=.c)

scratch: clean
	$(RM) $(PROG)

# dependances

boyer.o: rules.o terms.ki
terms.o rules.o: terms.ki
$(OBJS) terms.ki: $(PROJET)/Include/z2k2.h $(PROJET)/Include/main.h \
	 $(Z2K2) $(PROJET)/Runtime/runtime.a \
         $(PROJET)/Lib/cautious.a $(PROJET)/Lib/lib.a $(PROJET)/GC/gc.a
