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
|
# -*- Makefile -*-
#
# Copyright 2004,2006,2009,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
# 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 3, or (at your option)
# any later version.
#
# GNU Radio is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GNU Radio; see the file COPYING. If not, write to
# the Free Software Foundation, Inc., 51 Franklin Street,
# Boston, MA 02110-1301, USA.
#
# The name of this "out-of-tree" module
modname = howto
# Make rebuilds less verbose with stuff we can safely ignore
# about GNU make only extensions.
AUTOMAKE += -Wno-portability -Wnone
# these flags are used when compiling non-SWIG-wrapper files
# when going in to non-SWIG libraries
AM_CXXFLAGS = @autoconf_default_CXXFLAGS@
# Sets ABI version in SONAME and appends -LIBVER to filename
LTVERSIONFLAGS = -version-info 0:0:0 -release $(LIBVER)
# these flags are used when compiling any CXX file
AM_CPPFLAGS = \
$(STD_DEFINES_AND_INCLUDES) \
$(PYTHON_CPPFLAGS) \
$(CPPUNIT_INCLUDES) \
$(GNURADIO_CORE_CPPFLAGS)
# these are used by both SWIG and CXX
STD_DEFINES_AND_INCLUDES = \
$(DEFINES) \
-I$(abs_top_srcdir)/lib \
-I$(GNURADIO_CORE_INCLUDEDIR) \
-I$(GNURADIO_CORE_INCLUDEDIR)/swig
# includes
modincludedir = $(includedir)/$(modname)
# swig includes
swigincludedir = $(modincludedir)/swig
# Install this stuff in the appropriate subdirectory
# This usually ends up at:
# ${prefix}/lib/python${python_version}/site-packages/$(modname)
modpythondir = $(pythondir)/$(modname)
modpyexecdir = $(pyexecdir)/$(modname)
# Data directory for grc block wrappers
grc_blocksdir = $(prefix)/share/gnuradio/grc/blocks
# Don't assume that make predefines $(RM), because BSD make does
# not. We define it now in configure.ac using AM_PATH_PROG, but now
# here have to add a -f to be like GNU make.
RM=$(RM_PROG) -f
# Other common defines; use "+=" to add to these
STAMPS =
MOSTLYCLEANFILES = $(BUILT_SOURCES) $(STAMPS) *.pyc *.pyo *~ *.tmp *.loT
## SWIG suffixes for automake to know about
SUFFIXES = .i .scm .py
if GUILE
# Compile a .i to what guile needs. We use -o to set the output file name,
# or even with -outdir guile in SWIG_GUILE_ARGS, swig keeps putting a
# gnuradio_core_*_wrap.cxx in the source directory.
gnuradio/%.scm : %.i
@echo "Compile .i to .scm"
@test -d "guile" || $(mkinstalldirs) "guile"
@test -d "gnuradio" || $(mkinstalldirs) "gnuradio"
$(SWIG) $(STD_SWIG_GUILE_ARGS) $($*_swig_args) \
-MD -MF guile/$*.Std \
-module $* -o guile/$*.cc $<
$(SED) -e 's|guile/\(.*\)\.cc:|gnuradio/\1.scm:|' guile/$*.Std > guile/$*.d
$(SED) -i -e 's/<--dummy-[0-9]\+-->/<top>/g' gnuradio/$*.scm
$(SED) -i -e 's/^(export /(export-safely /' gnuradio/$*.scm
$(RM) guile/$*.Std
endif
# Compile a .i file to what python needs
.i.py:
@echo "Compile .i to .py"
@test -d "python" || $(mkinstalldirs) "python"
$(SWIG) $(STD_SWIG_PYTHON_ARGS) $($*_swig_args) \
-MD -MF python/$*.Std \
-module $* -o python/$*.cc -oh python/$*.h $<
$(SED) -e 's|python/\(.*\)\.cc:|\1.py:|' python/$*.Std > python/$*.d
$(RM) python/$*.Std
# Don't distribute the files defined in the variable 'no_dist_files'
dist-hook:
@for file in $(no_dist_files); do \
echo $(RM) $(distdir)/$$file; \
$(RM) $(distdir)/$$file; \
done;
|