CC     = gcc
# Leave optimization at level 0
# Level 2 causes program to core dump
OPT    = -O0 -DVERBOSE
#DEBUG  = -g 

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

LIBS   =  -lpcap -lm

bench : bench.o ipv4.o radix.o
	$(CC) -o bench bench.o ipv4.o radix.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

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

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