##############################################################################
##                 The Calculus of Inductive Constructions                  ##
##                                                                          ##
##                                Projet Coq                                ##
##                                                                          ##
##                     INRIA                        ENS-CNRS                ##
##              Rocquencourt                        Lyon                    ##
##                                                                          ##
##                                  Coq V7                                  ##
##                                                                          ##
##                                                                          ##
##############################################################################

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

#
# This Makefile was generated by the command line :
# coq_makefile -I . Assertion.v Assertion_Lemmas.v Assertion_Lemmas2.v Assertion_Lemmas3.v Assertion_Lemmas4.v Assertion_Lemmas5.v Arith_Lemmas.v Coqlib.v ListT.v Machine.v Map.v Mem_Lemmas.v MultiMapT.v OpSem_Lemmas.v OpSem_Lemmas2.v Operational_Semantics.v Reg.v ./CAP0 ./SCAP ./miniOS 
#

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

CAMLP4LIB=`camlp4 -where`
COQSRC=-I $(COQTOP)/kernel -I $(COQTOP)/lib \
  -I $(COQTOP)/library -I $(COQTOP)/parsing \
  -I $(COQTOP)/pretyping -I $(COQTOP)/interp \
  -I $(COQTOP)/proofs -I $(COQTOP)/syntax -I $(COQTOP)/tactics \
  -I $(COQTOP)/toplevel -I $(COQTOP)/contrib/correctness \
  -I $(COQTOP)/contrib/extraction -I $(COQTOP)/contrib/field \
  -I $(COQTOP)/contrib/fourier -I $(COQTOP)/contrib/graphs \
  -I $(COQTOP)/contrib/interface -I $(COQTOP)/contrib/jprover \
  -I $(COQTOP)/contrib/omega -I $(COQTOP)/contrib/romega \
  -I $(COQTOP)/contrib/ring -I $(COQTOP)/contrib/xml \
  -I $(CAMLP4LIB)
ZFLAGS=$(OCAMLLIBS) $(COQSRC)
OPT=
COQFLAGS=-q $(OPT) $(COQLIBS) $(OTHERFLAGS) $(COQ_XML)
COQC=$(COQBIN)coqc
GALLINA=gallina
COQDOC=$(COQBIN)coqdoc
CAMLC=ocamlc -c
CAMLOPTC=ocamlopt -c
CAMLLINK=ocamlc
CAMLOPTLINK=ocamlopt
COQDEP=$(COQBIN)coqdep -c
GRAMMARS=grammar.cma
CAMLP4EXTEND=pa_extend.cmo pa_ifdef.cmo q_MLast.cmo
PP=-pp "camlp4o -I . -I $(COQTOP)/parsing $(CAMLP4EXTEND) $(GRAMMARS) -impl"

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

OCAMLLIBS=-I .\
  -I .
COQLIBS=-I .\
  -I .

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

VFILES=Assertion.v\
  Assertion_Lemmas.v\
  Assertion_Lemmas2.v\
  Assertion_Lemmas3.v\
  Assertion_Lemmas4.v\
  Assertion_Lemmas5.v\
  Arith_Lemmas.v\
  Coqlib.v\
  ListT.v\
  Machine.v\
  Map.v\
  Mem_Lemmas.v\
  MultiMapT.v\
  OpSem_Lemmas.v\
  OpSem_Lemmas2.v\
  Operational_Semantics.v\
  Reg.v
VOFILES=$(VFILES:.v=.vo)
VIFILES=$(VFILES:.v=.vi)
GFILES=$(VFILES:.v=.g)
HTMLFILES=$(VFILES:.v=.html)
GHTMLFILES=$(VFILES:.v=.g.html)

all: Assertion.vo\
  Assertion_Lemmas.vo\
  Assertion_Lemmas2.vo\
  Assertion_Lemmas3.vo\
  Assertion_Lemmas4.vo\
  Assertion_Lemmas5.vo\
  Arith_Lemmas.vo\
  Coqlib.vo\
  ListT.vo\
  Machine.vo\
  Map.vo\
  Mem_Lemmas.vo\
  MultiMapT.vo\
  OpSem_Lemmas.vo\
  OpSem_Lemmas2.vo\
  Operational_Semantics.vo\
  Reg.vo\
  ./CAP0\
  ./SCAP\
  ./miniOS\
  ./examples

spec: $(VIFILES)

gallina: $(GFILES)

html: $(HTMLFILES)

gallinahtml: $(GHTMLFILES)

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

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



###################
#                 #
# Subdirectories. #
#                 #
###################

./CAP0:
	cd ./CAP0 ; $(MAKE) all

./SCAP:
	cd ./SCAP ; $(MAKE) all

./miniOS:
	cd ./miniOS ; $(MAKE) all

./examples:
	cd ./examples ; $(MAKE) all

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

.PHONY: all opt byte archclean clean install depend html ./CAP0 ./SCAP ./miniOS ./examples

.SUFFIXES: .v .vo .vi .g .html .tex .g.tex .g.html

.v.vo:
	$(COQC) $(COQDEBUG) $(COQFLAGS) $*

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

.v.g:
	$(GALLINA) $<

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

.v.html:
	$(COQDOC) -html $< -o $@

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

.v.g.html:
	$(COQDOC) -html -g $< -o $@

byte:
	$(MAKE) all "OPT="

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

include .depend

.depend depend:
	rm -f .depend
	$(COQDEP) -i $(COQLIBS) $(VFILES) *.ml *.mli >.depend
	$(COQDEP) $(COQLIBS) -suffix .html $(VFILES) >>.depend
	(cd ./CAP0 ; $(MAKE) depend)
	(cd ./SCAP ; $(MAKE) depend)
	(cd ./miniOS ; $(MAKE) depend)
	(cd ./examples ; $(MAKE) depend)

install:
	mkdir -p `$(COQC) -where`/user-contrib
	cp -f $(VOFILES) `$(COQC) -where`/user-contrib
	(cd ./CAP0 ; $(MAKE) install)
	(cd ./SCAP ; $(MAKE) install)
	(cd ./miniOS ; $(MAKE) install)

clean:
	rm -f *.cmo *.cmi *.cmx *.o $(VOFILES) $(VIFILES) $(GFILES) *~
	rm -f all.ps all-gal.ps $(HTMLFILES) $(GHTMLFILES)
	(cd ./CAP0 ; $(MAKE) clean)
	(cd ./SCAP ; $(MAKE) clean)
	(cd ./miniOS ; $(MAKE) clean)

archclean:
	rm -f *.cmx *.o
	(cd ./CAP0 ; $(MAKE) archclean)
	(cd ./SCAP ; $(MAKE) archclean)
	(cd ./miniOS ; $(MAKE) archclean)

html:
	(cd ./CAP0 ; $(MAKE) html)
	(cd ./SCAP ; $(MAKE) html)
	(cd ./miniOS ; $(MAKE) html)

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

