Improved documentation of bipgraph.h and added example_bipgraph.cpp
[libdai.git] / Makefile.win
index b0a1754..2a3dfa7 100755 (executable)
@@ -41,10 +41,11 @@ INC=include/dai
 SRC=src\r
 LIB=lib\r
 \r
-# Extensions (library, object, executable extensions)\r
+# Extensions (library, object, executable, matlab compiled MEX file)\r
 LE=.lib\r
 OE=.obj\r
 EE=.exe\r
+ME=.mexglx\r
 \r
 # Libraries (for some reason, we have to add the VC library path, although it is in the environment)\r
 LIBS=/link $(LIB)/libdai$(LE) /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"\r
@@ -58,7 +59,7 @@ CC=cl
 CCO=/Fe\r
 \r
 # Flags for the C++ compiler\r
-CCFLAGS=/I./include /IC:\boost_1_36_0 /EHsc /Ox\r
+CCFLAGS=/Iinclude /IC:\boost_1_36_0 /EHsc /Ox\r
 !IFDEF DEBUG\r
 CCFLAGS=$(CCFLAGS) /Zi /DDAI_DEBUG\r
 !ENDIF\r
@@ -69,41 +70,39 @@ CCFLAGS=$(CCFLAGS) /DWINDOWS
 \r
 OBJECTS=exactinf$(OE)\r
 !IFDEF WITH_BP\r
-CCFLAGS=$(CCFLAGS) /DWITH_BP\r
+CCFLAGS=$(CCFLAGS) /DDAI_WITH_BP\r
 OBJECTS=$(OBJECTS) bp$(OE)\r
 !ENDIF\r
 !IFDEF WITH_MF\r
-CCFLAGS=$(CCFLAGS) /DWITH_MF\r
+CCFLAGS=$(CCFLAGS) /DDAI_WITH_MF\r
 OBJECTS=$(OBJECTS) mf$(OE)\r
 !ENDIF\r
 !IFDEF WITH_HAK\r
-CCFLAGS=$(CCFLAGS) /DWITH_HAK\r
+CCFLAGS=$(CCFLAGS) /DDAI_WITH_HAK\r
 OBJECTS=$(OBJECTS) hak$(OE)\r
 !ENDIF\r
 !IFDEF WITH_LC\r
-CCFLAGS=$(CCFLAGS) /DWITH_LC\r
+CCFLAGS=$(CCFLAGS) /DDAI_WITH_LC\r
 OBJECTS=$(OBJECTS) lc$(OE)\r
 !ENDIF\r
 !IFDEF WITH_TREEEP\r
-CCFLAGS=$(CCFLAGS) /DWITH_TREEEP\r
+CCFLAGS=$(CCFLAGS) /DDAI_WITH_TREEEP\r
 OBJECTS=$(OBJECTS) treeep$(OE)\r
 !ENDIF\r
 !IFDEF WITH_JTREE\r
-CCFLAGS=$(CCFLAGS) /DWITH_JTREE\r
+CCFLAGS=$(CCFLAGS) /DDAI_WITH_JTREE\r
 OBJECTS=$(OBJECTS) jtree$(OE)\r
 !ENDIF\r
 !IFDEF WITH_MR\r
-CCFLAGS=$(CCFLAGS) /DWITH_MR\r
+CCFLAGS=$(CCFLAGS) /DDAI_WITH_MR\r
 OBJECTS=$(OBJECTS) mr$(OE)\r
 !ENDIF\r
 \r
 !IFDEF WITH_MATLAB\r
 # Replace the following by the directory where Matlab has been installed\r
-MATLABDIR=/opt/matlab/bin\r
-# Replace the following with the extension of compiled MEX files on this platform, e.g. .mexglx for x86\r
-ME=.mexglx\r
-MEX=$(MATLABDIR)/mex\r
-MEXFLAGS=-I.\r
+MATLABDIR=c:\matlab\r
+MEX=$(MATLABDIR)\bin\mex\r
+MEXFLAGS=-Iinclude CXX\#$(CC) CXXFLAGS\#"/EHsc /Ox"\r
 !IFDEF DEBUG\r
 MEXFLAGS=$(MEXFLAGS) -g /DDAI_DEBUG\r
 !ENDIF\r
@@ -114,7 +113,7 @@ MEXFLAGS=$(MEXFLAGS) /DSMALLMEM
 !ENDIF\r
 !ENDIF\r
 \r
-HEADERS=$(INC)/bipgraph.h $(INC)/diffs.h $(INC)/index.h $(INC)/var.h $(INC)/factor.h $(INC)/varset.h $(INC)/prob.h $(INC)/daialg.h $(INC)/properties.h $(INC)/alldai.h $(INC)/enum.h $(INC)/exceptions.h\r
+HEADERS=$(INC)/bipgraph.h $(INC)/index.h $(INC)/var.h $(INC)/factor.h $(INC)/varset.h $(INC)/smallset.h $(INC)/prob.h $(INC)/daialg.h $(INC)/properties.h $(INC)/alldai.h $(INC)/enum.h $(INC)/exceptions.h\r
 \r
 TARGETS=tests utils $(LIB)/libdai$(LE) example$(EE)\r
 # testregression disabled, it uses diff\r
@@ -124,16 +123,16 @@ TARGETS = $(TARGETS) matlabs
 !ENDIF\r
 all : $(TARGETS)\r
 \r
-matlabs : matlab/dai.$(ME) matlab/dai_readfg.$(ME) matlab/dai_writefg.$(ME) matlab/dai_potstrength.$(ME)\r
+matlabs : matlab/dai$(ME) matlab/dai_readfg$(ME) matlab/dai_writefg$(ME) matlab/dai_potstrength$(ME)\r
 \r
-$(LIB)/libdai$(LE) : bipgraph$(OE) daialg$(OE) alldai$(OE) clustergraph$(OE) factorgraph$(OE) properties$(OE) regiongraph$(OE) util$(OE) weightedgraph$(OE) exceptions$(OE) varset$(OE) $(OBJECTS)\r
-       lib /out:$(LIB)/libdai$(LE) bipgraph$(OE) daialg$(OE) alldai$(OE) clustergraph$(OE) factorgraph$(OE) properties$(OE) regiongraph$(OE) util$(OE) weightedgraph$(OE) exceptions$(OE) varset$(OE) $(OBJECTS)\r
+$(LIB)/libdai$(LE) : bipgraph$(OE) daialg$(OE) alldai$(OE) clustergraph$(OE) factorgraph$(OE) properties$(OE) regiongraph$(OE) util$(OE) weightedgraph$(OE) exceptions$(OE) $(OBJECTS)\r
+       lib /out:$(LIB)/libdai$(LE) bipgraph$(OE) daialg$(OE) alldai$(OE) clustergraph$(OE) factorgraph$(OE) properties$(OE) regiongraph$(OE) util$(OE) weightedgraph$(OE) exceptions$(OE) $(OBJECTS)\r
 \r
 tests : tests/testdai$(EE)\r
 \r
 utils : utils/createfg$(EE) utils/fg2dot$(EE) utils/fginfo$(EE)\r
 \r
-testregression : tests/testdai\r
+testregression : tests/testdai$(EE)\r
        echo Testing...this can take a while...\r
        cd tests; time ./testregression; cd ..\r
 \r
@@ -141,6 +140,6 @@ doc : $(INC)/*.h $(SRC)/*.cpp doxygen.conf
        doxygen doxygen.conf\r
 \r
 clean :\r
-       del *$(OE) *.ilk *.pdb *$(EE) matlab\*.$(ME) matlab\*$(OE) tests\testdai$(EE) tests\*.pdb tests\*.ilk utils\*$(EE) utils\*.pdb utils\*.ilk $(LIB)\libdai$(LE)\r
+       del *$(OE) *.ilk *.pdb *$(EE) matlab\*$(ME) tests\testdai$(EE) tests\*.pdb tests\*.ilk utils\*$(EE) utils\*.pdb utils\*.ilk $(LIB)\libdai$(LE)\r
 \r
 !INCLUDE Makefile.shared\r