# -*- Makefile -*-
#
-# Copyright 2004,2006 Free Software Foundation, Inc.
+# Copyright 2004,2006,2007 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 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,
#
# 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., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
+# the Free Software Foundation, Inc., 51 Franklin Street,
+# Boston, MA 02110-1301, USA.
#
+AM_CXXFLAGS = @autoconf_default_CXXFLAGS@
+
# includes
-# FIXME: are these used anymore?
grincludedir = $(includedir)/gnuradio
# swig includes
-# FIXME: are these used anymore?
swigincludedir = $(grincludedir)/swig
-# Install this stuff in the appropriate subdirectory
+# Install the gnuradio stuff in the appropriate subdirectory
# This usually ends up at:
# ${prefix}/lib/python${python_version}/site-packages/gnuradio
grpythondir = $(pythondir)/gnuradio
grpyexecdir = $(pyexecdir)/gnuradio
+# Install the non-gnuradio usrp stuff in the appropriate subdirectory
+# This usually ends up at:
+# ${prefix}/lib/python${python_version}/site-packages/usrpm
+
+usrppythondir = $(pythondir)/usrpm
+usrppyexecdir = $(pyexecdir)/usrpm
+
+
# swig flags
SWIGPYTHONFLAGS = -fvirtual -python -modern
# Where to find gnuradio include files in the current build tree
+# top_srcdir for original stuff, top_builddir for generated files
GNURADIO_INCLUDES = -I$(top_srcdir)/gnuradio-core/src/lib/runtime \
-I$(top_srcdir)/gnuradio-core/src/lib/general \
+ -I$(top_builddir)/gnuradio-core/src/lib/general \
+ -I$(top_srcdir)/gnuradio-core/src/lib/gengen \
+ -I$(top_builddir)/gnuradio-core/src/lib/gengen \
-I$(top_srcdir)/gnuradio-core/src/lib/filter \
- -I$(top_srcdir)/gnuradio-core/src/lib/reed-solomon \
+ -I$(top_builddir)/gnuradio-core/src/lib/filter \
+ -I$(top_srcdir)/gnuradio-core/src/lib/reed-solomon \
-I$(top_srcdir)/gnuradio-core/src/lib/io \
-I$(top_srcdir)/gnuradio-core/src/lib/g72x \
- -I$(top_srcdir)/gnuradio-core/src/lib/omnithread \
-I$(top_srcdir)/gnuradio-core/src/lib/swig \
- -I$(top_builddir)/gnuradio-core/src/lib/swig \
+ -I$(top_builddir)/gnuradio-core/src/lib/swig \
$(FFTW3F_CFLAGS)
-# These used to be set in PKGCONFIG but now point to the current
-# build tree.
-GNURADIO_CORE_LIBS = -L$(top_builddir)/gnuradio-core/src/lib \
- -lgnuradio-core -lfftw3f -lm
+# How to link in the top-level omnithreads library from inside the tree
+OMNITHREAD_INCLUDES = -I$(top_srcdir)/omnithread
+OMNITHREAD_LA = $(top_builddir)/omnithread/libgromnithread.la
+
+# How to link in GNU Radio core library from inside the tree
+GNURADIO_CORE_LA = $(top_builddir)/gnuradio-core/src/lib/libgnuradio-core.la
-GNURADIO_I = $(top_builddir)/gnuradio-core/src/lib/swig/gnuradio.i
+# This is a dependency for many swig operations
+GNURADIO_I = $(top_srcdir)/gnuradio-core/src/lib/swig/gnuradio.i
-# The below used to be set in PKGCONFIG but now point to the current
-# build tree.
-USRP_INCLUDES = -I$(top_srcdir)/usrp/host/lib \
- -I$(top_srcdir)/usrp/firmware/include
+# How to link in the USRP library from inside the tree
+USRP_INCLUDES = -I$(top_srcdir)/usrp/host/lib/legacy \
+ -I$(top_srcdir)/usrp/firmware/include
+USRP_LA = $(top_builddir)/usrp/host/lib/legacy/libusrp.la
-USRP_LIBS = -L$(top_builddir)/usrp/host/lib \
- -lusrp
+# How to link in usrp-inband library from inside the tree
+USRP_INBAND_INCLUDES = -I$(top_srcdir)/usrp/host/lib/inband
+USRP_INBAND_LA = $(top_builddir)/usrp/host/lib/inband/libusrp_inband.la
+
+# How to link the PMT library from inside the tree
+PMT_INCLUDES = -I$(top_srcdir)/pmt/src/lib
+PMT_LA = $(top_builddir)/pmt/src/lib/libpmt.la
+
+# How to link the mblock library from inside the tree
+MBLOCK_INCLUDES = -I$(top_srcdir)/mblock/src/lib
+MBLOCK_LA = $(top_builddir)/mblock/src/lib/libmblock.la
# This used to be set in configure.ac but is now defined here for all
# Makefiles when this fragment is included.
-STD_DEFINES_AND_INCLUDES=$(DEFINES) $(GNURADIO_INCLUDES) $(BOOST_CFLAGS)
+STD_DEFINES_AND_INCLUDES=$(DEFINES) $(OMNITHREAD_INCLUDES) $(GNURADIO_INCLUDES) $(BOOST_CFLAGS)
+
+# Fix for BSD make not defining $(RM). 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
+
+RUN_GUILE = GUILE_LOAD_PATH="@abs_top_srcdir@/pmt/src/scheme:@abs_top_srcdir@/mblock/src/scheme" @GUILE@ -e main -s
+COMPILE_MBH = $(RUN_GUILE) $(top_srcdir)/mblock/src/scheme/gnuradio/compile-mbh.scm
+
+# Base directory for example applications
+exampledir = $(datadir)/gnuradio/examples