kvserver: kvserver.o threadPool.o KVCache.o parsexml.o kvstore.o utils.o chord.o
	gcc -o kvserver kvserver.o threadPool.o KVCache.o  parsexml.o kvstore.o chord.o utils.o -pthread -lcrypto -lm

kvserver.o: kvserver.c threadPool.h KVCache.h kvstore.h
	gcc -c kvserver.c 

chord.o: chord.c
	gcc -c chord.c

utils.o: utils.c
	gcc -c utils.c

KVCache.o: KVCache.c KVCache.h kvstore.h
	gcc -c KVCache.c

parsexml.o: parsexml.c parsexml.h
	gcc -c parsexml.c

threadPool.o: threadPool.c threadPool.h KVCache.h parsexml.h
	gcc -c threadPool.c 

kvstore.o: kvstore.c kvstore.h
	gcc -c kvstore.c

run: kvserver
	./kvserver -port=8081 -threadPoolSize=5 -numSetsInCache=4 -sizeOfSet=2
clean:
	rm -f *.o kvserver kvclient *.csv *.xml batchResp*.txt