CC=gcc
CCFLAGS=-D_SERVER -Wall

LD=ld
LDFLAGS=-lc -lnet

# chanche if necessary
LNETINC = -I/usr/local/include
LLIBINC = -L/usr/local/lib

# uncomment if this is a openbsd box
LCRYPT = -lcrypt


OBJS=main.o serverconfig.o serversockets.o scan.o config.o utils.o structs.o networking.o

all:	$(OBJS) linkem

linkem:
	$(CC) $(CCFLAGS) $(OBJS) -o dscans $(LCRYPT) $(LLIBINC) `libnet-config --libs` -lpcap
	strip dscans
	chmod 755 dscans

clean:
	rm -f $(OBJS) dscans


structs.o: ../common/structs.c ../common/structs.h
	$(CC) $(CCFLAGS) -c ../common/structs.c -o structs.o

config.o: ../common/config.c ../common/config.h
	$(CC) $(CCFLAGS) -c ../common/config.c -o config.o

networking.o: ../common/networking.c ../common/networking.h
	$(CC) $(CCFLAGS) -c ../common/networking.c -o networking.o

utils.o: ../common/utils.c ../common/utils.h
	$(CC) $(CCFLAGS) -c ../common/utils.c -o utils.o

scan.o: scan.c scan.h
	$(CC) $(CCFLAGS) `libnet-config --defines` -c scan.c -o scan.o $(LNETINC)

serversockets.o: serversockets.c serversockets.h
	$(CC) $(CCFLAGS) `libnet-config --defines` -c serversockets.c -o serversockets.o $(LNETINC)

serverconfig.o: serverconfig.c serverconfig.h
	$(CC) $(CCFLAGS) -c serverconfig.c -o serverconfig.o

main.o: main.c
	$(CC) $(CCFLAGS) -c main.c -o main.o
