# Makefile for the socket programming example # server_objects = server/ServerSocket.o lib/Socket.o server/ClientConnection.o lib/Job.o server/ConfigIniParser.o server/Server.cpp new_client_objects = client/ClientSocket.o lib/Socket.o lib/Job.o lib/Thread.o client/BruteForcePass.o client/BruteForcePassParam.o client/Client.cpp all : server client HashMD5 HashMD5Crypt HashNT HashNTLM HashSHA1 HashSHA0 server: $(server_objects) g++ -o Server.exe -ldb -lpthread $(server_objects) client: $(new_client_objects) g++ -o Client.exe -ldl -lcrypt -lssl -lpthread $(new_client_objects) HashMD5Crypt: client/HashMD5Crypt.cpp client/Hash.h $(CXX) $(CXXFLAGS) -shared -Wl,-soname,HashMD5Crypt.so -o HashMD5Crypt.so client/HashMD5Crypt.cpp HashMD5: client/HashMD5.cpp client/Hash.h $(CXX) $(CXXFLAGS) -shared -Wl,-soname,HashMD5.so -o HashMD5.so client/HashMD5.cpp HashNT: client/HashNT.cpp client/Hash.h $(CXX) $(CXXFLAGS) -shared -Wl,-soname,HashNT.so -o HashNT.so client/HashNT.cpp HashNTLM: client/HashNTLM.cpp client/Hash.h $(CXX) $(CXXFLAGS) -shared -Wl,-soname,HashNTLM.so -o HashNTLM.so client/HashNTLM.cpp HashSHA0: client/HashSHA0.cpp client/Hash.h $(CXX) $(CXXFLAGS) -shared -Wl,-soname,HashSHA0.so -o HashSHA0.so client/HashSHA0.cpp HashSHA1: client/HashSHA1.cpp client/Hash.h $(CXX) $(CXXFLAGS) -shared -Wl,-soname,HashSHA1.so -o HashSHA1.so client/HashSHA1.cpp ClientConnection: server/ClientConnection.cpp ConfigIniParser: server/ConfigIniParser.cpp ServerSocket: server/ServerSocket.cpp Server: server/Server.cpp BruteForcePass: client/BruteForcePass.cpp BruteForcePassParam: client/BruteForcePassParam.cpp ClientSocket: client/ClientSocket.cpp Job: lib/job.cpp Thread: lib/Thread.cpp Socket: lib/Socket.cpp clean_server: rm -f server/*.o Server.exe lib/*.o clean_client: rm -f client/*.o Client.exe lib/*.o clean : rm -f server/*.o Server.exe client/*.o Client.exe lib/*.o *~ */*~ *.ini *.db *.so