New git HEAD version
[libdai.git] / Makefile.WINDOWS
index 0f09919..a18001d 100644 (file)
@@ -1,10 +1,8 @@
 # This file is part of libDAI - http://www.libdai.org/
 #
-# libDAI is licensed under the terms of the GNU General Public License version
-# 2, or (at your option) any later version. libDAI is distributed without any
-# warranty. See the file COPYING for more details.
+# Copyright (c) 2006-2011, The libDAI authors. All rights reserved.
 #
-# Copyright (C) 2009  Joris Mooij  [joris dot mooij at libdai dot org]
+# Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
 
 
 # This template contains configurations for compiling libDAI with Visual C++
 #
 # To use it, simply copy this file to 'Makefile.conf' and adapt 'Makefile.conf'
 # to your local setup
-#
-# A boolean variable VAR can be set to true ("VAR=true") or to false ("VAR=")
 
 
-# COMPILATION AND BUILD FLAGS
-# Enable/disable various approximate inference methods
-WITH_BP=true
-WITH_MF=true
-WITH_HAK=true
-WITH_LC=true
-WITH_TREEEP=true
-WITH_JTREE=true
-WITH_MR=true
-WITH_GIBBS=true
-WITH_CBP=true
-# Build doxygen documentation?
-WITH_DOC=
-# Build with debug info?
-DEBUG=true
-# Build matlab interface?
-WITH_MATLAB=
-# MatLab version 7.3 (R2006b) or newer?
-NEW_MATLAB=true
-
 # OPERATING SYSTEM
 # Choose OS from {LINUX, WINDOWS, CYGWIN, MACOSX}
 OS=WINDOWS
@@ -48,7 +24,12 @@ OE=.obj
 # Binary executable
 EE=.exe
 # MatLab compiled MEX file
-ME=.mexglx
+ME=.mexw32
+
+# DIRECTORIES
+# Directories where third party libraries are located
+BOOSTDIR=E:\windows\boost_1_51_0
+MPIRDIR=E:\windows\mpir_251
 
 # COMPILER
 # Compile using Visual C++ Compiler
@@ -56,33 +37,55 @@ CC=cl
 # Output filename option of the compiler
 CCO=/Fe
 # Flags for the C++ compiler
-CCFLAGS=/EHsc /Ox -DWINDOWS
+CCFLAGS=/EHac /GR /W3 /DWINDOWS /DNOMINMAX /MD
+# For MatLab R2008b, the following flag seems to be necessary: /D_SECURE_SCL=0
+# but it generates exceptions in normal executables... therefore, the MatLab 
+# interface is now built from source completely using mex
 # Flags to add in debugging mode (if DEBUG=true)
-CCDEBUGFLAGS=/Zi -DDAI_DEBUG
+CCDEBUGFLAGS=/Ox /Zi /DDAI_DEBUG
+# Flags to add in non-debugging mode (if DEBUG=false)
+CCNODEBUGFLAGS=/Ox
 # Standard include directories
-CCINC=/Iinclude /IC:\boost_1_36_0
+CCINC=-Iinclude -I$(BOOSTDIR) -I$(MPIRDIR)
 
 # LINKER
 # Standard libraries to include
 LIBS=/link $(LIB)/libdai$(LE)
-# For linking with the BOOST Program Options library
-BOOSTLIBS=/LIBPATH:C:\boost_1_36_0\stage\lib
+# For linking with BOOST libraries
+BOOSTLIBS_PO=/LIBPATH:$(BOOSTDIR)\stage\lib
+BOOSTLIBS_UTF=/LIBPATH:$(BOOSTDIR)\stage\lib
 # Additional library search paths for linker
 # (For some reason, we have to add the VC library path, although it is in the environment)
-CCLIB=/LIBPATH:"C:\Program Files\Microsoft Visual Studio 9.0\VC\ATLMFC\LIB" /LIBPATH:"C:\Program Files\Microsoft Visual Studio 9.0\VC\LIB" /LIBPATH:"C:\Program Files\Microsoft SDKs\Windows\v6.0A\lib"
+CCLIB=/LIBPATH:"C:\Program Files\Microsoft Visual Studio 9.0\VC\ATLMFC\LIB" /LIBPATH:"C:\Program Files\Microsoft Visual Studio 9.0\VC\LIB" /LIBPATH:"C:\Program Files\Microsoft SDKs\Windows\v6.0A\lib" /LIBPATH:"$(MPIRDIR)" mpirxx.lib mpir.lib
 
 # MATLAB
+# MatLab version 7.3 (R2006b) or newer?
+NEW_MATLAB=true
 # Replace the following by the directory where MatLab has been installed
-MATLABDIR=c:\matlab
+MATLABDIR=c:\matlab\R2008b
 # The following should resolve to the MatLab mex compile command
 MEX=$(MATLABDIR)\bin\mex
-# Specify the same C++ compiler and flags to mex
-MEXFLAGS=CXX\#$(CC) CXXFLAGS\#"$(CCFLAGS)"
+# Flags for MEX
+MEXFLAGS:=-DWINDOWS -DNOMINMAX
+# Standard include directories for MEX
+MEXINC:=$(CCINC)
+# Standard libraries to include
+MEXLIBS:=-lmpirxx -lmpir
+# Additional library search paths for MEX
+MEXLIB:=-L"$(BOOSTDIR)\stage\lib" -L"C:\Program Files\Microsoft Visual Studio 9.0\VC\ATLMFC\LIB" -L"C:\Program Files\Microsoft Visual Studio 9.0\VC\LIB" -L"C:\Program Files\Microsoft SDKs\Windows\v6.0A\lib" -L"$(MPIRDIR)"
 
 # SWIG PYTHON INTERFACE
 # The following should resolve to the SWIG command
-SWIG=swig -classic
+SWIG=swig
 # Location of Python header files
 INCLUDE_PYTHON=C:\python2.5
 # Location of Boost C++ library header files
-INCLUDE_BOOST=C:\boost_1_36_0
+INCLUDE_BOOST=$(BOOSTDIR)
+
+# CIMG
+# CImg version 1.3.0 or newer?
+NEW_CIMG=true
+# Include directory for image segmentation example
+CIMGINC=-IE:\windows\CImg-1.3.9
+# Libraries for image segmentation example
+CIMGLIBS=gdi32.lib user32.lib shell32.lib