
prog: prog.c stack.o arp.o ether.o ip.o icmp.o tcp.o bpf.o tap.o cksum.o
	gcc -Wall -g -o prog prog.c stack.o arp.o ether.o ip.o icmp.o tcp.o \
	    bpf.o tap.o cksum.o -lpthread

cksum.o: cksum.c
	gcc -Wall -g -c -o cksum.o cksum.c

stack.o: stack.c
	gcc -Wall -g -c -o stack.o stack.c

arp.o: arp.c
	gcc -Wall -g -c -o arp.o arp.c

ether.o: ether.c
	gcc -Wall -g -c -o ether.o ether.c

ip.o: ip.c
	gcc -Wall -g -c -o ip.o ip.c

icmp.o: icmp.c
	gcc -Wall -g -c -o icmp.o icmp.c

tcp.o: tcp.c
	gcc -Wall -g -c -o tcp.o tcp.c

bpf.o: bpf.c
	gcc -Wall -g -c -o bpf.o bpf.c

tap.o: tap.c
	gcc -Wall -g -c -o tap.o tap.c

clean:
	rm -f prog *.o *.core
