Added some unit tests that I forgot earlier
[libdai.git] / Makefile.WINDOWS
index 986c086..63920e5 100644 (file)
@@ -4,37 +4,18 @@
 # 2, or (at your option) any later version. libDAI is distributed without any
 # warranty. See the file COPYING for more details.
 #
-# Copyright (C) 2009  Joris Mooij  [joris dot mooij at libdai dot org]
+# Copyright (C) 2009-2010  Joris Mooij  [joris dot mooij at libdai dot org]
 
 
 # This template contains configurations for compiling libDAI with Visual C++
 # under Windows (and GNU Make)
 #
+# It has been tested with Windows XP, Visual Studio 2008, MatLab R2008b and
+# Boost 1.42.0
+#
 # 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}
@@ -48,7 +29,7 @@ OE=.obj
 # Binary executable
 EE=.exe
 # MatLab compiled MEX file
-ME=.mexglx
+ME=.mexw32
 
 # COMPILER
 # Compile using Visual C++ Compiler
@@ -56,30 +37,42 @@ CC=cl
 # Output filename option of the compiler
 CCO=/Fe
 # Flags for the C++ compiler
-CCFLAGS=/EHsc -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=/Ox /Zi -DDAI_DEBUG
+CCDEBUGFLAGS=/Ox /Zi /DDAI_DEBUG
 # Flags to add in non-debugging mode (if DEBUG=false)
 CCNODEBUGFLAGS=/Ox
+# Include directory for image segmentation example
+CIMGINC=-IE:\windows\CImg-1.3.9
 # Standard include directories
-CCINC=/Iinclude /IC:\boost_1_36_0
+CCINC=-Iinclude -IE:\windows\boost_1_42_0
 
 # 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:E:\windows\boost_1_42_0\stage\lib
+BOOSTLIBS_UTF=/LIBPATH:E:\windows\boost_1_42_0\stage\lib
+# Libraries for image segmentation example
+CIMGLIBS=gdi32.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"
 
 # MATLAB
 # 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)
+# Additional library search paths for MEX
+MEXLIB=
 
 # SWIG PYTHON INTERFACE
 # The following should resolve to the SWIG command
@@ -87,4 +80,4 @@ 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=E:\windows\boost_1_42_0