CURL_INSTALL=/project/curl
CURL_LIB=$(CURL_INSTALL)/lib
CURL_INCLUDE=$(CURL_INSTALL)/include
BOOST_INSTALL=/project/boost
BOOST_LIB=$(BOOST_INSTALL)/lib
BOOST_INCLUDE= $(BOOST_INSTALL)/include 
TBB_INSTALL=/project/tbb
TBB_LIB=$(TBB_INSTALL)/release
TBB_INCLUDE= $(TBB_INSTALL)/include
INCLUDES = -Iinclude -I$(BOOST_INCLUDE) -I$(TBB_INCLUDE) -I$(CURL_INCLUDE) 
LIBS = -L$(BOOST_LIB) -L$(TBB_LIB) -L$(CURL_LIB) 
CC=g++
FLAGS=-Wall -O2 -fomit-frame-pointer $(INCLUDES)
OBJS=build/spider_driver.o build/spider.o build/page.o build/raw_page.o

default: spider

clean:
	rm -f build/*.o
	rm -f bin/*
	rm -f src/*~ include/*~ *~

raw_page.o: src/raw_page.cpp include/raw_page.hpp
	$(CC) $(FLAGS) -c src/raw_page.cpp -o build/raw_page.o

page.o: src/page.cpp include/page.hpp
	$(CC) $(FLAGS) -c src/page.cpp -o build/page.o

spider.o: src/spider.cpp include/spider.hpp include/raw_page.hpp include/page.hpp
	$(CC) $(FLAGS) -c src/spider.cpp -o build/spider.o

spider_test.o: src/spider_driver.cpp include/spider.hpp include/page.hpp include/raw_page.hpp
	$(CC) $(FLAGS) -c src/spider_driver.cpp -o build/spider_driver.o

spider: raw_page.o page.o spider.o spider_test.o
	$(CC) $(LIBS) -Wall -lcurl -lboost_regex -lboost_thread -ltbb -o bin/spider $(OBJS)

