CC=g++
GPPFLAGS=-I/usr/include/libxml2
LDFLAGS=-L/usr/lib -lxml2 -lz -lpthread -lm  -D_LARGE_THREADS
OBJECT_FILES=WarmupDetector.o URLInfo.o ConfigParser.o Farmer.o Transaction.o Request.o Connector.o Time.o Cookie.o Globals.o SequenceGenerator.o Sequence.o LoadGenerator.o Farm.o

all: libLG.a

libLG.a: $(OBJECT_FILES)
	ar rvs libLG.a $(OBJECT_FILES)

#all: lg

#lg: $(OBJECT_FILES) Farm.cpp
#	$(CC) $(GPPFLAGS) $(LDFLAGS) -o lg Farm.cpp $(OBJECT_FILES)

WarmupDetector.o: ClassDefinations.h WarmupDetector.cpp
	$(CC) $(GPPFLAGS) -c WarmupDetector.cpp

URLInfo.o: ClassDefinations.h URLInfo.cpp
	$(CC) $(GPPFLAGS) -c URLInfo.cpp

Globals.o: ClassDefinations.h Globals.cpp
	$(CC) $(GPPFLAGS) -c Globals.cpp

ConfigParser.o: ClassDefinations.h ConfigParser.cpp 
	$(CC) $(GPPFLAGS) -c ConfigParser.cpp

Farmer.o: ClassDefinations.h Farmer.cpp 
	$(CC) $(GPPFLAGS) -c Farmer.cpp

Transaction.o: ClassDefinations.h Transaction.cpp 
	$(CC) $(GPPFLAGS) -c Transaction.cpp

Request.o: ClassDefinations.h Request.cpp
	$(CC) $(GPPFLAGS) -c Request.cpp

Connector.o: ClassDefinations.h Connector.cpp
	$(CC) $(GPPFLAGS) -c Connector.cpp
	
Time.o: ClassDefinations.h Time.cpp
	$(CC) $(GPPFLAGS) -c Time.cpp

Cookie.o: ClassDefinations.h Cookie.cpp Globals.cpp
	$(CC) $(GPPFLAGS) -c Cookie.cpp

Sequence.o: ClassDefinations.h Sequence.cpp Globals.cpp
	$(CC) $(GPPFLAGS) -c Sequence.cpp

SequenceGenerator.o: ClassDefinations.h SequenceGenerator.cpp Globals.cpp
	$(CC) $(GPPFLAGS) -c SequenceGenerator.cpp

LoadGenerator.o: LoadGenerator.h LoadGenerator.cpp
	$(CC) $(GPPFLAGS) -c LoadGenerator.cpp

Farm.o: ClassDefinations.h Farm.cpp
	$(CC) $(GPPFLAGS) -c Farm.cpp

clean:
	rm *.o libLG.a
