gnuradio.mk 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. ################################################################################
  2. #
  3. # gnuradio
  4. #
  5. ################################################################################
  6. GNURADIO_VERSION = 3.8.2.0
  7. GNURADIO_SITE = https://github.com/gnuradio/gnuradio/releases/download/v$(GNURADIO_VERSION)
  8. GNURADIO_LICENSE = GPL-3.0+
  9. GNURADIO_LICENSE_FILES = COPYING
  10. GNURADIO_SUPPORTS_IN_SOURCE_BUILD = NO
  11. # needed to determine site-packages path
  12. ifeq ($(BR2_PACKAGE_PYTHON),y)
  13. GNURADIO_PYVER = $(PYTHON_VERSION_MAJOR)
  14. else ifeq ($(BR2_PACKAGE_PYTHON3),y)
  15. GNURADIO_PYVER = $(PYTHON3_VERSION_MAJOR)
  16. endif
  17. # host-python-mako and host-python-six are needed for volk to compile
  18. GNURADIO_DEPENDENCIES = \
  19. $(if $(BR2_PACKAGE_PYTHON3),host-python3,host-python) \
  20. host-python-mako \
  21. host-python-six \
  22. host-swig \
  23. boost \
  24. log4cpp \
  25. gmp
  26. GNURADIO_CONF_OPTS = \
  27. -DPYTHON_EXECUTABLE=$(HOST_DIR)/bin/python \
  28. -DENABLE_DEFAULT=OFF \
  29. -DENABLE_VOLK=ON \
  30. -DENABLE_GNURADIO_RUNTIME=ON \
  31. -DENABLE_TESTING=OFF \
  32. -DXMLTO_EXECUTABLE=NOTFOUND
  33. # For third-party blocks, the gnuradio libraries are mandatory at
  34. # compile time.
  35. GNURADIO_INSTALL_STAGING = YES
  36. ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
  37. GNURADIO_CONF_OPTS += -DCMAKE_EXE_LINKER_FLAGS=-latomic
  38. endif
  39. ifeq ($(BR2_PACKAGE_ORC),y)
  40. GNURADIO_DEPENDENCIES += orc
  41. GNURADIO_CONF_OPTS += -DENABLE_ORC=ON
  42. else
  43. GNURADIO_CONF_OPTS += -DENABLE_ORC=OFF
  44. endif
  45. ifeq ($(BR2_PACKAGE_GNURADIO_ANALOG),y)
  46. GNURADIO_CONF_OPTS += -DENABLE_GR_ANALOG=ON
  47. else
  48. GNURADIO_CONF_OPTS += -DENABLE_GR_ANALOG=OFF
  49. endif
  50. ifeq ($(BR2_PACKAGE_GNURADIO_AUDIO),y)
  51. ifeq ($(BR2_PACKAGE_ALSA_LIB),y)
  52. GNURADIO_DEPENDENCIES += alsa-lib
  53. endif
  54. ifeq ($(BR2_PACKAGE_PORTAUDIO),y)
  55. GNURADIO_DEPENDENCIES += portaudio
  56. endif
  57. GNURADIO_CONF_OPTS += -DENABLE_GR_AUDIO=ON
  58. else
  59. GNURADIO_CONF_OPTS += -DENABLE_GR_AUDIO=OFF
  60. endif
  61. ifeq ($(BR2_PACKAGE_GNURADIO_BLOCKS),y)
  62. GNURADIO_CONF_OPTS += -DENABLE_GR_BLOCKS=ON
  63. else
  64. GNURADIO_CONF_OPTS += -DENABLE_GR_BLOCKS=OFF
  65. endif
  66. ifeq ($(BR2_PACKAGE_GNURADIO_CHANNELS),y)
  67. GNURADIO_CONF_OPTS += -DENABLE_GR_CHANNELS=ON
  68. else
  69. GNURADIO_CONF_OPTS += -DENABLE_GR_CHANNELS=OFF
  70. endif
  71. ifeq ($(BR2_PACKAGE_GNURADIO_CTRLPORT),y)
  72. GNURADIO_CONF_OPTS += -DENABLE_GR_CTRLPORT=ON
  73. else
  74. GNURADIO_CONF_OPTS += -DENABLE_GR_CTRLPORT=OFF
  75. endif
  76. ifeq ($(BR2_PACKAGE_GNURADIO_DIGITAL),y)
  77. GNURADIO_CONF_OPTS += -DENABLE_GR_DIGITAL=ON
  78. else
  79. GNURADIO_CONF_OPTS += -DENABLE_GR_DIGITAL=OFF
  80. endif
  81. ifeq ($(BR2_PACKAGE_GNURADIO_DTV),y)
  82. GNURADIO_CONF_OPTS += -DENABLE_GR_DTV=ON
  83. else
  84. GNURADIO_CONF_OPTS += -DENABLE_GR_DTV=OFF
  85. endif
  86. ifeq ($(BR2_PACKAGE_GNURADIO_FEC),y)
  87. GNURADIO_DEPENDENCIES += gsl
  88. GNURADIO_CONF_OPTS += -DENABLE_GR_FEC=ON
  89. else
  90. GNURADIO_CONF_OPTS += -DENABLE_GR_FEC=OFF
  91. endif
  92. ifeq ($(BR2_PACKAGE_GNURADIO_FFT),y)
  93. GNURADIO_DEPENDENCIES += fftw-single
  94. GNURADIO_CONF_OPTS += -DENABLE_GR_FFT=ON
  95. else
  96. GNURADIO_CONF_OPTS += -DENABLE_GR_FFT=OFF
  97. endif
  98. ifeq ($(BR2_PACKAGE_GNURADIO_FILTER),y)
  99. GNURADIO_CONF_OPTS += -DENABLE_GR_FILTER=ON
  100. else
  101. GNURADIO_CONF_OPTS += -DENABLE_GR_FILTER=OFF
  102. endif
  103. ifeq ($(BR2_PACKAGE_GNURADIO_PYTHON),y)
  104. GNURADIO_DEPENDENCIES += python3
  105. GNURADIO_CONF_OPTS += -DENABLE_PYTHON=ON
  106. # mandatory to install python modules in site-packages and to use
  107. # correct path for python libraries
  108. GNURADIO_CONF_OPTS += -DGR_PYTHON_RELATIVE=ON \
  109. -DGR_PYTHON_DIR=lib/python$(GNURADIO_PYVER)/site-packages
  110. else
  111. GNURADIO_CONF_OPTS += -DENABLE_PYTHON=OFF
  112. endif
  113. ifeq ($(BR2_PACKAGE_GNURADIO_QTGUI),y)
  114. GNURADIO_DEPENDENCIES += qt5base python-pyqt5 qwt
  115. GNURADIO_CONF_OPTS += -DENABLE_GR_QTGUI=ON
  116. else
  117. GNURADIO_CONF_OPTS += -DENABLE_GR_QTGUI=OFF
  118. endif
  119. ifeq ($(BR2_PACKAGE_GNURADIO_TRELLIS),y)
  120. GNURADIO_CONF_OPTS += -DENABLE_GR_TRELLIS=ON
  121. else
  122. GNURADIO_CONF_OPTS += -DENABLE_GR_TRELLIS=OFF
  123. endif
  124. ifeq ($(BR2_PACKAGE_GNURADIO_UHD),y)
  125. GNURADIO_DEPENDENCIES += uhd
  126. GNURADIO_CONF_OPTS += -DENABLE_GR_UHD=ON
  127. else
  128. GNURADIO_CONF_OPTS += -DENABLE_GR_UHD=OFF
  129. endif
  130. ifeq ($(BR2_PACKAGE_GNURADIO_UTILS),y)
  131. GNURADIO_CONF_OPTS += -DENABLE_GR_UTILS=ON
  132. else
  133. GNURADIO_CONF_OPTS += -DENABLE_GR_UTILS=OFF
  134. endif
  135. ifeq ($(BR2_PACKAGE_GNURADIO_ZEROMQ),y)
  136. GNURADIO_DEPENDENCIES += cppzmq
  137. ifeq ($(BR2_PACKAGE_GNURADIO_PYTHON),y)
  138. GNURADIO_DEPENDENCIES += python-pyzmq
  139. endif
  140. GNURADIO_CONF_OPTS += -DENABLE_GR_ZEROMQ=ON
  141. else
  142. GNURADIO_CONF_OPTS += -DENABLE_GR_ZEROMQ=OFF
  143. endif
  144. $(eval $(cmake-package))