summaryrefslogtreecommitdiff
path: root/ham/gnuradio-core/Makefile.common
blob: c371ecdfb7dc89d4ca999e4f04dff5b58d49b734 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
# $NetBSD: Makefile.common,v 1.10 2015/12/05 21:25:46 adam Exp $
# This Makefile fragment is included in the package Makefiles for
# GNU Radio distributed packages (they all share common configure and build
# settings).
# used by ham/gnuradio-atsc/Makefile
# used by ham/gnuradio-channels/Makefile
# used by ham/gnuradio-companion/Makefile
# used by ham/gnuradio-core/Makefile
# used by ham/gnuradio-ctrlport/Makefile

# used by ham/gnuradio-digital/Makefile
# used by ham/gnuradio-doxygen/Makefile
# used by ham/gnuradio-dtv/Makefile
# used by ham/gnuradio-fcd/Makefile
# used by ham/gnuradio-fec/Makefile

# used by ham/gnuradio-fcd/Makefile
# used by ham/gnuradio-noaa/Makefile
# used by ham/gnuradio-pager/Makefile
# used by ham/gnuradio-qtgui/Makefile
# used by ham/gnuradio-trellis/Makefile

# used by ham/gnuradio-uhd/Makefile
# used by ham/gnuradio-utils/Makefile
# used by ham/gnuradio-video-sdl/Makefile
# used by ham/gnuradio-vocoder/Makefile
# used by ham/gnuradio-wavelet/Makefile

# used by ham/gnuradio-wxgui/Makefile
# used by ham/gnuradio-zeromq/Makefile

.include	"../../ham/gnuradio-core/Makefile.version"

DISTNAME?=	gnuradio-${VERSION}
CATEGORIES+=	ham
MASTER_SITES=  http://s3-dist.gnuradio.org/
MASTER_SITES=  http://gnuradio.org/releases/gnuradio/

MAINTAINER?=	pkgsrc-users@NetBSD.org
HOMEPAGE?=	http://www.gnu.org/software/gnuradio/
LICENSE=	gnu-gpl-v3

USE_LANGUAGES=	c c++
USE_TOOLS=	perl gmake cmake pkg-config
USE_CMAKE=	yes

DEPENDS+=	${PYPKGPREFIX}-cheetah-[0-9]*:../../devel/py-cheetah
# gr_filter_design in gnuradio-core ask for:
DEPENDS+=	${PYPKGPREFIX}-qwt-qt4-[0-9]*:../../x11/py-qwt-qt4

DISTINFO_FILE=		${.CURDIR}/../../ham/gnuradio-core/distinfo
PATCHDIR=		${.CURDIR}/../../ham/gnuradio-core/patches

PYTHON_VERSIONS_INCOMPATIBLE=   33 34 35 # not yet ported as of 3.3.0
PLIST_SUBST+=	PYVERSSUFFIX=${PYVERSSUFFIX}
PLIST_SUBST+=	PYSITELIB=${PYSITELIB}
PY_PATCHPLIST=	yes

CONFIGURE_DIRS=	build

EGDIR=			share/examples/gnuradio/conf.d
PKG_SYSCONFSUBDIR=	gnuradio/conf.d

LDFLAGS.DragonFly+=	-lboost_system
LDFLAGS.SunOS+=		-lboost_system
CXXFLAGS.SunOS+=	-pthreads

INSTALLATION_DIRS+=	${EGDIR}

# --------       R E S E T  CMAKE_ARGS  H E R E  -------------
CMAKE_ARGS=

# set default as minimum
# See  http://gnuradio.org/redmine/projects/gnuradio/wiki/BuildGuide
#      http://gnuradio.org/redmine/projects/gnuradio/wiki/CygwinInstallMain

CMAKE_ARGS+=	-DENABLE_GNURADIO_RUNTIME=ON
CMAKE_ARGS+=	-DENABLE_GR_ANALOG=ON
CMAKE_ARGS+=	-DENABLE_GR_AUDIO=ON
CMAKE_ARGS+=	-DENABLE_GR_BLOCKS=ON
CMAKE_ARGS+=	-DENABLE_GR_FFT=ON
CMAKE_ARGS+=	-DENABLE_GR_FILTER=ON
CMAKE_ARGS+=	-DENABLE_PYTHON=ON
CMAKE_ARGS+=	-DENABLE_VOLK=ON

# Default setting (for pkgsrc)
CMAKE_ARGS+=	-Wno-dev
CMAKE_ARGS+=	-DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE
CMAKE_ARGS+=	-DCMAKE_INCLUDE_PATH=${PREFIX}/include/portaudio2
CMAKE_ARGS+=	-DCMAKE_LIBRARY_PATH=${PREFIX}/lib/portaudio2
CMAKE_ARGS+=	-DCMAKE_INSTALL_RPATH=${PREFIX}/lib:${PREFIX}/lib/portaudio2
CMAKE_ARGS+=	-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE
CMAKE_ARGS+=	-DLIBUSB_INCLUDE_DIR=${PREFIX}/include/libusb-1.0

CMAKE_ARGS+=	-DGR_LIBRARY_DIR=${PREFIX}/lib
CMAKE_ARGS+=	-DGR_PREFSDIR=${PREFIX}/share/gnuradio/examples/

CMAKE_ARGS+=	-DZEROMQ_INCLUDE_DIRS=${PREFIX}/include
CMAKE_ARG_PATH=	../

.include "options.mk"

# disable/enable ALSA, see also patches/patch-gr-audio_lib_CMakeLists.txt
SUBST_CLASSES+=		alsa
SUBST_MESSAGE.alsa=	Arrange the patched line depepending on alsa is in PKG_OPTIONS or not
SUBST_FILES.alsa+=	gr-audio/lib/CMakeLists.txt
## The value of ${ALSA_ENABLED} is either '#' or '' by options.mk.
SUBST_SED.alsa=		-e 's,@@ALSA@@,${ALSA_ENABLED},'
SUBST_STAGE.alsa=	post-patch

SUBST_CLASSES+=		pyvers
SUBST_FILES.pyvers=	cmake/Modules/FindSphinx.cmake
SUBST_MESSAGE.pyvers=	Fix SPHINX_EXECUTABLE NAMES(sphinx-build)
SUBST_VARS.pyvers+=	PYVERSSUFFIX
SUBST_STAGE.pyvers=	pre-configure

# REPLACE_PYTHON is some 600 files
.include	"../../ham/gnuradio-core/files/REPLACE_PYTHON"

pre-configure:
	(${MKDIR} ${WRKSRC}/build;)

do-install:
	(cd ${WRKSRC}/build; ${GMAKE} DESTDIR=${DESTDIR} install)

.include	"../../audio/gsm/buildlink3.mk"
.include	"../../audio/jack/buildlink3.mk"
.include	"../../audio/portaudio-devel/buildlink3.mk"

.include	"../../devel/boost-headers/buildlink3.mk"
.include	"../../devel/boost-libs/buildlink3.mk"
# VOLK needs orc.h, so in the common
.include	"../../devel/orc/buildlink3.mk"
.include	"../../devel/swig2/buildlink3.mk"

.include	"../../lang/python/application.mk"
.include	"../../math/fftwf/buildlink3.mk"