1 # Copyright (C) 2006-2008 Joris Mooij [joris dot mooij at tuebingen dot mpg dot de]
2 # Radboud University Nijmegen, The Netherlands /
3 # Max Planck Institute for Biological Cybernetics, Germany
5 # This file is part of libDAI.
7 # libDAI is free software; you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by
9 # the Free Software Foundation; either version 2 of the License, or
10 # (at your option) any later version.
12 # libDAI is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 # GNU General Public License for more details.
17 # You should have received a copy of the GNU General Public License
18 # along with libDAI; if not, write to the Free Software
19 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22 # Enable/disable various approximate inference methods
30 # Build with debug info?
32 # Build matlab interface?
34 # New/old matlab version?
36 # Windows or linux (default)?
44 # Extensions (library, object, executable, MEX file extensions)
53 # We use the BOOST Program Options library
54 BOOSTLIBS
=-lboost_program_options
56 # Compile using GNU C++ Compiler
58 # Output filename option
61 # Flags for the C++ compiler
62 CCFLAGS
=-Wno-deprecated
-Wall
-W
-Wextra
-fpic
-I.
/include -Llib
-O3
#-pg
64 CCFLAGS
:=$(CCFLAGS
) -g
-DDAI_DEBUG
68 CCFLAGS
=$(CCFLAGS
) -DWINDOWS
71 OBJECTS
:=exactinf
$(OE
)
73 CCFLAGS
:=$(CCFLAGS
) -DDAI_WITH_BP
74 OBJECTS
:=$(OBJECTS
) bp
$(OE
)
77 CCFLAGS
:=$(CCFLAGS
) -DDAI_WITH_MF
78 OBJECTS
:=$(OBJECTS
) mf
$(OE
)
81 CCFLAGS
:=$(CCFLAGS
) -DDAI_WITH_HAK
82 OBJECTS
:=$(OBJECTS
) hak
$(OE
)
85 CCFLAGS
:=$(CCFLAGS
) -DDAI_WITH_LC
86 OBJECTS
:=$(OBJECTS
) lc
$(OE
)
89 CCFLAGS
:=$(CCFLAGS
) -DDAI_WITH_TREEEP
90 OBJECTS
:=$(OBJECTS
) treeep
$(OE
)
93 CCFLAGS
:=$(CCFLAGS
) -DDAI_WITH_JTREE
94 OBJECTS
:=$(OBJECTS
) jtree
$(OE
)
97 CCFLAGS
:=$(CCFLAGS
) -DDAI_WITH_MR
98 OBJECTS
:=$(OBJECTS
) mr
$(OE
)
102 # Replace the following by the directory where Matlab has been installed
103 MATLABDIR
=/opt
/matlab
/bin
104 # Replace the following with the extension of compiled MEX files on this platform, e.g. .mexglx for x86
108 MEXFLAGS
:=$(MEXFLAGS
) -g
-DDAI_DEBUG
111 MEXFLAGS
:=$(MEXFLAGS
) -largeArrayDims
113 MEXFLAGS
:=$(MEXFLAGS
) -DSMALLMEM
117 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
119 TARGETS
=tests utils
$(LIB
)/libdai
$(LE
) example
$(EE
) testregression doc
121 TARGETS
:=$(TARGETS
) matlabs
126 matlabs
: matlab
/dai
$(ME
) matlab
/dai_readfg
$(ME
) matlab
/dai_writefg
$(ME
) matlab
/dai_potstrength
$(ME
)
128 $(LIB
)/libdai
$(LE
) : bipgraph
$(OE
) daialg
$(OE
) alldai
$(OE
) clustergraph
$(OE
) factorgraph
$(OE
) properties
$(OE
) regiongraph
$(OE
) util
$(OE
) weightedgraph
$(OE
) exceptions
$(OE
) $(OBJECTS
)
130 ar rcus
$(LIB
)/libdai
$(LE
) bipgraph
$(OE
) daialg
$(OE
) alldai
$(OE
) clustergraph
$(OE
) factorgraph
$(OE
) properties
$(OE
) regiongraph
$(OE
) util
$(OE
) weightedgraph
$(OE
) exceptions
$(OE
) $(OBJECTS
)
132 tests
: tests
/testdai
$(EE
)
134 utils
: utils
/createfg
$(EE
) utils
/fg2dot
$(EE
) utils
/fginfo
$(EE
)
136 testregression
: tests
/testdai
137 @echo Starting regression
test...this can take a minute or so
!
138 cd tests
; time .
/testregression
; cd ..
140 doc
: $(INC
)/*.h
$(SRC
)/*.
cpp doxygen.conf
147 -rm matlab
/*$(ME
) matlab
/*$(OE
)
148 -rm example
$(EE
) tests
/testdai
$(EE
) utils
/fg2dot
$(EE
) utils
/createfg
$(EE
) utils
/fginfo
$(EE
)
152 include Makefile.shared