# -*- Makefile -*-
#
# Copyright 2004,2006,2007,2008,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.
# 

# Every Makefile starts with common vars so we can
# consistently use +=
BUILT_SOURCES =
CLEANFILES = guile.log
DISTCLEANFILES =
EXTRA_DIST =
STAMPS =


# Make rebuilds less verbose with stuff we can safely ignore
# about GNU make only extensions.
AUTOMAKE += -Wno-portability -Wnone

#AM_CFLAGS = @autoconf_default_CFLAGS@ @lf_CFLAGS@
#AM_CXXFLAGS = @autoconf_default_CXXFLAGS@ @lf_CXXFLAGS@

# Sets ABI version in SONAME and appends -LIBVER to filename
LTVERSIONFLAGS = -version-info 0:0:0 -release $(VERSION)

# includes
grincludedir = $(includedir)/gnuradio

# swig includes
swigincludedir = $(grincludedir)/swig

# Guile scheme code ends up under here:
guiledir = $(prefix)/share/guile/site

# 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

# gcell includes
gcellincludedir = $(includedir)/gcell
gcellspuincludedir = $(includedir)/gcell/spu

# Cell spu libs
libspudir = $(libdir)spu

# 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) \
	$(GRUEL_INCLUDES) $(VOLK_INCLUDES) $(BOOST_CPPFLAGS)

# when including for compilation from pre-installed libraries and such,
# need to make sure those are put last on the compile command
WITH_INCLUDES = #@with_INCLUDES@
WITH_SWIG_INCLUDES = @with_SWIG_INCLUDES@

# Where to find gnuradio include files in the current build tree
# top_srcdir for original stuff, top_builddir for generated files
GNURADIO_INCLUDES = @gnuradio_core_INCLUDES@

# How to link in GNU Radio core library from inside the tree
GNURADIO_CORE_LA = @gnuradio_core_LA@

# How to link in the GRUEL library from inside the tree
GRUEL_INCLUDES = @gruel_INCLUDES@
GRUEL_LA = @gruel_LA@

# How to link in the VOLK library from inside the tree
VOLK_INCLUDES = @volk_INCLUDES@
VOLK_LA = @volk_LA@

# How to link in the USRP library from inside the tree
USRP_INCLUDES = \
	-I$(top_srcdir)/host/include \
	-I$(top_builddir)/host/include \
	-I$(top_srcdir)/firmware/include \
	$(NULL)
USRP_LA = $(top_builddir)/host/lib/libusrp.la

# How to link the gcell library from inside the tree (the PPU part)
GCELL_INCLUDES = @gcell_INCLUDES@
GCELL_LA = @gcell_LA@

# How to link the gcell library from inside the tree (the SPU part)
GCELL_SPU_INCLUDES = @gcell_spu_INCLUDES@
GCELL_SPU_LA = @gcell_spu_LA@

# libtool aware wrapper for ppu-embedspu
GCELL_EMBEDSPU_LIBTOOL = @top_srcdir@/gcell/lib/runtime/gcell-embedspu-libtool

# 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="@top_srcdir@/gruel/src/scheme" @GUILE@ -e main -s

# Base directory for example applications
exampledir = $(datadir)/gnuradio/examples

# Base directory for documentation (docdir undefined in autoconf < 1.60)
docdir ?= $(datadir)/doc/$(PACKAGE)
gr_docdir = $(docdir)-$(DOCVER)

# System configuration files
gr_prefsdir = $(GR_PREFSDIR)

# Data directory for grc block wrappers
grc_blocksdir = $(pkgdatadir)/grc/blocks

# Other common defines; use "+=" to add to these
MOSTLYCLEANFILES = $(BUILT_SOURCES) $(STAMPS) *.pyc *.pyo *~ *.tmp *.loT \
	.unittests/* .unittests/python/*
