CC     = gcc
OPT    = -O2 #-DVERBOSE
#DEBUG  = -g 

# MAKE SURE BENCHMARK FUNCTION IS DEFINED
OTHER = -DBENCHMARK_FUNCTION=ipv4routing

LIBS   =  -lpcap -lm

bench : bench.o ipv4.o trie.o qsort.o
	$(CC) -o bench bench.o ipv4.o trie.o qsort.o $(LIBS)

bench.o : bench.c bench.h
	$(CC) -c $(OPT) $(DEBUG) $(OTHER) bench.c

ipv4.o : ipv4.c ipv4.h
	$(CC) -c $(OPT) $(DEBUG) ipv4.c

trie.o : trie.c trie.h
	$(CC) -c $(OPT) $(DEBUG) trie.c

qsort.o : qsort.c qsort.h
	$(CC) -c $(OPT) $(DEBUG) qsort.c

clean:
	rm -f *.o *~ bench core* dump.raw drop.raw
