summaryrefslogtreecommitdiff
path: root/Makefile.build
diff options
context:
space:
mode:
authorGravatar Stephane Glondu <steph@glondu.net>2012-12-29 10:57:43 +0100
committerGravatar Stephane Glondu <steph@glondu.net>2012-12-29 10:57:43 +0100
commitbf12eb93f3f6a6a824a10878878fadd59745aae0 (patch)
tree279f64f4b7e4804415ab5731cc7aaa8a4fcfe074 /Makefile.build
parente0d682ec25282a348d35c5b169abafec48555690 (diff)
Imported Upstream version 8.4pl1dfsgupstream/8.4pl1dfsg
Diffstat (limited to 'Makefile.build')
-rw-r--r--Makefile.build47
1 files changed, 29 insertions, 18 deletions
diff --git a/Makefile.build b/Makefile.build
index fe99f3b0..8d3045cc 100644
--- a/Makefile.build
+++ b/Makefile.build
@@ -84,15 +84,14 @@ HIDE := $(if $(VERBOSE),,@)
LOCALINCLUDES=$(addprefix -I , $(SRCDIRS) )
MLINCLUDES=$(LOCALINCLUDES) -I $(MYCAMLP4LIB)
-COREMLINCLUDES=$(addprefix -I , $(CORESRCDIRS)) -I $(MYCAMLP4LIB)
OCAMLC += $(CAMLFLAGS)
OCAMLOPT += $(CAMLFLAGS)
-BYTEFLAGS=$(MLINCLUDES) $(CAMLDEBUG) $(USERFLAGS)
-OPTFLAGS=$(MLINCLUDES) $(CAMLDEBUGOPT) $(CAMLTIMEPROF) $(USERFLAGS)
-COREBYTEFLAGS=$(COREMLINCLUDES) $(CAMLDEBUG) $(USERFLAGS)
-COREOPTFLAGS=$(COREMLINCLUDES) $(CAMLDEBUGOPT) $(CAMLTIMEPROF) $(USERFLAGS)
+BAREBYTEFLAGS=$(CAMLDEBUG) $(USERFLAGS)
+BAREOPTFLAGS=$(CAMLDEBUGOPT) $(CAMLTIMEPROF) $(USERFLAGS)
+BYTEFLAGS=$(MLINCLUDES) $(BAREBYTEFLAGS)
+OPTFLAGS=$(MLINCLUDES) $(BAREOPTFLAGS)
DEPFLAGS= -slash $(LOCALINCLUDES)
define bestocaml
@@ -194,6 +193,16 @@ kernel/copcodes.ml: kernel/byterun/coq_instruct.h
# Main targets (coqmktop, coqtop.opt, coqtop.byte)
###########################################################################
+## In Win32, cygwin provides an emulation of ln -s, but this emulation
+## won't work outside of cygwin shell (i.e. typically in a Sys.command).
+## So we just forget about it, and do a simple copy.
+
+ifeq ($(ARCH),win32)
+LN:=cp -f
+else
+LN:=ln -sf
+endif
+
.PHONY: coqbinaries coq coqlib coqlight states
coqbinaries:: ${COQBINARIES} ${CSDPCERT} ${FAKEIDE}
@@ -208,15 +217,15 @@ states:: states/initial.coq
$(COQTOPOPT): $(BESTCOQMKTOP) $(LINKCMX) $(LIBCOQRUN)
$(SHOW)'COQMKTOP -o $@'
- $(HIDE)$(BESTCOQMKTOP) -boot -opt $(COREOPTFLAGS) -o $@
+ $(HIDE)$(BESTCOQMKTOP) -boot -opt $(BAREOPTFLAGS) -o $@
$(STRIP) $@
$(COQTOPBYTE): $(BESTCOQMKTOP) $(LINKCMO) $(LIBCOQRUN)
$(SHOW)'COQMKTOP -o $@'
- $(HIDE)$(BESTCOQMKTOP) -boot -top $(COREBYTEFLAGS) -o $@
+ $(HIDE)$(BESTCOQMKTOP) -boot -top $(BAREBYTEFLAGS) -o $@
$(COQTOPEXE): $(ORDER_ONLY_SEP) $(BESTCOQTOP)
- cd bin; ln -sf coqtop.$(BEST)$(EXE) coqtop$(EXE)
+ cd bin && $(LN) coqtop.$(BEST)$(EXE) coqtop$(EXE)
LOCALCHKLIBS:=$(addprefix -I , $(CHKSRCDIRS) )
CHKLIBS:=$(LOCALCHKLIBS) -I $(MYCAMLP4LIB)
@@ -233,7 +242,7 @@ $(CHICKENBYTE): checker/check.cma checker/main.ml
$(HIDE)$(OCAMLC) $(CHKBYTEFLAGS) $(COQTOOLSBYTEFLAGS) -o $@ $(SYSCMA) $^
$(CHICKEN): $(ORDER_ONLY_SEP) $(BESTCHICKEN)
- cd bin && ln -sf coqchk.$(BEST)$(EXE) coqchk$(EXE)
+ cd bin && $(LN) coqchk.$(BEST)$(EXE) coqchk$(EXE)
# coqmktop
@@ -247,7 +256,7 @@ $(COQMKTOPOPT): $(COQMKTOPCMO:.cmo=.cmx)
$(STRIP) $@
$(COQMKTOP): $(ORDER_ONLY_SEP) $(BESTCOQMKTOP)
- cd bin; ln -sf coqmktop.$(BEST)$(EXE) coqmktop$(EXE)
+ cd bin && $(LN) coqmktop.$(BEST)$(EXE) coqmktop$(EXE)
scripts/tolink.ml: Makefile.build Makefile.common
$(SHOW)"ECHO... >" $@
@@ -267,7 +276,7 @@ $(COQCOPT): $(COQCCMO:.cmo=.cmx) | $(COQTOPOPT)
$(STRIP) $@
$(COQC): $(ORDER_ONLY_SEP) $(BESTCOQC)
- cd bin; ln -sf coqc.$(BEST)$(EXE) coqc$(EXE)
+ cd bin && $(LN) coqc.$(BEST)$(EXE) coqc$(EXE)
# target for libraries
@@ -320,8 +329,8 @@ coqide-files: $(IDEFILES)
$(COQIDEOPT): $(LINKIDEOPT) | $(COQTOPOPT)
$(SHOW)'OCAMLOPT -o $@'
- $(HIDE)$(OCAMLOPT) $(COQIDEFLAGS) $(OPTFLAGS) $(IDEOPTFLAGS) -o $@ unix.cmxa threads.cmxa lablgtk.cmxa\
- gtkThread.cmx str.cmxa $(LINKIDEOPT)
+ $(HIDE)$(OCAMLOPT) $(COQIDEFLAGS) $(OPTFLAGS) -o $@ unix.cmxa threads.cmxa \
+ lablgtk.cmxa $(IDEOPTFLAGS) gtkThread.cmx str.cmxa $(LINKIDEOPT)
$(STRIP) $@
$(COQIDEBYTE): $(LINKIDE) | $(COQTOPBYTE)
@@ -330,7 +339,7 @@ $(COQIDEBYTE): $(LINKIDE) | $(COQTOPBYTE)
str.cma $(COQRUNBYTEFLAGS) $(LINKIDE)
$(COQIDE):
- cd bin; ln -sf coqide.$(HASCOQIDE)$(EXE) coqide$(EXE)
+ cd bin && $(LN) coqide.$(HASCOQIDE)$(EXE) coqide$(EXE)
# install targets
@@ -346,14 +355,14 @@ install-ide-byte:
$(INSTALLBIN) $(COQIDEBYTE) $(FULLBINDIR)
$(INSTALLSH) $(FULLCOQLIB) $(IDECMA) \
$(foreach lib,$(IDECMA:.cma=_MLLIB_DEPENDENCIES),$(addsuffix .cmi,$($(lib))))
- cd $(FULLBINDIR); ln -sf coqide.byte$(EXE) coqide$(EXE)
+ cd $(FULLBINDIR) && $(LN) coqide.byte$(EXE) coqide$(EXE)
install-ide-opt:
$(MKDIR) $(FULLBINDIR)
$(INSTALLBIN) $(COQIDEOPT) $(FULLBINDIR)
$(INSTALLSH) $(FULLCOQLIB) $(IDECMA) $(IDECMA:.cma=.cmxa) $(IDECMA:.cma=.a) \
$(foreach lib,$(IDECMA:.cma=_MLLIB_DEPENDENCIES),$(addsuffix .cmi,$($(lib))))
- cd $(FULLBINDIR); ln -sf coqide.opt$(EXE) coqide$(EXE)
+ cd $(FULLBINDIR) && $(LN) coqide.opt$(EXE) coqide$(EXE)
install-ide-files:
$(MKDIR) $(FULLDATADIR)
@@ -604,12 +613,12 @@ install-binaries:: install-$(BEST) install-tools
install-byte::
$(MKDIR) $(FULLBINDIR)
$(INSTALLBIN) $(COQMKTOP) $(COQC) $(COQTOPBYTE) $(CHICKEN) $(FULLBINDIR)
- cd $(FULLBINDIR); ln -sf coqtop.byte$(EXE) coqtop$(EXE); ln -sf coqchk.byte$(EXE) coqchk$(EXE)
+ cd $(FULLBINDIR); $(LN) coqtop.byte$(EXE) coqtop$(EXE); $(LN) coqchk.byte$(EXE) coqchk$(EXE)
install-opt::
$(MKDIR) $(FULLBINDIR)
$(INSTALLBIN) $(COQMKTOP) $(COQC) $(COQTOPBYTE) $(COQTOPOPT) $(CHICKEN) $(CHICKENOPT) $(FULLBINDIR)
- cd $(FULLBINDIR); ln -sf coqtop.opt$(EXE) coqtop$(EXE); ln -sf coqchk.opt$(EXE) coqchk$(EXE)
+ cd $(FULLBINDIR); $(LN) coqtop.opt$(EXE) coqtop$(EXE); $(LN) coqchk.opt$(EXE) coqchk$(EXE)
install-tools::
$(MKDIR) $(FULLBINDIR)
@@ -633,7 +642,9 @@ install-library:
$(MKDIR) $(FULLCOQLIB)/states
$(INSTALLLIB) states/*.coq $(FULLCOQLIB)/states
$(MKDIR) $(FULLCOQLIB)/user-contrib
+ifneq ($(COQRUNBYTEFLAGS),"-custom")
$(INSTALLLIB) $(DLLCOQRUN) $(FULLCOQLIB)
+endif
$(INSTALLSH) $(FULLCOQLIB) $(CONFIG) $(LINKCMO) $(GRAMMARCMA)
$(INSTALLSH) $(FULLCOQLIB) $(INSTALLCMI)
ifeq ($(BEST),opt)