#
# GNU Radio is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
+# the Free Software Foundation; either version 3, or (at your option)
# any later version.
#
# GNU Radio is distributed in the hope that it will be useful,
include $(top_srcdir)/Makefile.common
-INCLUDES = $(PMT_INCLUDES) $(BOOST_CFLAGS) $(CPPUNIT_INCLUDES)
+INCLUDES = $(DEFINES) $(OMNITHREAD_INCLUDES) $(PMT_INCLUDES) $(BOOST_CFLAGS) $(CPPUNIT_INCLUDES)
TESTS = test_mblock
lib_LTLIBRARIES = libmblock.la libmblock-qa.la
-EXTRA_DIST =
+EXTRA_DIST = \
+ README.locking \
+ qa_bitset.mbh
+BUILT_SOURCES = \
+ qa_bitset_mbh.cc
+
+qa_bitset_mbh.cc : qa_bitset.mbh
+ $(COMPILE_MBH) $(srcdir)/qa_bitset.mbh qa_bitset_mbh.cc
+
# These are the source files that go into the mblock shared library
libmblock_la_SOURCES = \
+ mb_class_registry.cc \
mb_connection.cc \
+ mb_endpoint.cc \
mb_exception.cc \
+ mb_gettid.cc \
mb_mblock.cc \
mb_mblock_impl.cc \
mb_message.cc \
mb_msg_accepter.cc \
+ mb_msg_accepter_msgq.cc \
mb_msg_accepter_smp.cc \
mb_msg_queue.cc \
mb_port.cc \
mb_port_simple.cc \
mb_protocol_class.cc \
mb_runtime.cc \
- mb_runtime_impl.cc \
- mb_util.cc
+ mb_runtime_base.cc \
+ mb_runtime_nop.cc \
+ mb_runtime_thread_per_block.cc \
+ mb_time.cc \
+ mb_timer_queue.cc \
+ mb_util.cc \
+ mb_worker.cc
# magic flags
-libmblock_la_LDFLAGS = $(NO_UNDEFINED) -avoid-version
+libmblock_la_LDFLAGS = $(NO_UNDEFINED)
# link the library against the c++ standard library
libmblock_la_LIBADD = \
- $(PMT_LIBS) \
+ $(OMNITHREAD_LA) \
+ $(PMT_LA) \
-lstdc++
include_HEADERS = \
+ mb_class_registry.h \
mb_common.h \
mb_exception.h \
+ mb_gettid.h \
mb_mblock.h \
mb_message.h \
mb_msg_accepter.h \
+ mb_msg_accepter_msgq.h \
mb_msg_queue.h \
mb_port.h \
mb_port_simple.h \
mb_protocol_class.h \
mb_runtime.h \
+ mb_time.h \
mb_util.h
mb_endpoint.h \
mb_mblock_impl.h \
mb_msg_accepter_smp.h \
- mb_port_detail.h \
- mb_runtime_impl.h \
+ mb_runtime_base.h \
+ mb_runtime_nop.h \
+ mb_runtime_thread_per_block.h \
+ mb_timer_queue.h \
+ mb_worker.h \
+ mbi_runtime_lock.h \
qa_mblock.h \
- qa_mblock_prims.h
+ qa_mblock_prims.h \
+ qa_mblock_send.h \
+ qa_mblock_sys.h \
+ qa_timeouts.h
# Build the qa code into its own library
libmblock_qa_la_SOURCES = \
+ qa_bitset.cc \
+ qa_bitset_mbh.cc \
+ qa_disconnect.cc \
qa_mblock.cc \
- qa_mblock_prims.cc
+ qa_mblock_prims.cc \
+ qa_mblock_send.cc \
+ qa_mblock_sys.cc \
+ qa_timeouts.cc
# magic flags
-lstdc++
-noinst_PROGRAMS = \
- test_mblock
-
-
-LIBMBLOCK = libmblock.la
-LIBMBLOCKQA = libmblock-qa.la $(LIBMBLOCK)
+noinst_PROGRAMS = \
+ test_mblock \
+ benchmark_send
test_mblock_SOURCES = test_mblock.cc
-test_mblock_LDADD = $(LIBMBLOCKQA)
+test_mblock_LDADD = libmblock-qa.la
+benchmark_send_SOURCES = benchmark_send.cc
+benchmark_send_LDADD = libmblock-qa.la
CLEANFILES = $(BUILT_SOURCES) *.pyc