CC = gcc

CFLAGS = -g

INCLUDE = -I /tmp/nas/libpcap-0.9.5

SNIF_LIBS = -L /tmp/nas/libpcap-0.9.5 -lpcap -lm
#SNIF_LIBS = /tmp/nas/usr/lib/libpcap.so.0.9.4 -lm

AWACS_LIBS = -lm

AWACS_OBJS = awacs.o node.o hash.o geom.o
SNIF_OBJS = sniffer.o node.o hash.o batch_ipc.o
CALIBR_OBJS = calibr.o node.o hash.o batch_ipc.o
RADIUS_OBJS = radius.o node.o hash.o batch_ipc.o
TRIANGLE_OBJS = triangle.o node.o hash.o batch_ipc.o
DIAGR_OBJ = dgraphgen.o node.o hash.o batch_ipc.o
BRUTE_OBJS = brute.o node.o hash.o batch_ipc.o
ROD_OBJS = rod.o node.o hash.o batch_ipc.o

all: sniffer dgraphgen calibr radius triangle brute rod

sniffer: ${SNIF_OBJS}
	${CC} ${CFLAGS} -o sniffer ${SNIF_OBJS} ${SNIF_LIBS}

dgraphgen: ${DIAGR_OBJ}
	${CC} ${CFLAGS} -o dgraphgen ${DIAGR_OBJ} ${AWACS_LIBS}

calibr: ${CALIBR_OBJS}
	${CC} ${CFLAGS} -o calibr ${CALIBR_OBJS} ${AWACS_LIBS}

radius: ${RADIUS_OBJS}
	${CC} ${CFLAGS} -o radius ${RADIUS_OBJS} ${AWACS_LIBS}

triangle: ${TRIANGLE_OBJS}
	${CC} ${CFLAGS} -o triangle ${TRIANGLE_OBJS} ${AWACS_LIBS}

brute: ${BRUTE_OBJS}
	${CC} ${CFLAGS} -o brute ${BRUTE_OBJS} ${AWACS_LIBS}

rod: ${ROD_OBJS}
	${CC} ${CFLAGS} -o rod ${ROD_OBJS} ${AWACS_LIBS}

awacs: ${AWACS_OBJS}
	${CC} ${CFLAGS} -o awacs ${AWACS_OBJS} ${AWACS_LIBS}

avacs.o: awacs.c node.h hash.h geom.h
	${CC} ${CFLAGS} -c avacs.c

sniffer.o: sniffer.c node.h hash.h
	${CC} ${CFLAGS} ${INCLUDE} -c sniffer.c

node.o: node.c node.h
	${CC} ${CFLAGS} -c node.c

hash.o: hash.c hash.h
	${CC} ${CFLAGS} -c hash.c

geom.o: geom.c geom.h
	${CC} ${CFLAGS} -c geom.c

batch_ipc.o: batch_ipc.c batch_ipc.h
	${CC} ${CFLAGS} -c batch_ipc.c

dgraphgen.o: dgraphgen.c node.h hash.h
	${CC} ${CFLAGS} -c dgraphgen.c

clean:
	rm *.o sniffer calibr radius dgraphgen triangle brute rod
