summaryrefslogtreecommitdiff
path: root/packages/dsplink
diff options
context:
space:
mode:
Diffstat (limited to 'packages/dsplink')
-rw-r--r--packages/dsplink/codec-engine_2.10.bb53
-rw-r--r--packages/dsplink/dsplink.inc73
-rw-r--r--packages/dsplink/dsplink_1.50.bb4
-rw-r--r--packages/dsplink/dsplink_1.51.00.08.bb4
-rw-r--r--packages/dsplink/files/CURRENTCFG.MK2
-rw-r--r--packages/dsplink/files/c64xx_5.xx_linux.mk8
-rw-r--r--packages/dsplink/files/openembedded.mk (renamed from packages/dsplink/files/davinci_mvlpro5.0.mk)9
-rw-r--r--packages/dsplink/files/xdcpaths.mak232
8 files changed, 359 insertions, 26 deletions
diff --git a/packages/dsplink/codec-engine_2.10.bb b/packages/dsplink/codec-engine_2.10.bb
index b783a5ef32..199df5ac62 100644
--- a/packages/dsplink/codec-engine_2.10.bb
+++ b/packages/dsplink/codec-engine_2.10.bb
@@ -5,7 +5,7 @@ RDEPENDS = "update-modules"
inherit module
-PR = "r2"
+PR = "r4"
PV = "2.10"
# Get CE tarball from TI website, place in sources and calculate
@@ -13,10 +13,43 @@ PV = "2.10"
# Look for tarball at https://www-a.ti.com/downloads/sds_support/targetcontent/CE/index.html
SRC_URI = "http://install.tarball.in.source.dir/codec_engine_2_10_01.tar.gz \
-"
+ file://xdcpaths.mak \
+ "
S = "${WORKDIR}/codec_engine_2_10_01"
+# Path to the dir where the TI tools are unpacked
+TITOOLSDIR ?= "/OE/TI"
+# Path under TITOOLSDIR where dspbios is unpacked
+TIBIOSDIR ?= "bios_5_32_03"
+TIXDCTOOLSDIR ?= "${TIBIOSDIR}/xdctools"
+# Path under TITOOLSDIR where the dsp toolchain is unpacked
+TICGTOOLSDIR ?= "cg6x_6_1_2"
+
+PARALLEL_MAKE = ""
+
+do_configure() {
+ cp ${WORKDIR}/xdcpaths.mak ${S}/examples/
+ sed -i -e s:SEDME_TITOOLS_BASEPATH:${TITOOLSDIR}:g \
+ -e s:SEDME_BIOSUNPACKDIR:${TITOOLSDIR}/${TIBIOSDIR}:g \
+ -e 's:SEDME_S:${S}:g' \
+ -e s:SEDME_XDCTOOLSUNPACKDIR:${TITOOLSDIR}/${TIXDCTOOLSDIR}:g \
+ -e s:/db/toolsrc/library/tools/vendors/mvl/arm/mvl4.0-new/montavista/pro/devkit/arm/v5t_le:${CROSS_DIR}:g \
+ -e s:bin/arm_v5t_le-gcc:bin/${TARGET_PREFIX}gcc:g \
+ -e s:/db/toolsrc/library/tools/vendors/ti/c6x/6.0.16/Linux:${TITOOLSDIR}/${TICGTOOLSDIR}:g \
+ ${S}/examples/xdcpaths.mak
+
+ sed -i -e s:/db/toolsrc/library/tools/vendors/mvl/arm/mvl4.0-new/montavista/pro/devkit/arm/v5t_le:${CROSS_DIR}:g \
+ -e s:/db/toolsrc/library/tools/vendors/ti/c6x/6.0.16/Linux:${TITOOLSDIR}/${TICGTOOLSDIR}:g \
+ ${S}/examples/user.bld
+
+ for cfg in ${S}/examples/ti/sdo/ce/examples/apps/image_copy/package/cfg/*/*cfg ; do
+ sed -i -e s:arm_v5t_le-:${TAGET_PREFIX}:g $cfg
+ done
+
+ echo -n "${CFLAGS} -I${TITOOLSDIR}/${TIXDCTOOLSDIR}/packages -I${S}/packages -I${S}/cetools/packages" > ${S}/examples/ti/sdo/ce/examples/apps/speech/linuxonly/app/compiler.opt
+}
+
do_compile() {
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
cd ${S}/cetools/packages/ti/sdo/linuxutils/cmem
@@ -45,6 +78,9 @@ do_compile() {
KERNEL_VERSION=${KERNEL_VERSION} \
CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
AR="${KERNEL_AR}"
+
+# oe_runmake -C ${S}/examples/ti/sdo/ce/examples/apps
+
}
do_install() {
@@ -55,6 +91,18 @@ do_install() {
mv ${D}/cmemk.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp
install -d ${D}/${base_sbindir}
cd ${D} ; mv apitest apitestd multi_process multi_processd translate translated ${D}/${base_sbindir}
+
+ install -d ${D}/${libdir}
+ for i in ${S}/cetools/packages/ti/sdo/linuxutils/cmem/lib/*.a ; do
+ install -m 0755 $i ${D}/${libdir}/
+ done
+}
+
+do_stage() {
+ install -d ${STAGING_LIBDIR}
+ for i in ${S}/cetools/packages/ti/sdo/linuxutils/cmem/lib/*.a ; do
+ install -m 0755 $i ${STAGING_LIBDIR}/
+ done
}
pkg_postinst_${PN}-module () {
@@ -71,6 +119,7 @@ pkg_postrm_${PN}-module () {
PACKAGES =+ "dsplink-cmemk-module"
FILES_dsplink-cmemk-module = "${sysconfdir} /lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/*ko"
+INHIBIT_PACKAGE_STRIP = "1"
FILES_${PN} = "${base_sbindir}"
diff --git a/packages/dsplink/dsplink.inc b/packages/dsplink/dsplink.inc
index 5fdbd1de90..9e9dff888f 100644
--- a/packages/dsplink/dsplink.inc
+++ b/packages/dsplink/dsplink.inc
@@ -11,6 +11,13 @@ S = "${WORKDIR}/dsplink_1_50/dsplink"
# Needed for buildscripts
export DSPLINK = "${S}"
+# Path to the dir where the TI tools are unpacked
+TITOOLSDIR ?= "/OE/TI"
+# Path under TITOOLSDIR where dspbios is unpacked
+TIBIOSDIR ?= "bios_5_32_03"
+# Path under TITOOLSDIR where the dsp toolchain is unpacked
+TICGTOOLSDIR ?= "cg6x_6_1_2"
+
DSPLINKPLATFORM ?= "Davinci"
DSPLINKPLATFORM_omap5912osk = "OMAP"
@@ -23,18 +30,45 @@ DSPLINKSOC ?= "DM6446"
DSPLINKSOC_beagleboard = "3530"
+
+USERARMFLAGS = "${TARGET_CC_ARCH}"
+KERNELARMFLAGS = "-include linux/autoconf.h -c -iwithprefix include -Iinclude -Wall -Wstrict-prototypes \
+ -Wno-trigraphs -fno-strict-aliasing -fno-common \
+ -fno-omit-frame-pointer -mapcs -mno-sched-prolog \
+ -mlittle-endian \
+ -D__LINUX_ARM_ARCH__=5 -march=armv5t -mtune=arm9tdmi \
+ -msoft-float -Uarm -mapcs \
+ -Wdeclaration-after-statement -Os -marm -mabi=aapcs-linux"
+KERNELARMFLAGS_armv6 = "-include linux/autoconf.h -c -iwithprefix include -Iinclude -Wall -Wstrict-prototypes \
+ -Wno-trigraphs -fno-strict-aliasing -fno-common \
+ -fno-omit-frame-pointer -mapcs -mno-sched-prolog \
+ -mlittle-endian \
+ -D__LINUX_ARM_ARCH__=6 -march=armv6j -mtune=arm1136jf-s \
+ -msoft-float -Uarm -mapcs \
+ -Wdeclaration-after-statement -Os -marm -mabi=aapcs-linux"
+KERNELARMFLAGS_armv7a = "-c -nostdinc -include $(BASE_OSINC)/linux/autoconf.h -isystem $(OSINC_PLATFORM) -iwithprefix include -Iinclude -Wall -Wstrict-prototypes \
+ -Wno-trigraphs -fno-strict-aliasing -fno-common \
+ -fno-omit-frame-pointer -mapcs -mno-sched-prolog \
+ -mlittle-endian \
+ -D__LINUX_ARM_ARCH__=7 -march=armv7-a -mtune=cortex-a8 \
+ -msoft-float -Uarm -mapcs \
+ -Wdeclaration-after-statement -Os -marm -mabi=aapcs-linux \
+ -D__KERNEL__ -mno-thumb-interwork -msoft-float -fno-optimize-sibling-calls -g -fno-stack-protector -Wno-pointer-sign -g -DUSE_UDEV=1 -DOS_LINUX -DLINUX_KERNEL"
+
+DSPFLAGS = "-q -pdr -pdv -pden -ml3 -mv64+ "
+
export DSPLINKPLATFORM
export DSPLINKDSP
do_configure () {
cp ${WORKDIR}/CURRENTCFG.MK ${S}/config
- cp ${WORKDIR}/davinci_mvlpro5.0.mk ${S}/make/Linux
+ cp ${WORKDIR}/openembedded.mk ${S}/make/Linux
cp ${WORKDIR}/c64xx_5.xx_linux.mk ${S}/make/DspBios
sed -i -e s:SED_ME_SOURCEDIR:${S}:g \
- -e s:SED_ME_GPPDISTRO:davinci_mvlpro5\.0:g \
+ -e s:SED_ME_GPPDISTRO:openembedded:g \
-e s:SED_ME_KERNELVERSION:${KERNEL_VERSION}:g \
- -e s:SED_ME_DSPDISTRO:davinci_mvlpro5\.0:g \
+ -e s:SED_ME_DSPDISTRO:c64xx_5.xx_linux:g \
-e s:SED_ME_PLATFORM:${DSPLINKPLATFORM}:g \
-e s:SED_ME_DSP:${DSPLINKDSP}:g \
-e s:SED_ME_SOC:${DSPLINKSOC}:g \
@@ -43,9 +77,16 @@ do_configure () {
sed -i -e s:SED_ME_CROSS:${STAGING_INCDIR}:g \
-e s:SED_ME_STAGINGDIR:${STAGING_DIR_TARGET}:g \
-e s:SED_ME_TARGET_PREFIX:${TARGET_PREFIX}:g \
- -e s:SED_ME_KERNELDIR:${STAGING_KERNEL_DIR}:g \
- ${S}/make/Linux/davinci_mvlpro5.0.mk
-
+ -e s:SED_ME_KERNELDIR:${STAGING_KERNEL_DIR}:g \
+ -e 's:SEDME_KERNEL_ARMFLAGS:${KERNELARMFLAGS}:g' \
+ -e 's:SEDME_USER_ARMFLAGS:${USERARMFLAGS}:g' \
+ ${S}/make/Linux/openembedded.mk
+
+ sed -i -e s:SEDME_TITOOLS_BASEPATH:${TITOOLSDIR}:g \
+ -e s:SEDME_BIOSUNPACKDIR:${TIBIOSDIR}:g \
+ -e s:SEDME_CGTOOLSDIR:${TICGTOOLSDIR}:g \
+ -e 's:SEDME_DSPFLAGS:${DSPFLAGS}:g' \
+ ${S}/make/DspBios/c64xx_5.xx_linux.mk
}
PARALLEL_MAKE = ""
@@ -59,9 +100,15 @@ do_compile () {
ln -sf ${S}/gpp/src/pmgr/pmgr_proc.h ${S}/gpp/inc/pmgr_proc.h
unset DISPLAY
-
- oe_runmake -C ${S}/gpp/src all targets
+
+ sed -i -e 's:gcc:gcc${KERNEL_CCSUFFIX}:' ${S}/make/Linux/openembedded.mk
+ oe_runmake CC="${KERNEL_CC}" LD="${KERNEL_LD}" -C ${S}/gpp/src all targets
+
+ sed -i -e 's:gcc${KERNEL_CCSUFFIX}:gcc:' ${S}/make/Linux/openembedded.mk
oe_runmake -C ${S}/gpp/src/samples
+
+ oe_runmake -C ${S}/dsp/src
+ oe_runmake -C ${S}/dsp/src/samples
}
do_install () {
@@ -71,6 +118,15 @@ do_install () {
install -d ${D}/${bindir}
install ${S}/gpp/BUILD/EXPORT/RELEASE/mpcsxfergpp ${D}/${bindir}
install ${S}/gpp/BUILD/EXPORT/RELEASE/ringiogpp ${D}/${bindir}
+
+ install -d ${D}/${libdir}
+ install -m 0755 ${S}/gpp/BUILD/EXPORT/RELEASE/dsplink.lib ${D}/${libdir}
+}
+
+
+do_stage() {
+ install -d ${STAGING_LIBDIR}
+ install -m 0755 ${S}/gpp/BUILD/EXPORT/RELEASE/dsplink.lib ${STAGING_LIBDIR}/
}
pkg_postinst_${PN}-module () {
@@ -88,6 +144,7 @@ pkg_postrm_${PN}-module () {
PACKAGES =+ "${PN}-module"
FILES_${PN}-module = "${sysconfdir} /lib/modules"
FILES_${PN} = "${bindir}/mpcsxfergpp ${bindir}/ringiogpp"
+INHIBIT_PACKAGE_STRIP = "1"
PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/packages/dsplink/dsplink_1.50.bb b/packages/dsplink/dsplink_1.50.bb
index f222fd2861..9132389923 100644
--- a/packages/dsplink/dsplink_1.50.bb
+++ b/packages/dsplink/dsplink_1.50.bb
@@ -1,6 +1,6 @@
require dsplink.inc
-PR = "r6"
+PR = "r9"
PE = "1"
PV = "1.50"
@@ -11,7 +11,7 @@ PV = "1.50"
SRC_URI = "http://install.tarball.in.source.dir/dsplink_1_50.tar.gz \
file://CURRENTCFG.MK \
file://c64xx_5.xx_linux.mk \
- file://davinci_mvlpro5.0.mk \
+ file://openembedded.mk \
file://prcs-fix-include.patch;patch=1;pnum=2 \
"
diff --git a/packages/dsplink/dsplink_1.51.00.08.bb b/packages/dsplink/dsplink_1.51.00.08.bb
index 41e3721a05..36ac50f4cf 100644
--- a/packages/dsplink/dsplink_1.51.00.08.bb
+++ b/packages/dsplink/dsplink_1.51.00.08.bb
@@ -1,6 +1,6 @@
require dsplink.inc
-PR = "r4"
+PR = "r9"
PE = "1"
PV = "1.51"
@@ -11,7 +11,7 @@ PV = "1.51"
SRC_URI = "http://install.tarball.in.source.dir/dsplink_1_51_00_08.tar.gz \
file://CURRENTCFG.MK \
file://c64xx_5.xx_linux.mk \
- file://davinci_mvlpro5.0.mk \
+ file://openembedded.mk \
file://prcs-fix-include.patch;patch=1;pnum=2 \
"
diff --git a/packages/dsplink/files/CURRENTCFG.MK b/packages/dsplink/files/CURRENTCFG.MK
index 1f932f2b77..55959854e1 100644
--- a/packages/dsplink/files/CURRENTCFG.MK
+++ b/packages/dsplink/files/CURRENTCFG.MK
@@ -48,7 +48,7 @@ export DSPPLATFORM := SED_ME_PLATFORM
# Target GPP and DSP devices
# =========================================================
export GPPDEVICE := SED_ME_PLATFORM
-export DSPDEVICE := SED_ME_DSP
+export DSPDEVICE := SED_ME_DSP
# =========================================================
diff --git a/packages/dsplink/files/c64xx_5.xx_linux.mk b/packages/dsplink/files/c64xx_5.xx_linux.mk
index d0b27d7a55..ea806fff4e 100644
--- a/packages/dsplink/files/c64xx_5.xx_linux.mk
+++ b/packages/dsplink/files/c64xx_5.xx_linux.mk
@@ -35,8 +35,8 @@ USE_DISTRIBUTION := 1
# ----------------------------------------------------------------------------
# Base directory for the DSP OS
# ----------------------------------------------------------------------------
-BASE_INSTALL := /opt/ti-tools
-BASE_SABIOS := $(BASE_INSTALL)/bios
+BASE_INSTALL := SEDME_TITOOLS_BASEPATH
+BASE_SABIOS := $(BASE_INSTALL)/SEDME_BIOSUNPACKDIR
BASE_BUILDOS := $(BASE_SABIOS)/packages/ti/bios
# ----------------------------------------------------------------------------
@@ -47,7 +47,7 @@ XDCTOOLS_DIR := $(BASE_SABIOS)/xdctools
# ----------------------------------------------------------------------------
# Base for code generation tools - compiler, linker, archiver etc.
# ----------------------------------------------------------------------------
-BASE_CGTOOLS := $(BASE_INSTALL)/c6000/cgtools
+BASE_CGTOOLS := $(BASE_INSTALL)/SEDME_CGTOOLSDIR
BASE_CGTOOLSBIN := $(BASE_CGTOOLS)/bin
# ----------------------------------------------------------------------------
@@ -135,7 +135,7 @@ CC_SW_REL := -o3
# ----------------------------------------------------------------------------
# Standard flags for the compiler
# ----------------------------------------------------------------------------
-STD_CC_FLAGS := -q -pdr -pdv -pden -ml3 -mv6400 -d"CHIP_DM642"
+STD_CC_FLAGS := SEDME_DSPFLAGS -d"CHIP_DM642"
# ----------------------------------------------------------------------------
# Standard flags for the compiler when building an executable
diff --git a/packages/dsplink/files/davinci_mvlpro5.0.mk b/packages/dsplink/files/openembedded.mk
index 2379bc359e..aaf241ad14 100644
--- a/packages/dsplink/files/davinci_mvlpro5.0.mk
+++ b/packages/dsplink/files/openembedded.mk
@@ -99,13 +99,8 @@ CC_SW_DEB := -g
# ----------------------------------------------------------------------------
# Standard flags for the compiler
# ----------------------------------------------------------------------------
-STD_KRNL_FLAGS := -include linux/autoconf.h -c -iwithprefix include -Iinclude -Wall -Wstrict-prototypes\
- -Wno-trigraphs -fno-strict-aliasing -fno-common \
- -fno-omit-frame-pointer -mapcs -mno-sched-prolog \
- -mlittle-endian -D__LINUX_ARM_ARCH__=5 -march=armv5t \
- -mtune=arm9tdmi -msoft-float -Uarm -mapcs \
- -Wdeclaration-after-statement -Os -marm -mabi=aapcs-linux
-STD_USER_FLAGS := -mlittle-endian -march=armv5t -mtune=arm9tdmi -msoft-float \
+STD_KRNL_FLAGS := SEDME_KERNEL_ARMFLAGS
+STD_USER_FLAGS := -mlittle-endian SEDME_USER_ARMFLAGS -msoft-float \
-Uarm -Wdeclaration-after-statement -marm -Wall \
-Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing \
-fno-common -fno-omit-frame-pointer -mapcs -c \
diff --git a/packages/dsplink/files/xdcpaths.mak b/packages/dsplink/files/xdcpaths.mak
new file mode 100644
index 0000000000..3df3bf6305
--- /dev/null
+++ b/packages/dsplink/files/xdcpaths.mak
@@ -0,0 +1,232 @@
+#
+# ======== xdcpaths.mak ========
+# definition of XDC paths and commands
+#
+# This makefile constructs the "search path" for the XDC tools where it finds
+# numerous components and packages needed to build Codec Engine examples and
+# programs.
+#
+# USER NOTE:
+# 1) you must specify various <component>_INSTALL_DIRs directores below to
+# reflect your installation, where <component> is CE for Codec Engine,
+# BIOS for DSP/BIOS, etc.
+# 2) you must specify compiler path and name in CGTOOLS_* variables below
+# 3) you can remove some of the devices from the "DEVICES" list and/or remove
+# some of the types of binaries from the "PROGRAMS" list to reduce
+# the build time (and possibly avoid checking for presence of a component
+# you don't need)
+
+
+
+# (Optional) Remove from this list the devices you're not interested in building
+DEVICES := DM6446 DM355 DM6437 DM648 DM6467
+
+# (Optional) Remove from the list the types of programs you're not intersted in
+# building:
+# APP_CLIENT -- Arm client for codecs running on the DSP, on dual-CPU systems
+# DSP_SERVER -- DSP server with the codecs, running on the DSP, on dual-CPUs
+# APP_LOCAL -- Client+codecs in a single program, whether Arm only or DSP only
+PROGRAMS := APP_CLIENT DSP_SERVER APP_LOCAL
+
+
+# (Mandatory) Specify where various components are installed.
+# What you need depends on what device(s) you're building for, what type(s) of
+# programs you are building for, and whether your Codec Engine distribution
+# is a "big" one that contains all the minor components in its "cetools"
+# directory. The legend:
+# CE - Codec Engine (needed for Arm and for DSP)
+# XDC - XDC tools (Arm and DSP)
+# BIOS - DSP/BIOS (DSP only)
+# XDAIS - XDAIS header files (Arm and DSP)
+# FC - Framework components, various resource managers (ARM and DSP)
+# CMEM - Continuous memory manager (Arm only)
+# DSPLINK - Arm<->DSP communication software (Arm + DSP)
+#
+# you can omit directory specifications for the components you think you don't
+# need (will be warned if you do, based on your DEVICES + PROGRAMS selection
+# above).
+
+CE_INSTALL_DIR := SEDME_S
+XDC_INSTALL_DIR := SEDME_XDCTOOLSUNPACKDIR
+BIOS_INSTALL_DIR := SEDME_BIOSUNPACKDIR
+
+# no need to specify the installation directories below if your CE installation
+# has cetools/ directory on top
+USE_CETOOLS_IF_EXISTS := 1
+XDAIS_INSTALL_DIR := _your_xDAIS_installation_directory/xdais_6_10_01
+DSPLINK_INSTALL_DIR := _your_DSPLink_installation_directory/dsplink-davinci-v1.50-prebuilt
+CMEM_INSTALL_DIR := _your_CMEM_installation_directory/cmem_2_10
+FC_INSTALL_DIR := _your_FC_installation_directory/framework_components_2_10_01
+BIOSUTILS_INSTALL_DIR := _your_BIOSUTILS_installation_directory/biosutils
+
+
+# (Mandatory) specify correct compiler paths and names for the architectures
+# you'll be building for:
+
+# compiler path and name for Montavista Arm 9 toolchain. NOTE: make sure the
+# directory you specify has a "bin" subdirectory
+CGTOOLS_MVARM9 = /db/toolsrc/library/tools/vendors/mvl/arm/mvl4.0-new/montavista/pro/devkit/arm/v5t_le
+CC_MVARM9 = bin/arm_v5t_le-gcc
+
+# compiler path and name for TI C64x toolchain. NOTE: make sure the
+# directory you specify has a "bin" subdirectory
+CGTOOLS_C64P = /db/toolsrc/library/tools/vendors/ti/c6x/6.0.16/Linux
+CC_C64P = bin/cl6x
+
+# -----------------------------------------------------------------------------
+
+# figure out what categories of devices we are to build for
+ifneq (,$(findstring DM6446,$(DEVICES)))
+ DEVICES_DAVINCI := 1
+endif
+ifneq (,$(findstring DM6467,$(DEVICES)))
+ DEVICES_DAVINCI := 1
+endif
+ifneq (,$(findstring DM355,$(DEVICES)))
+ DEVICES_ARMONLY := 1
+endif
+ifneq (,$(findstring DM6437,$(DEVICES)))
+ DEVICES_DSPONLY := 1
+endif
+ifneq (,$(findstring DM648,$(DEVICES)))
+ DEVICES_DSPONLY := 1
+endif
+
+# determine which components are necessary based on DEVICES and PROGRAMS
+REQUIRE_CE := 1
+REQUIRE_XDC := 1
+REQUIRE_XDAIS := 1
+REQUIRE_FC := 1
+
+ifneq (,$(findstring DM6446,$(DEVICES)))
+ ifneq (, $(findstring APP_CLIENT, $(PROGRAMS) ))
+ REQUIRE_LINK := 1
+ REQUIRE_CMEM := 1
+ endif
+ ifneq (, $(findstring DSP_SERVER, $(PROGRAMS) ))
+ REQUIRE_LINK := 1
+ REQUIRE_BIOS := 1
+ endif
+endif
+
+ifneq (,$(findstring DM6467,$(DEVICES)))
+ ifneq (, $(findstring APP_CLIENT, $(PROGRAMS) ))
+ REQUIRE_LINK := 1
+ REQUIRE_CMEM := 1
+ endif
+ ifneq (, $(findstring DSP_SERVER, $(PROGRAMS) ))
+ REQUIRE_LINK := 1
+ REQUIRE_BIOS := 1
+ endif
+endif
+
+ifneq (,$(findstring DM355,$(DEVICES)))
+ ifneq (, $(findstring APP_LOCAL, $(PROGRAMS) ))
+ REQUIRE_CMEM := 1
+ endif
+endif
+
+ifneq (,$(findstring DM6437,$(DEVICES)))
+ ifneq (, $(findstring APP_LOCAL, $(PROGRAMS) ))
+ REQUIRE_BIOS := 1
+ endif
+endif
+
+ifneq (,$(findstring DM648,$(DEVICES)))
+ ifneq (, $(findstring APP_LOCAL, $(PROGRAMS) ))
+ REQUIRE_BIOS := 1
+ endif
+endif
+
+
+# Build the XDC path from the necessary components, verifying along the way
+# that the required compoments are present
+XDC_PATH :=
+
+ERRMSG = which is invalid (could not find file "$(TEST_FILE)"). Set this in <codec engine examples>/xdcpaths.mak! See the build documentation to correct this error.
+
+# CE_INSTALL_DIR is the location of your Codec Engine.
+ifeq ($(REQUIRE_CE), 1)
+ TEST_FILE := $(CE_INSTALL_DIR)/packages/ti/sdo/ce/package.xdc
+ ifeq ($(wildcard $(TEST_FILE)),)
+ $(error CE_INSTALL_DIR is set to "$(CE_INSTALL_DIR)", $(ERRMSG))
+ endif
+ XDC_PATH := $(CE_INSTALL_DIR)/packages
+endif
+
+# Add cetools to XDCPATH if 1) $(USE_CETOOLS_IF_EXISTS) is set, and
+# 2) the CE distribution has "cetools/"
+USING_CETOOLS := 0
+ifeq ($(USE_CETOOLS_IF_EXISTS), 1)
+ ifneq ($(wildcard $(CE_INSTALL_DIR)/cetools),)
+ USING_CETOOLS := 1
+ XDC_PATH := $(CE_INSTALL_DIR)/cetools/packages;$(XDC_PATH)
+ endif
+endif
+ifeq ($(USING_CETOOLS),0)
+ # XDAIS_INSTALL_DIR is the location of your XDAIS distribution
+ ifeq ($(REQUIRE_XDAIS), 1)
+ TEST_FILE := $(XDAIS_INSTALL_DIR)/packages/ti/xdais/package.xdc
+ ifeq ($(wildcard $(TEST_FILE)),)
+ $(error XDAIS_INSTALL_DIR is set to "$(XDAIS_INSTALL_DIR)", $(ERRMSG))
+ endif
+ XDC_PATH := $(XDC_PATH);$(XDAIS_INSTALL_DIR)/packages
+ endif
+
+ # DSPLINK_INSTALL_DIR is the location of your DSPLINK distribution
+ ifeq ($(REQUIRE_LINK), 1)
+ TEST_FILE := $(DSPLINK_INSTALL_DIR)/packages/dsplink/gpp/package.xdc
+ ifeq ($(wildcard $(TEST_FILE)),)
+ $(error DSPLINK_INSTALL_DIR is set to "$(DSPLINK_INSTALL_DIR)", $(ERRMSG))
+ endif
+ XDC_PATH := $(XDC_PATH);$(DSPLINK_INSTALL_DIR)/packages
+ endif
+
+ # CMEM_INSTALL_DIR is the location of your CMEM distribution
+ ifeq ($(REQUIRE_CMEM), 1)
+ TEST_FILE := $(CMEM_INSTALL_DIR)/packages/ti/sdo/linuxutils/cmem/package.xdc
+ ifeq ($(wildcard $(TEST_FILE)),)
+ $(error CMEM_INSTALL_DIR is set to "$(CMEM_INSTALL_DIR)", $(ERRMSG))
+ endif
+ XDC_PATH := $(XDC_PATH);$(CMEM_INSTALL_DIR)/packages
+ endif
+
+ # FC_INSTALL_DIR is the location of your Frameworks Components distribution
+ ifeq ($(REQUIRE_FC), 1)
+ TEST_FILE := $(FC_INSTALL_DIR)/packages/ti/sdo/fc/dskt2/package.xdc
+ ifeq ($(wildcard $(TEST_FILE)),)
+ $(error FC_INSTALL_DIR is set to "$(FC_INSTALL_DIR)", $(ERRMSG))
+ endif
+ XDC_PATH := $(XDC_PATH);$(FC_INSTALL_DIR)/packages
+ endif
+
+ # BIOSUTILS_INSTALL_DIR is the location of your BIOSUTILS distribution
+ ifeq ($(REQUIRE_BIOS), 1)
+ TEST_FILE := $(BIOSUTILS_INSTALL_DIR)/packages/ti/bios/utils/package.xdc
+ ifeq ($(wildcard $(TEST_FILE)),)
+ $(error BIOSUTILS_INSTALL_DIR is set to "$(BIOSUTILS_INSTALL_DIR)", $(ERRMSG))
+ endif
+ XDC_PATH := $(XDC_PATH);$(BIOSUTILS_INSTALL_DIR)/packages
+ endif
+
+endif
+
+# BIOS_INSTALL_DIR is the location of your BIOS distribution
+ifeq ($(REQUIRE_BIOS), 1)
+ TEST_FILE := $(BIOS_INSTALL_DIR)/packages/ti/bios/package.xdc
+ ifeq ($(wildcard $(TEST_FILE)),)
+ $(error BIOS_INSTALL_DIR is set to "$(BIOS_INSTALL_DIR)", $(ERRMSG))
+ endif
+ XDC_PATH := $(XDC_PATH);$(BIOS_INSTALL_DIR)/packages
+endif
+
+# XDC_INSTALL_DIR is the location of your XDCTOOLS installation.
+ifeq ($(REQUIRE_XDC), 1)
+ TEST_FILE := $(XDC_INSTALL_DIR)/packages/xdc/package.xdc
+ ifeq ($(wildcard $(TEST_FILE)),)
+ $(error XDC_INSTALL_DIR is set to "$(XDC_INSTALL_DIR)", $(ERRMSG))
+ endif
+endif
+
+# XDC_PATH is complete. Any other components you could add as
+# XDC_PATH := <your component>/packages;$(XDC_PATH)