Makefile 1.18 KB
CXXFLAGS = -Icryptopp -Isrc/include
LDFLAGS = -Llib
LIBS = -lcryptopp -lpthread
TARGETS = bin/client bin/server bin/socket.conf


.PHONY: all clean
	ifndef $(CXX)
		CXX = g++
	endif

bin/client: bin/client.o bin/Socket.o lib/libcryptopp.so
	$(CXX) -o bin/client bin/client.o bin/Socket.o $(LDFLAGS) $(LIBS)
	strip bin/client

bin/client.o: src/client.cpp
	$(CXX) -o bin/client.o -c src/client.cpp $(CXXFLAGS)

bin/server.o: src/server.cpp src/include/server.h
	$(CXX) -o bin/server.o -c src/server.cpp $(CXXFLAGS)

bin/main_server.o: src/main_server.cpp
	$(CXX) -o bin/main_server.o -c src/main_server.cpp $(CXXFLAGS)

bin/server: bin/server.o bin/Socket.o bin/main_server.o lib/libcryptopp.so src/include/server.h 
	$(CXX) -o bin/server bin/server.o bin/Socket.o bin/main_server.o $(LDFLAGS) $(LIBS)
	strip bin/server

bin/Socket.o: src/Socket.cpp src/include/Socket.h src/include/SocketException.h
	$(CXX) -o bin/Socket.o -c src/Socket.cpp $(CXXFLAGS)

lib/libcryptopp.so:
	cd cryptopp;make clean; make dynamic; mv libcryptopp.so ../lib/libcryptopp.so 

bin/socket.conf:
	cp socket.conf bin/socket.conf

clean:
	rm -rf bin/*

docs:
	cd doc/doxygen;doxygen Doxyfile
	cd doc/latex; make	

all: $(TARGETS)