#------------------------
# make file
#------------------------

CFLAGS = -g
CC = g++

OBJ = cache.o cacheEntry.o Request.o SquidLogFile.o CacheIterator.o main.o DecLogFile.o

all: $(OBJ)
	gcc $(CFLAGS) -o main $(OBJ)

reduce: reduce.o SquidLogFile.o DecLogFile.o numvec.o Request.o randomSum.o
	gcc $(CFLAGS) -o reduce reduce.o SquidLogFile.o DecLogFile.o numvec.o Request.o randomSum.o

numvec.o: numvec.C numvec.h bool.h
	$(CC) $(CFLAGS) -c numvec.C

randomSum.o: randomSum.C randomSum.h bool.h
	$(CC) $(CFLAGS) -c randomSum.C

reduce.o: reduce.C numvec.h DecLogFile.h SquidLogFile.h Request.h DecRequest.h proxytrace2txt_v2.h randomSum.h bool.h
	$(CC) $(CFLAGS) -c reduce.C

main.o: main.C cache.h DecLogFile.h SquidLogFile.h
	$(CC) $(CFLAGS) -c main.C

CacheIterator.o: CacheIterator.C CacheIterator.h cache.h cacheEntry.h
	$(CC) $(CFLAGS) -c CacheIterator.C

Request.o: Request.C Request.h
	$(CC) $(CFLAGS) -c Request.C

SquidLogFile.o: SquidLogFile.C SquidLogFile.h
	$(CC) $(CFLAGS) -c SquidLogFile.C

DecLogFile.o: DecLogFile.C DecLogFile.h proxytrace2txt_v2.h
	$(CC) $(CFLAGS) -c DecLogFile.C

cache.o: cache.C cache.h cacheEntry.h Request.h CacheIterator.h bool.h DecRequest.h
	$(CC) $(CFLAGS) -c cache.C

cacheEntry.o: cacheEntry.C cacheEntry.h
	$(CC) $(CFLAGS) -c cacheEntry.C

% :: RCS/Code/%,v
	co $<

% :: RCS/%,v
	co $<

clean:
	rm -f *~ *.o main reduce

