# Template Makefile for applications the use the DAG Matcher library.

CC = g++ $(FLAGS) -ggdb -DLEDA_PREFIX -D_DEBUG

PGM_NAME = nnsearch
MAIN_FILE = test.cpp

INCS = -I$(NEWMAT_ROOT) \
       -I$(LEDAROOT)/incl/ \
       -I$(DAG_MATCHER_ROOT) \
       -I$(SHOCKGRAPH_ROOT)/read-xml \
       -I$(SHOCKGRAPH_ROOT)/backend \
       -I$(SHOCKGRAPH_ROOT)/helpercode \
       -I$(SHOCKGRAPH_ROOT)/common \
       -I$(SHOCKGRAPH_ROOT)/interfaces \
       -I$(SHOCKGRAPH_ROOT)/geno \
       -I$(HNSRTREE_ROOT)/include \
       -I/usr/include/gnome-xml

LIBS = -L$(NEWMAT_ROOT) \
       -L$(LEDAROOT) \
       -L$(DAG_MATCHER_ROOT) \
       -L$(SHOCKGRAPH_ROOT)/lib \
       -L$(SHOCKGRAPH_ROOT)/interfaces \
       -L$(HNSRTREE_ROOT)/lib \
       -L/../usr/X11R6/lib/

DEPS = diskdatabase.hpp matchingdatabase.hpp matchingsystem.hpp memorydatabase.hpp util.hpp
OBJS = $(PGM_NAME).o matchingdatabase.o

LEDA_LIBS = -lW -lP -lG -lL -lX11
XML_LIBS = -lxml -lread-xml -lHelpCode -lcommon -lGENO
PPM_LIBS = -lppm -lpgm -lpbm -lshockgraph


$(PGM_NAME): $(DAG_MATCHER_ROOT)/libDAGMatch.a $(OBJS)
	$(CC) -o $(PGM_NAME) $(LIBS) $(OBJS) -lDAGMatch -lHnSRTree \
       $(LEDA_LIBS) -lnewmat -lm $(XML_LIBS) $(PPM_LIBS)

lib: matchingdatabase.o
	ar -r libIndexing.a matchingdatabase.o
	ranlib libIndexing.a

$(PGM_NAME).o: $(DEPS) $(MAIN_FILE)
	$(CC) -c -o $(PGM_NAME).o $(INCS) $(MAIN_FILE)

matchingdatabase.o: $(DEPS) matchingdatabase.cpp
	$(CC) -c $(INCS) matchingdatabase.cpp



clean:
	rm *.o
