########################################################################## ## # The Coq Proof Assistant / The Coq Development Team ## ## v # Copyright INRIA, CNRS and contributors ## ## revision.new $(HIDE)set -e; \ if test -e revision.new; then \ if test -e revision; then \ if test "`cat revision`" = "`cat revision.new`" ; then \ rm -f revision.new; \ else \ mv -f revision.new revision; \ fi; \ else \ mv -f revision.new revision; \ fi \ fi .PHONY: revision ################### # Partial builds ################### # The following partial targets are normally not necessary # for a complete build of coq, see instead 'make world' for that. # But these partial targets could be quite handy for quick builds # of specific components of Coq. ############################### ### 1) general-purpose targets ############################### coqlight: theories-light tools coqbinaries states: theories/Init/Prelude.$(VO) miniopt: $(COQTOPEXE) pluginsopt minibyte: $(COQTOPBYTE) pluginsbyte pluginsopt: $(PLUGINSOPT) pluginsbyte: $(PLUGINS) # This should build all the ocaml code but not (most of) the .v files coqocaml: tools coqbinaries $(PLUGINSCMO:.cmo=$(DYNOBJ)) coqide printers bin/votour .PHONY: coqlight states miniopt minibyte pluginsopt pluginsbyte coqocaml ########################## ### 2) core ML components ########################## lib: lib/clib.cma lib/lib.cma kernel: kernel/kernel.cma byterun: $(BYTERUN) library: library/library.cma engine: engine/engine.cma proofs: proofs/proofs.cma tactics: tactics/tactics.cma interp: interp/interp.cma parsing: parsing/parsing.cma pretyping: pretyping/pretyping.cma stm: stm/stm.cma toplevel: toplevel/toplevel.cma .PHONY: lib kernel byterun library proofs tactics interp parsing pretyping .PHONY: engine stm toplevel ###################### ### 3) theories files ###################### init: $(filter theories/Init/%, $(THEORIESVO)) logic: $(filter theories/Logic/%, $(THEORIESVO)) arith: $(filter theories/Arith/%, $(THEORIESVO)) bool: $(filter theories/Bool/%, $(THEORIESVO)) parith: $(filter theories/PArith/%, $(THEORIESVO)) narith: $(filter theories/NArith/%, $(THEORIESVO)) zarith: $(filter theories/ZArith/%, $(THEORIESVO)) qarith: $(filter theories/QArith/%, $(THEORIESVO)) lists: $(filter theories/Lists/%, $(THEORIESVO)) strings: $(filter theories/Strings/%, $(THEORIESVO)) sets: $(filter theories/Sets/%, $(THEORIESVO)) fsets: $(filter theories/FSets/%, $(THEORIESVO)) relations: $(filter theories/Relations/%, $(THEORIESVO)) wellfounded: $(filter theories/Wellfounded/%, $(THEORIESVO)) reals: $(filter theories/Reals/%, $(THEORIESVO)) setoids: $(filter theories/Setoids/%, $(THEORIESVO)) sorting: $(filter theories/Sorting/%, $(THEORIESVO)) numbers: $(filter theories/Numbers/%, $(THEORIESVO)) unicode: $(filter theories/Unicode/%, $(THEORIESVO)) classes: $(filter theories/Classes/%, $(THEORIESVO)) program: $(filter theories/Program/%, $(THEORIESVO)) structures: $(filter theories/Structures/%, $(THEORIESVO)) vectors: $(filter theories/Vectors/%, $(THEORIESVO)) msets: $(filter theories/MSets/%, $(THEORIESVO)) compat: $(filter theories/Compat/%, $(THEORIESVO)) theories-light: $(THEORIESLIGHTVO) noreal: unicode logic arith bool zarith qarith lists sets fsets \ relations wellfounded setoids sorting .PHONY: init theories-light noreal .PHONY: logic arith bool narith zarith qarith lists strings sets .PHONY: fsets relations wellfounded reals setoids sorting numbers .PHONY: msets mmaps compat parith classes program unicode structures vectors ################ ### 4) plugins ################ OMEGAVO:=$(filter theories/omega/%, $(THEORIESVO)) MICROMEGAVO:=$(filter theories/micromega/%, $(THEORIESVO)) RINGVO:=$(filter theories/setoid_ring/%, $(THEORIESVO)) NSATZVO:=$(filter theories/nsatz/%, $(THEORIESVO)) FUNINDVO:=$(filter theories/funind/%, $(THEORIESVO)) BTAUTOVO:=$(filter theories/btauto/%, $(THEORIESVO)) RTAUTOVO:=$(filter theories/rtauto/%, $(THEORIESVO)) EXTRACTIONVO:=$(filter theories/extraction/%, $(THEORIESVO)) CCVO:= DERIVEVO:=$(filter theories/derive/%, $(THEORIESVO)) LTACVO:=$(filter theories/ltac/%, $(THEORIESVO)) omega: $(OMEGAVO) $(OMEGACMO) micromega: $(MICROMEGAVO) $(MICROMEGACMO) $(CSDPCERT) ring: $(RINGVO) $(RINGCMO) nsatz: $(NSATZVO) $(NSATZCMO) extraction: $(EXTRACTIONCMO) $(EXTRACTIONVO) funind: $(FUNINDCMO) $(FUNINDVO) cc: $(CCVO) $(CCCMO) rtauto: $(RTAUTOVO) $(RTAUTOCMO) btauto: $(BTAUTOVO) $(BTAUTOCMO) ltac: $(LTACVO) $(LTACCMO) .PHONY: omega micromega ring nsatz extraction .PHONY: funind cc rtauto btauto ltac # For emacs: # Local Variables: # mode: makefile # End: