CMOFILES1=metasyntax.cmo variables.cmo constants.cmo declare.cmo pretty.cmo \
          searchisos.cmo command.cmo class.cmo record.cmo recordobj.cmo \
	  discharge.cmo

CMOFILES2=pfedit.cmo vernacinterp.cmo vernacentries.cmo vernac.cmo

CMOFILES3=line_oriented_parser.cmo protectedtoplevel.cmo coqtoplevel.cmo cmdobj.cmo

CMOFILES4=cmd_line.cmo version_searchisos.cmo cmd_searchisos_line.cmo

ZLIBS=-I ../launch -I ../lib/util -I ../config -I ../meta -I ../constr \
      -I ../proofs -I ../parsing -I ../typing

byte: $(CMOFILES1) $(CMOFILES2) mltop.cmo $(CMOFILES3) $(CMOFILES4) \
        env1.cma env2.cma

opt: $(CMOFILES1:.cmo=.cmx) $(CMOFILES2:.cmo=.cmx) mltop.cmx \
       $(CMOFILES3:.cmo=.cmx) $(CMOFILES4:.cmo=.cmx) env1.cmxa env2.cmxa

include ../../config
include ../Makefile.src
include .depend

mltop.cmo:
	$(P4) $(CAMLP4LIB)/pa_ifdef.cmo -DOpt -o $*.ppo $*.ml4
	$(CAMLC) $(ZFLAGS) -impl $*.ppo
	rm $*.ppo

mltop.cmx:
	$(P4) $(CAMLP4LIB)/pa_ifdef.cmo -o $*.ppo $*.ml4
	$(CAMLOPTC) $(ZFLAGS) -impl $*.ppo
	rm $*.ppo

env1.cma : $(CMOFILES1)
	$(CAMLLINK) -a -o $@ $(CMOFILES1)

env2.cma : $(CMOFILES2) mltop.cmo $(CMOFILES3)
	$(CAMLLINK) -a -o $@ $(CMOFILES2) mltop.cmo $(CMOFILES3)

env1.cmxa : $(CMOFILES1:.cmo=.cmx)
	$(CAMLOPTLINK) -a -o $@ $(CMOFILES1:.cmo=.cmx)

env2.cmxa : $(CMOFILES2:.cmo=.cmx) mltop.cmx $(CMOFILES3:.cmo=.cmx)
	$(CAMLOPTLINK) -a -o $@ $(CMOFILES2:.cmo=.cmx) mltop.cmx \
          $(CMOFILES3:.cmo=.cmx)

