Improved documentation...
[libdai.git] / Makefile.win
index b0a1754..ab088e4 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,33 +113,35 @@ 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
+TARGETS=tests utils $(LIB)/libdai$(LE) examples\r
 # testregression disabled, it uses diff\r
-# doc disabled, it uses doxygen\r
+# doc disabled, it uses doxygen, graphviz and latex\r
 !IFDEF WITH_MATLAB\r
 TARGETS = $(TARGETS) matlabs\r
 !ENDIF\r
 all : $(TARGETS)\r
 \r
-matlabs : matlab/dai.$(ME) matlab/dai_readfg.$(ME) matlab/dai_writefg.$(ME) matlab/dai_potstrength.$(ME)\r
+examples : examples/example$(EE) examples/example_bipgraph$(EE) examples/example_varset$(EE)\r
+\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
-       echo Testing...this can take a while...\r
+testregression : tests/testdai$(EE)\r
+       echo Starting regression test...this can take a minute or so!\r
        cd tests; time ./testregression; cd ..\r
 \r
-doc : $(INC)/*.h $(SRC)/*.cpp doxygen.conf\r
+doc : $(INC)/*.h $(SRC)/*.cpp examples/*.cpp doxygen.conf\r
        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) examples\*$(EE) tests\testdai$(EE) tests\*.pdb tests\*.ilk utils\*$(EE) utils\*.pdb utils\*.ilk $(LIB)\libdai$(LE)\r
 \r
 !INCLUDE Makefile.shared\r