# # Modification History # # 2003-July-27 Jason Rohrer # Created. Modified from konspire2b source. # Added message router. # # 2003-August-7 Jason Rohrer # Added DuplicateMessageDetector. # # 2003-August-8 Jason Rohrer # Added other test programs. # # 2003-August-12 Jason Rohrer # Added protocolUtils. # # 2003-August-24 Jason Rohrer # Added secure streams. # # 2003-September-8 Jason Rohrer # Added use of sed to fix auto-generated dependency path. # # 2003-September-9 Jason Rohrer # Fixed clean target. # # 2003-October-2 Jason Rohrer # Added binary semaphore. # # 2003-October-9 Jason Rohrer # Added message limiter. # # 2003-October-12 Jason Rohrer # Added use of message ID tracker. # # 2003-November-6 Jason Rohrer # Removed SHA1 object. # # 2004-January-1 Jason Rohrer # Added simpleWebHostCache. # # 2004-January-4 Jason Rohrer # Added network function locks. # # 2004-April-1 Jason Rohrer # Added FinishedSignalThreads. # ## # The portion of MUTE messageRouting Makefiles common to all platforms. # Should not be made manually---used by MUTE/configure to build Makefiles. ## ROOT_PATH = ../../.. COMMON_PATH = ${ROOT_PATH}/MUTE/common STREAM_PATH = ${ROOT_PATH}/MUTE/layers/secureStream LAYER_SOURCE = \ ChannelReceivingThread.cpp \ LocalAddressReceiver.cpp \ ChannelReceivingThreadManager.cpp \ OutboundChannelManager.cpp \ ConnectionMaintainer.cpp \ ServerThread.cpp \ MessageIDTracker.cpp \ messageRouter.cpp \ ${COMMON_PATH}/CryptoUtils.cpp \ ${COMMON_PATH}/AESEncryptor.cpp \ ${COMMON_PATH}/AESDecryptor.cpp \ ${COMMON_PATH}/SimpleWebHostCache.cpp \ ${STREAM_PATH}/SecureStreamFactory.cpp \ ${STREAM_PATH}/SecureInputStream.cpp \ ${STREAM_PATH}/SecureOutputStream.cpp LAYER_OBJECTS = ${LAYER_SOURCE:.cpp=.o} NEEDED_MINOR_GEMS_OBJECTS = \ ${SOCKET_O} \ ${SOCKET_CLIENT_O} \ ${SOCKET_SERVER_O} \ ${HOST_ADDRESS_O} \ ${NETWORK_FUNCTION_LOCKS_O} \ ${MUTEX_LOCK_O} \ ${THREAD_O} \ ${TIME_O} \ ${HOST_CATCHER_O} \ ${OUTBOUND_CHANNEL_O} \ ${DUPLICATE_MESSAGE_DETECTOR_O} \ ${PROTOCOL_UTILS_O} \ ${MESSAGE_PER_SECOND_LIMITER_O} \ ${ENCODING_UTILS_O} \ ${SETTINGS_MANAGER_O} \ ${STRING_UTILS_O} \ ${STRING_BUFFER_OUTPUT_STREAM_O} \ ${PRINT_UTILS_O} \ ${LOG_O} \ ${PRINT_LOG_O} \ ${APP_LOG_O} \ ${FILE_LOG_O} \ ${TYPE_IO_O} \ ${PATH_O} \ ${BINARY_SEMAPHORE_O} \ ${WEB_CLIENT_O} \ ${URL_UTILS_O} \ ${FINISHED_SIGNAL_THREAD_O} CRYPTO_LIB = ${ROOT_PATH}/MUTE/crypto/libcrypto.a TEST_SOURCE = test/testMessageRouter.cpp test/testMessageRouter2.cpp test/testTalker.cpp test/testBystander.cpp test/testCatcher.cpp TEST_OBJECTS = ${TEST_SOURCE:.cpp=.o} DEPENDENCY_FILE = Makefile.dependencies # targets all: libmuteMessageRouter.a test/testMessageRouter test/testMessageRouter2 test/testTalker test/testBystander test/testCatcher clean: rm -f ${DEPENDENCY_FILE} ${LAYER_OBJECTS} ${TEST_OBJECTS} ${NEEDED_MINOR_GEMS_OBJECTS} libmuteMessageRouter.a test/testMessageRouter test/testMessageRouter2 test/testTalker test/testBystander test/testCatcher libmuteMessageRouter.a: ${LAYER_OBJECTS} ${NEEDED_MINOR_GEMS_OBJECTS} ${LIBRARY_LINK} libmuteMessageRouter.a ${NEEDED_MINOR_GEMS_OBJECTS} ${LAYER_OBJECTS} ${RANLIB} libmuteMessageRouter.a test/testMessageRouter: libmuteMessageRouter.a test/testMessageRouter.o ${EXE_LINK} -o test/testMessageRouter test/testMessageRouter.o libmuteMessageRouter.a ${CRYPTO_LIB} ${PLATFORM_LINK_FLAGS} test/testMessageRouter2: libmuteMessageRouter.a test/testMessageRouter2.o ${EXE_LINK} -o test/testMessageRouter2 test/testMessageRouter2.o libmuteMessageRouter.a ${CRYPTO_LIB} ${PLATFORM_LINK_FLAGS} test/testTalker: libmuteMessageRouter.a test/testTalker.o ${EXE_LINK} -o test/testTalker test/testTalker.o libmuteMessageRouter.a ${CRYPTO_LIB} ${PLATFORM_LINK_FLAGS} test/testBystander: libmuteMessageRouter.a test/testBystander.o ${EXE_LINK} -o test/testBystander test/testBystander.o libmuteMessageRouter.a ${CRYPTO_LIB} ${PLATFORM_LINK_FLAGS} test/testCatcher: libmuteMessageRouter.a test/testCatcher.o ${EXE_LINK} -o test/testCatcher test/testCatcher.o libmuteMessageRouter.a ${CRYPTO_LIB} ${PLATFORM_LINK_FLAGS} # sed command for fixing up the dependencies generated by g++ # g++ (pre-3.0) leaves the path off of the .o target # look for a .o file at the beginning of a line (in other words, one # without a path), and replace it with the full-path version. # This should be compatible with g++ 3.0, since we only replace .o names # that occur at the beginning of a line (using the "^" modifier) MESSAGE_ROUTING_SED_FIX_COMMAND = sed ' \ s/^CryptoUtils.o/$${COMMON_PATH}\/CryptoUtils.o/; \ s/^AESEncryptor.o/$${COMMON_PATH}\/AESEncryptor.o/; \ s/^AESDecryptor.o/$${COMMON_PATH}\/AESDecryptor.o/; \ s/^SecureInputStream.o/$${STREAM_PATH}\/SecureInputStream.o/; \ s/^SecureOutpuStream.o/$${STREAM_PATH}\/SecureOutputStream.o/; \ s/^SecureStreamFactory.o/$${STREAM_PATH}\/SecureStreamFactory.o/; \ s/^testMessageRouter.o/test\/testMessageRouter.o/; \ s/^testMessageRouter2.o/test\/testMessageRouter2.o/; \ s/^testTalker.o/test\/testTalker.o/; \ s/^testBystander.o/test\/testBystander.o/; \ s/^testCatcher.o/test\/testCatcher.o/; \ ' # build the dependency file ${DEPENDENCY_FILE}: ${LAYER_SOURCE} ${TEST_SOURCE} rm -f ${DEPENDENCY_FILE} ${COMPILE} -I${ROOT_PATH} -MM ${LAYER_SOURCE} ${TEST_SOURCE} >> ${DEPENDENCY_FILE}.temp cat ${DEPENDENCY_FILE}.temp | ${MESSAGE_ROUTING_SED_FIX_COMMAND} >> ${DEPENDENCY_FILE} rm -f ${DEPENDENCY_FILE}.temp include ${DEPENDENCY_FILE}