lib_LTLIBRARIES = libariba.la libariba_la_SOURCES = # compiler flags ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # read the autotools book 11.4 for setting the versioning number # this is different from normal versioning schemes and important # to set correctly as the runtime linker chooses the correct lib # depending on the versioning information here! This is not the # project version number!! libariba_la_LDFLAGS = -version-info 0:0:0 # compiler flags ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ AM_CPPFLAGS = -DLINUX -D_LINUX -I../ -D_REENTRANT -DSCTP_KERN AM_CPPFLAGS += $(BOOST_CPPFLAGS) if DEBUG AM_CPPFLAGS += -ggdb -DDEBUG -D_DEBUG -O0 endif if PROFILING AM_CPPFLAGS += -pg endif if OMNET AM_CPPFLAGS += -fPIC -DUNDERLAY_OMNET endif # linker flags ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ AM_LDFLAGS = $(BOOST_THREAD_LDFLAGS) $(BOOST_SYSTEM_LDFLAGS) $(BOOST_REGEX_LDFLAGS) LIBS += $(BOOST_THREAD_LIBS) $(BOOST_SYSTEM_LIBS) $(BOOST_REGEX_LIBS) if PROFILING AM_LDFLAGS += -pg endif if OMNET AM_LDFLAGS += -shared -rdynamic endif # sources and subdirs ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #tidy interface libariba_la_SOURCES += \ AribaModule.cpp \ AribaModule.h \ TidyCommunicationListener.cpp \ TidyCommunicationListener.h \ Identifiers.cpp \ Identifiers.h \ LinkProperties.cpp \ LinkProperties.h \ TidyMessage.cpp \ TidyMessage.h \ DataMessage.cpp \ DataMessage.h \ Module.cpp \ Module.h \ Name.cpp \ Name.h \ Node.cpp \ Node.h \ NodeListener.cpp \ NodeListener.h \ SpoVNetProperties.cpp \ SpoVNetProperties.h #communication libariba_la_SOURCES += \ communication/BaseCommunication.cpp \ communication/BaseCommunication.h \ communication/CommunicationEvents.cpp \ communication/CommunicationEvents.h \ communication/EndpointDescriptor.cpp \ communication/EndpointDescriptor.h #communication :: messages libariba_la_SOURCES += \ communication/messages/AribaBaseMsg.cpp \ communication/messages/AribaBaseMsg.h #communication :: modules libariba_la_SOURCES += \ communication/modules/modules.h \ communication/modules/_namespace.h #communication :: modules :: network libariba_la_SOURCES += \ communication/modules/network/NetworkLocator.cpp \ communication/modules/network/NetworkLocator.h \ communication/modules/network/NetworkProtocol.cpp \ communication/modules/network/NetworkProtocol.h #communication :: modules :: network :: ip libariba_la_SOURCES += \ communication/modules/network/ip/IPv4Locator.cpp \ communication/modules/network/ip/IPv4Locator.h \ communication/modules/network/ip/IPv4NetworkProtocol.cpp \ communication/modules/network/ip/IPv4NetworkProtocol.h if OMNET #communication :: modules :: network :: omnet libariba_la_SOURCES += \ communication/modules/network/omnet/OmnetNetworkProtocol.cpp \ communication/modules/network/omnet/OmnetNetworkProtocol.h endif #communication :: modules :: transport libariba_la_SOURCES += \ communication/modules/transport/TransportLocator.cpp \ communication/modules/transport/TransportLocator.h \ communication/modules/transport/TransportProtocol.cpp \ communication/modules/transport/TransportProtocol.h if OMNET #communication :: modules :: transport :: omnet libariba_la_SOURCES += \ communication/modules/transport/omnet/AribaOmnetMessage_m.cc \ communication/modules/transport/omnet/AribaOmnetMessage_m.h \ communication/modules/transport/omnet/AribaOmnetModule.cpp \ communication/modules/transport/omnet/AribaOmnetModule.h endif if OMNET else #communication :: modules :: transport :: protlib libariba_la_SOURCES += \ communication/modules/transport/protlib/timer_module.cpp \ communication/modules/transport/protlib/threadsafe_db.cpp \ communication/modules/transport/protlib/address.cpp \ communication/modules/transport/protlib/ie.cpp \ communication/modules/transport/protlib/tp_over_tcp.cpp \ communication/modules/transport/protlib/setuid.cpp \ communication/modules/transport/protlib/tp.cpp \ communication/modules/transport/protlib/connectionmap_uds.cpp \ communication/modules/transport/protlib/logfile.cpp \ communication/modules/transport/protlib/timer.cpp \ communication/modules/transport/protlib/connectionmap.cpp \ communication/modules/transport/protlib/fqueue.cpp \ communication/modules/transport/protlib/threads.cpp \ communication/modules/transport/protlib/messages.cpp \ communication/modules/transport/protlib/queuemanager.cpp \ communication/modules/transport/protlib/network_message.cpp \ communication/modules/transport/protlib/configuration.cpp \ communication/modules/transport/protlib/tp_over_uds.cpp \ communication/modules/transport/protlib/tp_over_udp.cpp \ communication/modules/transport/protlib/tp_over_tls_tcp.cpp \ communication/modules/transport/protlib/fastqueue.c \ communication/modules/transport/protlib/eclock_gettime.c \ communication/modules/transport/protlib/testqueue.c \ communication/modules/transport/protlib/tp_over_uds.h \ communication/modules/transport/protlib/threadsafe_db.h \ communication/modules/transport/protlib/configuration.h \ communication/modules/transport/protlib/ie.h \ communication/modules/transport/protlib/llhashers.h \ communication/modules/transport/protlib/fqueue.h \ communication/modules/transport/protlib/assocdata_uds.h \ communication/modules/transport/protlib/address.h \ communication/modules/transport/protlib/logfile.h \ communication/modules/transport/protlib/timer.h \ communication/modules/transport/protlib/queuemanager.h \ communication/modules/transport/protlib/messages.h \ communication/modules/transport/protlib/assocdata.h \ communication/modules/transport/protlib/protlib_types.h \ communication/modules/transport/protlib/tp_over_tcp.h \ communication/modules/transport/protlib/tp.h \ communication/modules/transport/protlib/threads.h \ communication/modules/transport/protlib/connectionmap.h \ communication/modules/transport/protlib/timer_module.h \ communication/modules/transport/protlib/fastqueue.h \ communication/modules/transport/protlib/tperror.h \ communication/modules/transport/protlib/tp_over_tls_tcp.h \ communication/modules/transport/protlib/network_message.h \ communication/modules/transport/protlib/tp_over_udp.h \ communication/modules/transport/protlib/setuid.h \ communication/modules/transport/protlib/cleanuphandler.h \ communication/modules/transport/protlib/connectionmap_uds.h endif if OMNET else #communication :: modules :: transport :: tcp libariba_la_SOURCES += \ communication/modules/transport/tcp/TCPTransport.cpp \ communication/modules/transport/tcp/TCPTransport.h \ communication/modules/transport/tcp/TCPTransportLocator.cpp \ communication/modules/transport/tcp/TCPTransportLocator.h endif #communication :: networkinfo libariba_la_SOURCES += \ communication/networkinfo/AddressInformation.cpp \ communication/networkinfo/AddressInformation.h \ communication/networkinfo/NetworkChangeDetection.cpp \ communication/networkinfo/NetworkChangeDetection.h \ communication/networkinfo/NetworkChangeInterface.h \ communication/networkinfo/NetworkInterface.h \ communication/networkinfo/NetworkInformation.cpp \ communication/networkinfo/NetworkInformation.h \ communication/networkinfo/NetworkInterface.cpp #interface libariba_la_SOURCES += \ interface/UnderlayAbstraction.cpp \ interface/UnderlayAbstraction.h \ interface/AribaContext.cpp \ interface/AribaContext.h \ interface/ServiceInterface.cpp \ interface/ServiceInterface.h #overlay libariba_la_SOURCES += \ overlay/BaseOverlay.cpp \ overlay/BaseOverlay.h \ overlay/OverlayEvents.cpp \ overlay/OverlayEvents.h #overlay :: messages libariba_la_SOURCES += \ overlay/messages/JoinReply.cpp \ overlay/messages/JoinReply.h \ overlay/messages/JoinRequest.cpp \ overlay/messages/JoinRequest.h \ overlay/messages/OverlayMsg.cpp \ overlay/messages/OverlayMsg.h #overlay :: modules libariba_la_SOURCES += \ overlay/modules/OverlayStructureEvents.cpp \ overlay/modules/OverlayStructureEvents.h \ overlay/modules/OverlayFactory.cpp \ overlay/modules/OverlayFactory.h \ overlay/modules/OverlayInterface.cpp \ overlay/modules/OverlayInterface.h #overlay :: modules :: chord # libariba_la_SOURCES += \ # overlay/modules/chord/ChordSuccessorList.h \ # overlay/modules/chord/Chord.h \ # overlay/modules/chord/ChordFingerTable.h \ # overlay/modules/chord/ChordSuccessorList.cc \ # overlay/modules/chord/Chord.cc \ # overlay/modules/chord/ChordFingerTable.cc #overlay :: modules :: onehop libariba_la_SOURCES += \ overlay/modules/onehop/OneHop.cpp \ overlay/modules/onehop/OneHop.h \ overlay/modules/onehop/messages/OneHopMessage.cpp \ overlay/modules/onehop/messages/OneHopMessage.h \ overlay/modules/onehop/messages/NodeListingRequest.cpp \ overlay/modules/onehop/messages/NodeListingRequest.h \ overlay/modules/onehop/messages/NodeListingReply.cpp \ overlay/modules/onehop/messages/NodeListingReply.h #utility libariba_la_SOURCES += \ utility/types.h \ utility/messages.h \ utility/serialization.h #utility :: configuration libariba_la_SOURCES += \ utility/configuration/ConfigFile.cpp \ utility/configuration/ConfigFile.h \ utility/configuration/Configuration.cpp \ utility/configuration/Configuration.h #utility :: internal libariba_la_SOURCES += \ utility/internal/Utilities.hpp #utility :: logging libariba_la_SOURCES += \ utility/logging/Logging.h #utility :: measurement libariba_la_SOURCES += \ utility/measurement/PathloadMeasurement.cpp \ utility/measurement/PathloadMeasurement.h #utility :: messages libariba_la_SOURCES += \ utility/messages/_namespace.h \ utility/messages/Message.cpp \ utility/messages/Message.h \ utility/messages/MessageControlInfo.cpp \ utility/messages/MessageControlInfo.h \ utility/messages/MessageProvider.cpp \ utility/messages/MessageProvider.h \ utility/messages/MessageReceiver.cpp \ utility/messages/MessageReceiver.h \ utility/messages/MessageSender.cpp \ utility/messages/MessageSender.h \ utility/messages/MessageUtilities.h \ utility/messages/TextMessage.cpp \ utility/messages/TextMessage.h #utility :: misc libariba_la_SOURCES += \ utility/misc/Demultiplexer.hpp \ utility/misc/Helper.cpp \ utility/misc/Helper.h \ utility/misc/KeyMapping.hpp \ utility/misc/OvlVis.cpp \ utility/misc/OvlVis.h \ utility/misc/sha1.cpp \ utility/misc/sha1.h #utility :: serialization libariba_la_SOURCES += \ utility/serialization/Serialization.cpp \ utility/serialization/DataUtilities.hpp \ utility/serialization/Serialization.hpp \ utility/serialization/Data.hpp \ utility/serialization/DataStream.hpp #utility :: system libariba_la_SOURCES += \ utility/system/BlockingMethod.cpp \ utility/system/BlockingMethod.h \ utility/system/SystemEvent.cpp \ utility/system/SystemEvent.h \ utility/system/SystemEventListener.cpp \ utility/system/SystemEventListener.h \ utility/system/SystemEventType.cpp \ utility/system/SystemEventType.h \ utility/system/SystemQueue.cpp \ utility/system/SystemQueue.h \ utility/system/Timer.cpp \ utility/system/Timer.h \ utility/system/StartupWrapper.cpp \ utility/system/StartupWrapper.h \ utility/system/StartupInterface.h #utility :: types libariba_la_SOURCES += \ utility/types/_namespace.h \ utility/types/Address.cpp \ utility/types/Address.h \ utility/types/Data.hpp \ utility/types/Identifier.cpp \ utility/types/Identifier.h \ utility/types/LinkID.cpp \ utility/types/LinkID.h \ utility/types/Locator.cpp \ utility/types/Locator.h \ utility/types/NodeID.cpp \ utility/types/NodeID.h \ utility/types/OverlayParameterSet.cpp \ utility/types/OverlayParameterSet.h \ utility/types/QoSParameterSet.cpp \ utility/types/QoSParameterSet.h \ utility/types/SecurityParameterSet.cpp \ utility/types/SecurityParameterSet.h \ utility/types/ServiceID.cpp \ utility/types/ServiceID.h \ utility/types/SpoVNetID.cpp \ utility/types/SpoVNetID.h # make install stuff ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # libariba_ladir = ${pkgincludedir} # # #interfaces headers for make install - don't # #remove the here listed .h files from _SOURCES! # libariba_la_HEADERS = \ # tidy/ariba.h \ # tidy/AribaModule.h \ # tidy/DataMessage.h \ # tidy/Identifiers.h \ # tidy/LinkProperties.h \ # tidy/Module.h \ # tidy/Name.h \ # tidy/Node.h \ # tidy/NodeListener.h \ # tidy/SpoVNetProperties.h \ # tidy/TidyCommunicationListener.h \ # tidy/TidyMessage.h # old make install stuff ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #autotools does not support hierarchical folders in the header dir #so we copy them on our own using, similar to 14.3 in the autobook # header files to install - TODO: extract all *.h and *.hpp files ~~~~ libariba_ladir = ${pkgincludedir} install-data-local: @for f in $(libariba_la_SOURCES); do \ d=`echo $$f | sed -e 's,/[^/]*$$,,'`; \ $(mkinstalldirs) $(DESTDIR)$(libariba_ladir)/$$d; \ if test -f $(srcdir)/$$f; then p=$(srcdir)/$$f; else p=$$f; fi; \ $(INSTALL_DATA) $$p $(DESTDIR)$(libariba_ladir)/$$f; \ done uninstall-local: rm -rf $(DESTDIR)$(libariba_ladir)