ocaml/config/Makefile.msvc64

128 lines
3.6 KiB
Makefile

#########################################################################
# #
# Objective Caml #
# #
# Xavier Leroy, projet Cristal, INRIA Rocquencourt #
# #
# Copyright 1999 Institut National de Recherche en Informatique et #
# en Automatique. All rights reserved. This file is distributed #
# under the terms of the GNU Library General Public License, with #
# the special exception on linking described in file ../LICENSE. #
# #
#########################################################################
# $Id$
# Configuration for Windows, Visual C++ compiler
######### General configuration
PREFIX=C:/ocamlms64
### Where to install the binaries.
BINDIR=$(PREFIX)/bin
### Where to install the standard library
LIBDIR=$(PREFIX)/lib
### Where to install the stub DLLs
STUBLIBDIR=$(LIBDIR)/stublibs
### Where to install the info files
DISTRIB=$(PREFIX)
########## Toolchain and OS dependencies
TOOLCHAIN=msvc
CCOMPTYPE=msvc
O=obj
A=lib
S=asm
SO=s.obj
DO=d.obj
DBGO=dbg.obj
EXE=.exe
########## Configuration for the bytecode compiler
### Which C compiler to use for the bytecode interpreter.
BYTECC=cl /nologo -D_CRT_SECURE_NO_DEPRECATE
### Additional compile-time options for $(BYTECC). (For static linking.)
BYTECCCOMPOPTS=/Ox /MT
### Additional compile-time options for $(BYTECC). (For debug version.)
BYTECCDBGCOMPOPTS=-DDEBUG /Zi /W3 /Wp64
### Additional link-time options for $(BYTECC). (For static linking.)
BYTECCLINKOPTS=/MT
### Additional compile-time options for $(BYTECC). (For building a DLL.)
DLLCCCOMPOPTS=/Ox /MD -DCAML_DLL
### Libraries needed
EXTRALIBS=bufferoverflowu.lib
BYTECCLIBS=advapi32.lib $(EXTRALIBS)
NATIVECCLIBS=advapi32.lib $(EXTRALIBS)
### How to invoke the C preprocessor
CPP=cl /nologo /EP
### How to merge a .manifest (if any) in a .exe or .dll
MERGEMANIFEST=\
test ! -f $(1).manifest || \
mt -nologo -outputresource:$(1) -manifest $(1).manifest && \
rm -f $(1).manifest
### How to build an EXE
MKEXE=$(BYTECC) /Fe$(1) $(2) && ($(MERGEMANIFEST))
### How to build a DLL
MKDLL=link /nologo /dll /machine:AMD64 /out:$(1) /implib:$(2) $(3) $(EXTRALIBS) && ($(MERGEMANIFEST))
### How to build a static library
MKLIB=link /lib /nologo /machine:AMD64 /out:$(1) $(2)
### Canonicalize the name of a system library
SYSLIB=$(1).lib
### The ranlib command
RANLIBCMD=
############# Configuration for the native-code compiler
### Name of architecture for the native-code compiler
ARCH=amd64
### Name of architecture model for the native-code compiler.
MODEL=default
### Name of operating system family for the native-code compiler.
SYSTEM=win64
### Which C compiler to use for the native-code compiler.
NATIVECC=cl /nologo
### Additional compile-time options for $(NATIVECC).
NATIVECCCOMPOPTS=/Ox /MT
### Additional link-time options for $(NATIVECC)
NATIVECCLINKOPTS=/MT
### Build partially-linked object file
PARTIALLD=link /lib /nologo /machine:AMD64
PACKLD=ld -r --oformat pe-i386
############# Configuration for the contributed libraries
OTHERLIBRARIES=win32unix systhreads str num win32graph dynlink bigarray
### Name of the target architecture for the "num" library
BNG_ARCH=generic
BNG_ASM_LEVEL=0
############# Aliases for common commands
MAKEREC=$(MAKE) -f Makefile.nt
MAKECMD=$(MAKE)