include ../../config

ZLIBS = -I ../config
COQTOPOBJS=../config/coq_config.cmo usage.cmo coqtop.cmo
COQCOBJS=../config/coq_config.cmo usage.cmo coqc.cmo
MKTOPOBJS=../config/coq_config.cmo coqmktop.cmo

byte: $(COQTOPOBJS) $(COQCOBJS) $(MKTOPOBJS)
	$(CAMLLINK) $(ZLIBS) -custom unix.cma $(OSDEPLIBS) \
		$(COQTOPOBJS) -o coqtop
	$(CAMLLINK) $(ZLIBS) -custom unix.cma $(OSDEPLIBS) \
		$(COQCOBJS) -o coqc
	$(CAMLLINK) $(ZLIBS) -custom unix.cma $(OSDEPLIBS) str.cma \
		$(WITH_STR) $(MKTOPOBJS) -o coqmktop
	$(MAKE) install
	echo > byte

opt: $(COQTOPOBJS:.cmo=.cmx) $(COQCOBJS:.cmo=.cmx) $(MKTOPOBJS:.cmo=.cmx)
	$(CAMLOPTLINK) $(ZLIBS) unix.cmxa $(OSDEPLIBS) \
		$(COQTOPOBJS:.cmo=.cmx) -o coqtop
	$(CAMLOPTLINK) $(ZLIBS) unix.cmxa $(OSDEPLIBS) \
		$(COQCOBJS:.cmo=.cmx) -o coqc
	$(CAMLOPTLINK) $(ZLIBS) unix.cmxa $(OSDEPLIBS) str.cmxa \
		$(WITH_STR) $(MKTOPOBJS:.cmo=.cmx) -o coqmktop
	-$(STRIP) coqtop
	-$(STRIP) coqc
	-$(STRIP) coqmktop
	$(MAKE) install
	echo > opt

install:
	for script in coqtop$(EXE) coqc$(EXE) coqmktop$(EXE); do \
	  cp $$script $(COQTOP)/bin/$(ARCH)/$$script; \
	done

CAMLDEP=$(COQTOP)/bin/$(ARCH)/coqdep -c
ZFLAGS=$(ZLIBS) -I $(CAMLP4LIB) $(ZDEBUG)
OPTFLAGS=$(TIMEPROF)

clean:
	rm -f *.cm* *.o *.a

archclean:
	rm -f *.cmx *.o *.a

.SUFFIXES: .mli .ml .ml4 .cmo .cmi .cmx

.mli.cmi:
	$(CAMLC) $(ZFLAGS) $<

.ml.cmo:
	$(CAMLC) $(ZFLAGS) $<

.ml.cmx:
	$(CAMLOPTC) $(ZFLAGS) $<

.ml4.cmo:
	$(P4) -o $*.ppo  $<
	$(CAMLC) $(ZFLAGS) -impl $*.ppo
	rm $*.ppo

.ml4.cmx:
	$(P4) -o $*.ppo $< 
	$(CAMLOPTC) $(ZFLAGS) -impl $*.ppo
	rm $*.ppo

depend:
	rm -f .depend
	$(CAMLDEP) $(ZLIBS) *.ml* > .depend
	$(P4DEP) $(ZLIBS) *.ml* >> .depend

include .depend



