##########################################################################
##  v      #                  The Coq Proof Assistant                   ##
## <O___,, # CNRS-Ecole Polytechnique-INRIA Futurs-Universite Paris Sud ##
##   \VV/  #                                                            ##
##    //   #   Makefile automagically generated by coq_makefile V8.2    ##
##########################################################################

# WARNING
#
# This Makefile has been automagically generated
# Edit at your own risks !
#
# END OF WARNING

#
# This Makefile was generated by the command line :
# coq_makefile AllFloat.v Closest2Plus.v Closest2Prop.v ClosestMult.v ClosestPlus.v ClosestProp.v Closest.v Digit.v Faux.v Fbound.v Fcomp.v Finduct.v Float.v Fmin.v Fnorm.v Fodd.v Fop.v FPred.v Fprop.v FroundMult.v FroundPlus.v FroundProp.v Fround.v FSucc.v MSBProp.v MSB.v Option.v Paux.v RND.v Rpow.v sTactic.v Zdivides.v Zenum.v Ct2/FboundI.v Ct2/FnormI.v Expansions/EFast2Sum.v Expansions/Fast2Diff.v Expansions/Fast2Sum.v Expansions/Fexp2.v Expansions/FexpAdd.v Expansions/FexpDiv.v Expansions/FexpPlus.v Expansions/Fexp.v Expansions/ThreeSum2.v Expansions/ThreeSumProps.v Expansions/TwoSum.v FnElem/Axpy.v FnElem/DoubleRound.v FnElem/FArgReduct2.v FnElem/FArgReduct3.v FnElem/FArgReduct4.v FnElem/FArgReduct.v FnElem/FIA64elem.v FnElem/FmaErrApprox.v FnElem/FmaErr.v FnElem/MinOrMax.v Others/DblRndOdd.v Others/Dekker.v Others/discriminant2.v Others/discriminant3.v Others/discriminant.v Others/Divnk.v Others/FmaEmul.v Others/FminOp.v Others/FroundDivSqrt.v Others/IEEE.v Others/PradixE.v Others/Veltkamp.v 
#

#########################
#                       #
# Libraries definition. #
#                       #
#########################

CAMLP4LIB:=$(shell $(CAMLBIN)camlp5 -where 2> /dev/null || $(CAMLBIN)camlp4 -where)
OCAMLLIBS:=-I $(CAMLP4LIB) -I .
COQLIBS:=-I . -I ./Ct2  -I ./Expansions  -I ./FnElem  -I ./Others
COQDOCLIBS:=

##########################
#                        #
# Variables definitions. #
#                        #
##########################

CAMLP4:=$(notdir $(CAMLP4LIB))
COQSRC:=$(shell $(COQBIN)coqc -where)
COQSRCLIBS:=-I $(COQSRC)
ZFLAGS:=$(OCAMLLIBS) $(COQSRCLIBS)
OPT:=
COQFLAGS:=-q $(OPT) $(COQLIBS) $(OTHERFLAGS) $(COQ_XML)
COQC:=$(COQBIN)coqc
COQDEP:=$(COQBIN)coqdep -c
GALLINA:=$(COQBIN)gallina
COQDOC:=$(COQBIN)coqdoc
CAMLC:=$(CAMLBIN)ocamlc -rectypes -c
CAMLOPTC:=$(CAMLBIN)ocamlopt -rectypes -c
CAMLLINK:=$(CAMLBIN)ocamlc -rectypes
CAMLOPTLINK:=$(CAMLBIN)ocamlopt -rectypes
GRAMMARS:=grammar.cma
CAMLP4EXTEND:=pa_extend.cmo pa_macro.cmo q_MLast.cmo
PP:=-pp "$(CAMLBIN)$(CAMLP4)o -I . -I $(COQSRC) $(CAMLP4EXTEND) $(GRAMMARS) -impl"

###################################
#                                 #
# Definition of the "all" target. #
#                                 #
###################################

VFILES:=AllFloat.v\
  Closest2Plus.v\
  Closest2Prop.v\
  ClosestMult.v\
  ClosestPlus.v\
  ClosestProp.v\
  Closest.v\
  Digit.v\
  Faux.v\
  Fbound.v\
  Fcomp.v\
  Finduct.v\
  Float.v\
  Fmin.v\
  Fnorm.v\
  Fodd.v\
  Fop.v\
  FPred.v\
  Fprop.v\
  FroundMult.v\
  FroundPlus.v\
  FroundProp.v\
  Fround.v\
  FSucc.v\
  MSBProp.v\
  MSB.v\
  Option.v\
  Paux.v\
  RND.v\
  Rpow.v\
  sTactic.v\
  Zdivides.v\
  Zenum.v\
  Ct2/FboundI.v\
  Ct2/FnormI.v\
  Expansions/EFast2Sum.v\
  Expansions/Fast2Diff.v\
  Expansions/Fast2Sum.v\
  Expansions/Fexp2.v\
  Expansions/FexpAdd.v\
  Expansions/FexpDiv.v\
  Expansions/FexpPlus.v\
  Expansions/Fexp.v\
  Expansions/ThreeSum2.v\
  Expansions/ThreeSumProps.v\
  Expansions/TwoSum.v\
  FnElem/Axpy.v\
  FnElem/DoubleRound.v\
  FnElem/FArgReduct2.v\
  FnElem/FArgReduct3.v\
  FnElem/FArgReduct4.v\
  FnElem/FArgReduct.v\
  FnElem/FIA64elem.v\
  FnElem/FmaErrApprox.v\
  FnElem/FmaErr.v\
  FnElem/MinOrMax.v\
  Others/DblRndOdd.v\
  Others/Dekker.v\
  Others/discriminant2.v\
  Others/discriminant3.v\
  Others/discriminant.v\
  Others/Divnk.v\
  Others/FmaEmul.v\
  Others/FminOp.v\
  Others/FroundDivSqrt.v\
  Others/IEEE.v\
  Others/PradixE.v\
  Others/Veltkamp.v
VOFILES:=$(VFILES:.v=.vo)
GLOBFILES:=$(VFILES:.v=.glob)
VIFILES:=$(VFILES:.v=.vi)
GFILES:=$(VFILES:.v=.g)
HTMLFILES:=$(VFILES:.v=.html)
GHTMLFILES:=$(VFILES:.v=.g.html)

all: $(VOFILES) 
spec: $(VIFILES)

gallina: $(GFILES)

html: $(GLOBFILES) $(VFILES)
	- mkdir html
	$(COQDOC) -toc -html $(COQDOCLIBS) -d html $(VFILES)

gallinahtml: $(GLOBFILES) $(VFILES)
	- mkdir html
	$(COQDOC) -toc -html -g $(COQDOCLIBS) -d html $(VFILES)

all.ps: $(VFILES)
	$(COQDOC) -toc -ps $(COQDOCLIBS) -o $@ `$(COQDEP) -sort -suffix .v $(VFILES)`

all-gal.ps: $(VFILES)
	$(COQDOC) -toc -ps -g $(COQDOCLIBS) -o $@ `$(COQDEP) -sort -suffix .v $(VFILES)`



####################
#                  #
# Special targets. #
#                  #
####################

.PHONY: all opt byte archclean clean install depend html

%.vo %.glob: %.v
	$(COQC) -dump-glob $*.glob $(COQDEBUG) $(COQFLAGS) $*

%.vi: %.v
	$(COQC) -i $(COQDEBUG) $(COQFLAGS) $*

%.g: %.v
	$(GALLINA) $<

%.tex: %.v
	$(COQDOC) -latex $< -o $@

%.html: %.v %.glob
	$(COQDOC) -glob-from $*.glob  -html $< -o $@

%.g.tex: %.v
	$(COQDOC) -latex -g $< -o $@

%.g.html: %.v %.glob
	$(COQDOC) -glob-from $*.glob -html -g $< -o $@

%.v.d: %.v
	$(COQDEP) -glob -slash $(COQLIBS) "$<" > "$@" || ( RV=$$?; rm -f "$@"; exit $${RV} )

byte:
	$(MAKE) all "OPT:=-byte"

opt:
	$(MAKE) all "OPT:=-opt"

install:
	mkdir -p `$(COQC) -where`/user-contrib
	cp -f $(VOFILES) `$(COQC) -where`/user-contrib

clean:
	rm -f *.cmo *.cmi *.cmx *.o $(VOFILES) $(VIFILES) $(GFILES) *~
	rm -f all.ps all-gal.ps all.glob $(VFILES:.v=.glob) $(HTMLFILES) $(GHTMLFILES) $(VFILES:.v=.tex) $(VFILES:.v=.g.tex) $(VFILES:.v=.v.d)
	- rm -rf html

archclean:
	rm -f *.cmx *.o


-include $(VFILES:.v=.v.d)
.SECONDARY: $(VFILES:.v=.v.d)

# WARNING
#
# This Makefile has been automagically generated
# Edit at your own risks !
#
# END OF WARNING

