#
# default base directory for YAP installation
# (EROOT for architecture-dependent files)
#
GCC = @GCC@
prefix = @prefix@
exec_prefix = @exec_prefix@
ROOTDIR = $(prefix)
EROOTDIR = @exec_prefix@
abs_top_builddir = @abs_top_builddir@
#
# where the binary should be
#
BINDIR = $(EROOTDIR)/bin
#
# where YAP should look for libraries
#
LIBDIR=@libdir@
YAPLIBDIR=@libdir@/Yap
#
#
CC=@CC@
CXX=@CXX@

# normal
CXXFLAGS= -std=c++0x @SHLIB_CXXFLAGS@ $(YAP_EXTRAS) $(DEFS) -D_YAP_NOT_INSTALLED_=1 -I$(srcdir) -I../../../.. -I$(srcdir)/../../../../include @CPPFLAGS@ -DNDEBUG

# debug 
#CXXFLAGS= -std=c++0x @SHLIB_CXXFLAGS@ $(YAP_EXTRAS) $(DEFS) -D_YAP_NOT_INSTALLED_=1 -I$(srcdir) -I../../../.. -I$(srcdir)/../../../../include @CPPFLAGS@ -g -O0

# profiling (callgrind)
#CXXFLAGS= -std=c++0x @SHLIB_CXXFLAGS@ $(YAP_EXTRAS) $(DEFS) -D_YAP_NOT_INSTALLED_=1 -I$(srcdir) -I../../../.. -I$(srcdir)/../../../../include @CPPFLAGS@ -g -DNDEBUG


#
#
# You shouldn't need to change what follows.
#
INSTALL=@INSTALL@
INSTALL_DATA=@INSTALL_DATA@
INSTALL_PROGRAM=@INSTALL_PROGRAM@
SHELL=/bin/sh
RANLIB=@RANLIB@
srcdir=@srcdir@
SO=@SO@
#4.1VPATH=@srcdir@:@srcdir@/OPTYap
CWD=$(PWD)


HEADERS = \
	$(srcdir)/GraphicalModel.h \
	$(srcdir)/Variable.h \
	$(srcdir)/Distribution.h \
	$(srcdir)/BayesNet.h \
	$(srcdir)/BayesNode.h \
	$(srcdir)/LiftedFG.h \
	$(srcdir)/CptEntry.h \
	$(srcdir)/FactorGraph.h \
	$(srcdir)/FgVarNode.h \
	$(srcdir)/Factor.h \
	$(srcdir)/Solver.h \
	$(srcdir)/BPSolver.h \
	$(srcdir)/BPNodeInfo.h \
	$(srcdir)/SPSolver.h \
  	$(srcdir)/CountingBP.h \
	$(srcdir)/Shared.h \
	$(srcdir)/xmlParser/xmlParser.h
	
CPP_SOURCES = \
	$(srcdir)/BayesNet.cpp \
	$(srcdir)/BayesNode.cpp \
	$(srcdir)/FactorGraph.cpp \
	$(srcdir)/Factor.cpp \
	$(srcdir)/LiftedFG.cpp \
	$(srcdir)/BPSolver.cpp \
	$(srcdir)/BPNodeInfo.cpp \
	$(srcdir)/SPSolver.cpp \
	$(srcdir)/CountingBP.cpp \
	$(srcdir)/Util.cpp \
	$(srcdir)/HorusYap.cpp \
	$(srcdir)/HorusCli.cpp \
	$(srcdir)/xmlParser/xmlParser.cpp

OBJS = \
	BayesNet.o \
	BayesNode.o \
	FactorGraph.o \
	Factor.o \
	BPSolver.o \
	BPNodeInfo.o \
	SPSolver.o \
	Util.o \
	LiftedFG.o \
	CountingBP.o \
	HorusYap.o

HCLI_OBJS = \
	BayesNet.o \
	BayesNode.o \
	FactorGraph.o \
	Factor.o \
	BPSolver.o \
  BPNodeInfo.o \
	SPSolver.o \
	Util.o \
	LiftedFG.o \
	CountingBP.o \
	HorusCli.o \
	xmlParser/xmlParser.o

SOBJS=horus.@SO@


all: $(SOBJS) hcli

# default rule
%.o : $(srcdir)/%.cpp
	$(CXX) -c $(CXXFLAGS) $< -o $@


xmlParser/xmlParser.o : $(srcdir)/xmlParser/xmlParser.cpp
	$(CXX) -c $(CXXFLAGS) $< -o $@


@DO_SECOND_LD@horus.@SO@: $(OBJS)
@DO_SECOND_LD@	@SHLIB_CXX_LD@ -o horus.@SO@ $(OBJS) @EXTRA_LIBS_FOR_SWIDLLS@


hcli: $(HCLI_OBJS)
	$(CXX) -o hcli $(HCLI_OBJS)


install: all
	$(INSTALL_PROGRAM) $(SOBJS) $(DESTDIR) $(YAPLIBDIR)


clean:
	rm -f *.o *~ $(OBJS) $(SOBJS) *.BAK hcli xmlParser/*.o


depend: $(HEADERS) $(CPP_SOURCES)
	-@if test "$(GCC)" = yes; then\
	  $(CC) -std=c++0x -MM -MG $(CFLAGS) -I$(srcdir) -I$(srcdir)/../../../../include -I$(srcdir)/../../../../H $(CPP_SOURCES) >> Makefile;\
	else\
          makedepend -f - -- $(CFLAGS) -I$(srcdir)/../../../../H -I$(srcdir)/../../../../include -- $(CPP_SOURCES) |\
          sed 's|.*/\([^:]*\):|\1:|' >> Makefile ;\
	fi

# DO NOT DELETE THIS LINE -- make depend depends on it.

