Make sure ocamlnat is built with a $(EXE) extension.

Before this commit, 'make ocamlnat' was building 'ocamlnat' without any
extension, even on Windows. The extension was added by 'make install', though.

With this commit, 'ocamlnat' is given its $(EXE) extension already
at build time.
master
Sébastien Hinderer 2016-07-31 10:30:22 +02:00 committed by alainfrisch
parent e47f29bf85
commit e1b57c4a39
2 changed files with 13 additions and 5 deletions

View File

@ -289,8 +289,8 @@ installoptopt:
$(BYTESTART:.cmo=.cmx) $(BYTESTART:.cmo=.o) \
$(OPTSTART:.cmo=.cmx) $(OPTSTART:.cmo=.o) \
$(INSTALL_COMPLIBDIR)
if test -f ocamlnat ; then \
cp ocamlnat $(INSTALL_BINDIR)/ocamlnat$(EXE); \
if test -f ocamlnat$(EXE) ; then \
cp ocamlnat$(EXE) $(INSTALL_BINDIR)/ocamlnat$(EXE); \
cp toplevel/opttopdirs.cmi $(INSTALL_LIBDIR); \
cp compilerlibs/ocamlopttoplevel.cmxa \
compilerlibs/ocamlopttoplevel.a \
@ -364,7 +364,7 @@ partialclean::
rm -f ocaml
RUNTOP=./byterun/ocamlrun ./ocaml -nostdlib -I stdlib -noinit $(TOPFLAGS)
NATRUNTOP=./ocamlnat -nostdlib -I stdlib -noinit $(TOPFLAGS)
NATRUNTOP=./ocamlnat$(EXE) -nostdlib -I stdlib -noinit $(TOPFLAGS)
runtop:
$(MAKE) runtime

View File

@ -323,13 +323,21 @@ compilerlibs/ocamlopttoplevel.cmxa: $(OPTTOPLEVEL:.cmo=.cmx)
partialclean::
rm -f compilerlibs/ocamlopttoplevel.cmxa
ocamlnat: compilerlibs/ocamlcommon.cmxa compilerlibs/ocamloptcomp.cmxa \
# When the native toplevel executable has an extension (e.g. ".exe"),
# provide a phony 'ocamlnat' synonym
ifneq ($(EXE),)
.PHONY: ocamlnat
ocamlnat: ocamlnat$(EXE)
endif
ocamlnat$(EXE): compilerlibs/ocamlcommon.cmxa compilerlibs/ocamloptcomp.cmxa \
compilerlibs/ocamlbytecomp.cmxa \
compilerlibs/ocamlopttoplevel.cmxa \
$(OPTTOPLEVELSTART:.cmo=.cmx)
$(CAMLOPT) $(LINKFLAGS) -linkall -o $@ $^
partialclean::
rm -f ocamlnat
rm -f ocamlnat$(EXE)
toplevel/opttoploop.cmx: otherlibs/dynlink/dynlink.cmxa