# Makefile pro LDP
# Radek Hranicky - xhrani00@stud.fit.vutbr.cz

DIR=./src/
CC=g++
PRE=-std=c++98 -D_REENTRANT -Wall -pedantic -W -lnet -lpcap -lpthread

all:	ldp

.PHONY: clean doxygen

main.o: $(DIR)main.cpp $(DIR)main.h
	$(CC) $(PRE) -c $(DIR)main.cpp -o main.o

packet.o: $(DIR)packet.cpp $(DIR)packet.h
	$(CC) $(PRE) -c $(DIR)packet.cpp -opacket.o

errors.o: $(DIR)errors.cpp $(DIR)errors.h
	$(CC) $(PRE) -c $(DIR)errors.cpp -o errors.o

config.o: $(DIR)config.cpp $(DIR)config.h
	$(CC) $(PRE) -c $(DIR)config.cpp -o config.o

net.o: $(DIR)net.cpp $(DIR)net.h
	$(CC) $(PRE) -c $(DIR)net.cpp -o net.o

translator.o: $(DIR)translator.cpp $(DIR)translator.h
	$(CC) $(PRE) -c $(DIR)translator.cpp -o translator.o

deceive.o: $(DIR)deceive.cpp $(DIR)deceive.h
	$(CC) $(PRE) -c $(DIR)deceive.cpp -o deceive.o

tcp.o: $(DIR)tcp.cpp $(DIR)tcp.h
	$(CC) $(PRE) -c $(DIR)tcp.cpp -o tcp.o

noise.o: $(DIR)noise.cpp $(DIR)noise.h
	$(CC) $(PRE) -c $(DIR)noise.cpp -o noise.o

ldp: main.o packet.o errors.o config.o net.o translator.o deceive.o tcp.o noise.o
	$(CC) $(PRE) main.o packet.o errors.o config.o net.o translator.o deceive.o tcp.o noise.o -o ldp

clean:
	rm -f *~
	rm -f *.o
	rm -f ldp
	rm -rf doc/*

doxygen:
	doxygen doxyfile
