159 lines
4.1 KiB
Makefile
159 lines
4.1 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, Mingw compiler
|
|
|
|
######### General configuration
|
|
|
|
PREFIX=C:/ocamlmgw
|
|
|
|
### 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)
|
|
|
|
### Where to install the man pages
|
|
MANDIR=$(PREFIX)/man
|
|
|
|
########## Toolchain and OS dependencies
|
|
|
|
TOOLCHAIN=mingw
|
|
CCOMPTYPE=cc
|
|
O=o
|
|
A=a
|
|
S=s
|
|
SO=s.o
|
|
DO=d.o
|
|
EXE=.exe
|
|
EXT_DLL=.dll
|
|
EXT_OBJ=.$(O)
|
|
EXT_LIB=.$(A)
|
|
EXT_ASM=.$(S)
|
|
MANEXT=1
|
|
SHARPBANGSCRIPTS=false
|
|
PTHREAD_LINK=
|
|
X11_INCLUDES=
|
|
X11_LINK=
|
|
DBM_INCLUDES=
|
|
DBM_LINK=
|
|
BYTECCRPATH=
|
|
SUPPORTS_SHARED_LIBRARIES=true
|
|
SHAREDCCCOMPOPTS=
|
|
MKSHAREDLIBRPATH=
|
|
NATIVECCPROFOPTS=
|
|
NATIVECCRPATH=
|
|
ASM=as
|
|
ASPP=gcc
|
|
ASPPPROFFLAGS=
|
|
PROFILING=noprof
|
|
DYNLINKOPTS=
|
|
DEBUGGER=ocamldebugger
|
|
CC_PROFILE=
|
|
SYSTHREAD_SUPPORT=true
|
|
EXTRALIBS=
|
|
CMXS=cmxs
|
|
|
|
########## Configuration for the bytecode compiler
|
|
|
|
### Which C compiler to use for the bytecode interpreter.
|
|
BYTECC=gcc -mno-cygwin
|
|
|
|
### Additional compile-time options for $(BYTECC). (For static linking.)
|
|
BYTECCCOMPOPTS=-O -mms-bitfields -Wall -Wno-unused
|
|
|
|
### Additional link-time options for $(BYTECC). (For static linking.)
|
|
BYTECCLINKOPTS=
|
|
|
|
### Additional compile-time options for $(BYTECC). (For building a DLL.)
|
|
DLLCCCOMPOPTS=-O -mms-bitfields -Wall -Wno-unused -DCAML_DLL
|
|
|
|
### Libraries needed
|
|
BYTECCLIBS=-lws2_32
|
|
NATIVECCLIBS=-lws2_32
|
|
|
|
### How to invoke the C preprocessor
|
|
CPP=$(BYTECC) -E
|
|
|
|
### Flexlink
|
|
FLEXLINK=flexlink -chain mingw
|
|
FLEXDIR=$(shell $(FLEXLINK) -where)
|
|
IFLEXDIR=-I"$(FLEXDIR)"
|
|
MKDLL=$(FLEXLINK)
|
|
MKEXE=$(FLEXLINK) -exe
|
|
MKMAINDLL=$(FLEXLINK) -maindll
|
|
|
|
### How to build a static library
|
|
MKLIB=rm -f $(1); ar rcs $(1) $(2)
|
|
#ml let mklib out files opts = Printf.sprintf "rm -f %s && ar rcs %s %s %s" out opts out files;;
|
|
|
|
### Canonicalize the name of a system library
|
|
SYSLIB=-l$(1)
|
|
#ml let syslib x = "-l"^x;;
|
|
|
|
### The ranlib command
|
|
RANLIB=ranlib
|
|
RANLIBCMD=ranlib
|
|
|
|
############# Configuration for the native-code compiler
|
|
|
|
### Name of architecture for the native-code compiler
|
|
ARCH=i386
|
|
|
|
### Name of architecture model for the native-code compiler.
|
|
MODEL=default
|
|
|
|
### Name of operating system family for the native-code compiler.
|
|
SYSTEM=mingw
|
|
|
|
### Which C compiler to use for the native-code compiler.
|
|
NATIVECC=$(BYTECC)
|
|
|
|
### Additional compile-time options for $(NATIVECC).
|
|
NATIVECCCOMPOPTS=-O -mms-bitfields -Wall -Wno-unused
|
|
|
|
### Additional link-time options for $(NATIVECC)
|
|
NATIVECCLINKOPTS=
|
|
|
|
### Build partially-linked object file
|
|
PACKLD=ld -r $(NATIVECCLINKOPTS) -o #there must be a space after this '-o'
|
|
|
|
############# Configuration for the contributed libraries
|
|
|
|
OTHERLIBRARIES=win32unix str num win32graph dynlink bigarray systhreads labltk
|
|
|
|
### Name of the target architecture for the "num" library
|
|
BNG_ARCH=ia32
|
|
BNG_ASM_LEVEL=1
|
|
|
|
### Configuration for LablTk
|
|
# Set TK_ROOT to the directory where you installed TCL/TK 8.4
|
|
# There must be no spaces or special characters in $(TK_ROOT)
|
|
TK_ROOT=c:/tcl
|
|
TK_DEFS=-I$(TK_ROOT)/include
|
|
TK_LINK=$(TK_ROOT)/bin/tk83.dll $(TK_ROOT)/bin/tcl83.dll -lws2_32
|
|
#TK_LINK=$(TK_ROOT)/lib/tk84.lib $(TK_ROOT)/lib/tcl84.lib -lws2_32
|
|
|
|
############# Aliases for common commands
|
|
|
|
MAKEREC=$(MAKE) -f Makefile.nt
|
|
MAKECMD=$(MAKE)
|