PASDK-587:Add make files for test_arm & test_dsp
authorFrank Livingston <frank-livingston@ti.com>
Mon, 19 Mar 2018 17:19:57 +0000 (12:19 -0500)
committerFrank Livingston <frank-livingston@ti.com>
Mon, 19 Mar 2018 17:19:57 +0000 (12:19 -0500)
Makefile [new file with mode: 0644]
pasdk/test_arm/Makefile [new file with mode: 0644]
pasdk/test_dsp/Makefile [new file with mode: 0644]
products.mak [new file with mode: 0644]

diff --git a/Makefile b/Makefile
new file mode 100644 (file)
index 0000000..1c493fc
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,99 @@
+#
+#  Copyright (c) 2018 Texas Instruments Incorporated - http://www.ti.com
+#  All rights reserved.
+#
+#  Redistribution and use in source and binary forms, with or without
+#  modification, are permitted provided that the following conditions
+#  are met:
+#
+#  *  Redistributions of source code must retain the above copyright
+#     notice, this list of conditions and the following disclaimer.
+#
+#  *  Redistributions in binary form must reproduce the above copyright
+#     notice, this list of conditions and the following disclaimer in the
+#     documentation and/or other materials provided with the distribution.
+#
+#  *  Neither the name of Texas Instruments Incorporated nor the names of
+#     its contributors may be used to endorse or promote products derived
+#     from this software without specific prior written permission.
+#
+#  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+#  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+#  THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+#  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+#  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+#  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+#  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+#  OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+#  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+#  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+#  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+#
+#  ======== Makefile ========
+#
+
+# edit PROCLIST list to control how many executables to build
+#PROCLIST = test_arm
+#PROCLIST = test_dsp
+PROCLIST = test_arm test_dsp
+
+EXBASE = .
+include $(EXBASE)/products.mak
+
+.PHONY: all $(PROCLIST) help install clean
+
+all: $(PROCLIST)
+
+$(PROCLIST):
+       @$(ECHO) "#"
+       @$(ECHO) "# Making $@ ..."
+       $(MAKE) -C $(PASDK_INSTALL_DIR)/$@
+
+help:
+       @$(ECHO) "make                                  # build executables"
+       @$(ECHO) "make clean                            # clean everything"
+       @$(ECHO) "make install EXEC_DIR=/.../testbench  # install folder"
+
+# setup install goal
+ifeq ($(filter $(MAKECMDGOALS),install),$(MAKECMDGOALS))
+ifeq (,$(EXEC_DIR))
+EXEC_DIR=$(CURDIR)/install
+endif
+override EXEC_DIR:=$(EXEC_DIR)/pasdk
+endif
+
+install: $(PROCLIST) $(addsuffix _install,$(PROCLIST))
+$(addsuffix _install,$(PROCLIST)):
+       @$(ECHO) "#"
+       @$(ECHO) "# Making $@ ..."
+       @$(MKDIR) $(EXEC_DIR)/debug
+       @$(MKDIR) $(EXEC_DIR)/release
+       $(MAKE) -C $(subst _install,,$@) EXEC_DIR=$(EXEC_DIR) install
+
+clean: $(addsuffix _clean,$(PROCLIST))
+       $(RMDIR) install
+
+$(addsuffix _clean,$(PROCLIST)):
+       $(MAKE) -C $(PASDK_INSTALL_DIR)/$(subst _clean,,$@) clean
+
+
+#  ======== standard macros ========
+ifneq (,$(wildcard $(XDC_INSTALL_DIR)/xdc.exe))
+    # use these on Windows
+    CP      = $(XDC_INSTALL_DIR)/bin/cp
+    ECHO    = $(XDC_INSTALL_DIR)/bin/echo
+    INSTALL = $(XDC_INSTALL_DIR)/bin/cp
+    MKDIR   = $(XDC_INSTALL_DIR)/bin/mkdir -p
+    RM      = $(XDC_INSTALL_DIR)/bin/rm -f
+    RMDIR   = $(XDC_INSTALL_DIR)/bin/rm -rf
+else
+    # use these on Linux
+    CP      = cp
+    ECHO    = echo
+    INSTALL = install
+    MKDIR   = mkdir -p
+    RM      = rm -f
+    RMDIR   = rm -rf
+endif
diff --git a/pasdk/test_arm/Makefile b/pasdk/test_arm/Makefile
new file mode 100644 (file)
index 0000000..267a420
--- /dev/null
@@ -0,0 +1,320 @@
+#
+#  Copyright (c) 2018 Texas Instruments Incorporated - http://www.ti.com
+#  All rights reserved.
+#
+#  Redistribution and use in source and binary forms, with or without
+#  modification, are permitted provided that the following conditions
+#  are met:
+#
+#  *  Redistributions of source code must retain the above copyright
+#     notice, this list of conditions and the following disclaimer.
+#
+#  *  Redistributions in binary form must reproduce the above copyright
+#     notice, this list of conditions and the following disclaimer in the
+#     documentation and/or other materials provided with the distribution.
+#
+#  *  Neither the name of Texas Instruments Incorporated nor the names of
+#     its contributors may be used to endorse or promote products derived
+#     from this software without specific prior written permission.
+#
+#  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+#  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+#  THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+#  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+#  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+#  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+#  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+#  OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+#  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+#  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+#  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+#
+#  ======== Makefile ========
+#
+
+EXBASE = ../..
+include $(EXBASE)/products.mak
+
+.PHONY: all paf_libs debug release
+
+# Source directories
+COMMON_SRC_DIR_CMP      = ../common/components
+COMMON_SRC_DIR_PFP      = ../common/pfp
+COMMON_SRC_DIR_COMMON   = ../common
+LOCAL_SRC_DIR_ITOPO     = framework/itopo
+LOCAL_SRC_DIR_FWK       = framework
+LOCAL_SRC_DIR_APP       = application
+# Source files
+COMMON_SRCS_CMP         = $(wildcard $(COMMON_SRC_DIR_CMP)/*.c)
+COMMON_SRCS_PFP         = $(wildcard $(COMMON_SRC_DIR_PFP)/*.c)
+COMMON_SRCS_COMMON      = $(wildcard $(COMMON_SRC_DIR_COMMON)/*.c)
+LOCAL_SRCS_ITOPO        = $(wildcard $(LOCAL_SRC_DIR_ITOPO)/*.c)
+LOCAL_SRCS_FWK          = $(wildcard $(LOCAL_SRC_DIR_FWK)/*.c)
+LOCAL_SRCS_APP          = $(wildcard $(LOCAL_SRC_DIR_APP)/*.c)
+
+# Object file base directory
+OBJ_DIR_BASE = bin/$(PROFILE)/obj
+
+# Object & dependency file directories
+COMMON_OBJ_DIR_CMP      = $(addsuffix /$(subst ../,,$(COMMON_SRC_DIR_CMP)),$(OBJ_DIR_BASE))
+COMMON_OBJ_DIR_PFP      = $(addsuffix /$(subst ../,,$(COMMON_SRC_DIR_PFP)),$(OBJ_DIR_BASE))
+COMMON_OBJ_DIR_COMMON   = $(addsuffix /$(subst ../,,$(COMMON_SRC_DIR_COMMON)),$(OBJ_DIR_BASE))
+LOCAL_OBJ_DIR_ITOPO     = $(addsuffix /$(LOCAL_SRC_DIR_ITOPO),$(OBJ_DIR_BASE))
+LOCAL_OBJ_DIR_FWK       = $(addsuffix /$(LOCAL_SRC_DIR_FWK),$(OBJ_DIR_BASE))
+LOCAL_OBJ_DIR_APP       = $(addsuffix /$(LOCAL_SRC_DIR_APP),$(OBJ_DIR_BASE))
+OBJ_DIRS = $(COMMON_OBJ_DIR_CMP) \
+    $(COMMON_OBJ_DIR_PFP) \
+    $(COMMON_OBJ_DIR_COMMON) \
+    $(LOCAL_OBJ_DIR_ITOPO) \
+    $(LOCAL_OBJ_DIR_FWK) \
+    $(LOCAL_OBJ_DIR_APP)
+    
+# Object files
+COMMON_OBJS_CMP         = $(addprefix $(COMMON_OBJ_DIR_CMP)/,$(patsubst %.c,%.oa15fg,$(notdir $(COMMON_SRCS_CMP))))
+COMMON_OBJS_PFP         = $(addprefix $(COMMON_OBJ_DIR_PFP)/,$(patsubst %.c,%.oa15fg,$(notdir $(COMMON_SRCS_PFP))))
+COMMON_OBJS_COMMON      = $(addprefix $(COMMON_OBJ_DIR_COMMON)/,$(patsubst %.c,%.oa15fg,$(notdir $(COMMON_SRCS_COMMON))))
+LOCAL_OBJS_ITOPO        = $(addprefix $(LOCAL_OBJ_DIR_ITOPO)/,$(patsubst %.c,%.oa15fg,$(notdir $(LOCAL_SRCS_ITOPO))))
+LOCAL_OBJS_FWK          = $(addprefix $(LOCAL_OBJ_DIR_FWK)/,$(patsubst %.c,%.oa15fg,$(notdir $(LOCAL_SRCS_FWK))))
+LOCAL_OBJS_APP          = $(addprefix $(LOCAL_OBJ_DIR_APP)/,$(patsubst %.c,%.oa15fg,$(notdir $(LOCAL_SRCS_APP))))
+OBJS = $(COMMON_OBJS_CMP) \
+    $(COMMON_OBJS_PFP) \
+    $(COMMON_OBJS_COMMON) \
+    $(LOCAL_OBJS_ITOPO) \
+    $(LOCAL_OBJS_FWK) \
+    $(LOCAL_OBJS_APP)
+
+CONFIG = bin/$(PROFILE)/configuro
+
+# Package repositories
+PKGPATH := $(BIOS_INSTALL_DIR)/packages
+PKGPATH := $(PKGPATH)+$(XDC_INSTALL_DIR)/packages
+PKGPATH := $(PKGPATH)+$(UIA_INSTALL_DIR)/packages
+PKGPATH := $(PKGPATH)+$(IPC_INSTALL_DIR)/packages
+
+# Include generated dependency files
+-include $(patsubst %.oa15fg,%.oa15fg.dep,$(COMMON_OBJS_CMP))
+-include $(patsubst %.oa15fg,%.oa15fg.dep,$(COMMON_OBJS_PFP))
+-include $(patsubst %.oa15fg,%.oa15fg.dep,$(COMMON_OBJS_COMMON))
+-include $(patsubst %.oa15fg,%.oa15fg.dep,$(LOCAL_OBJS_ITOPO))
+-include $(patsubst %.oa15fg,%.oa15fg.dep,$(LOCAL_OBJS_FWK))
+-include $(patsubst %.oa15fg,%.oa15fg.dep,$(LOCAL_OBJS_APP))
+
+.PRECIOUS: %/compiler.opt %/linker.cmd
+
+all: paf_libs debug release
+  
+    
+#  ======== rule to generate PAF libraries ========
+paf_libs:
+       $(MAKE) -C $(PAF_INSTALL_DIR)/pa/build install ARCH=a15
+
+#  ======== rule for debug build configuration ========
+debug:
+       $(MAKE) PROFILE=debug test_arm.x
+
+#  ======== rule for release build configuration ========
+release:
+       $(MAKE) PROFILE=release test_arm.x
+
+    
+#  ======== rule for link ========
+test_arm.x: bin/$(PROFILE)/test_arm.xa15fg
+bin/$(PROFILE)/test_arm.xa15fg: $(OBJS) $(libs) $(CONFIG)/linker.cmd
+       @$(ECHO) "#"
+       @$(ECHO) "# Making $@ ..."
+       $(LD) -o $@ $(LDFLAGS) $(OBJS) $(libs) -Wl,-T,$(CONFIG)/linker.cmd \
+        -Wl,-T,application/app_noip.cmd \
+        -lgcc -lc -lm -lnosys $(LDLIBS)
+
+#
+#  ======== rules for compilations of source files ========
+#
+$(COMMON_OBJ_DIR_CMP)/%.oa15fg: $(COMMON_SRC_DIR_CMP)/%.c $(CONFIG)/compiler.opt | $(COMMON_OBJ_DIR_CMP)
+       @$(ECHO) "#"
+       @$(ECHO) "# Making $< $@ ..."
+       $(CC) $(CPPFLAGS) $(CFLAGS) $(CINCDIRS) -o $@ $<
+
+$(COMMON_OBJ_DIR_PFP)/%.oa15fg: $(COMMON_SRC_DIR_PFP)/%.c $(CONFIG)/compiler.opt | $(COMMON_OBJ_DIR_PFP)
+       @$(ECHO) "#"
+       @$(ECHO) "# Making $< $@ ..."
+       $(CC) $(CPPFLAGS) $(CFLAGS) $(CINCDIRS) -o $@ $<
+    
+$(COMMON_OBJ_DIR_COMMON)/%.oa15fg: $(COMMON_SRC_DIR_COMMON)/%.c $(CONFIG)/compiler.opt | $(COMMON_OBJ_DIR_COMMON)
+       @$(ECHO) "#"
+       @$(ECHO) "# Making $< $@ ..."
+       $(CC) $(CPPFLAGS) $(CFLAGS) $(CINCDIRS) -o $@ $<
+
+$(LOCAL_OBJ_DIR_ITOPO)/%.oa15fg: $(LOCAL_SRC_DIR_ITOPO)/%.c $(CONFIG)/compiler.opt | $(LOCAL_OBJ_DIR_ITOPO)
+       @$(ECHO) "#"
+       @$(ECHO) "# Making $< $@ ..."
+       $(CC) $(CPPFLAGS) $(CFLAGS) $(CINCDIRS) -o $@ $<
+
+$(LOCAL_OBJ_DIR_FWK)/%.oa15fg: $(LOCAL_SRC_DIR_FWK)/%.c $(CONFIG)/compiler.opt | $(LOCAL_OBJ_DIR_FWK)
+       @$(ECHO) "#"
+       @$(ECHO) "# Making $< $@ ..."
+       $(CC) $(CPPFLAGS) $(CFLAGS) $(CINCDIRS) -o $@ $<
+
+$(LOCAL_OBJ_DIR_APP)/%.oa15fg: $(LOCAL_SRC_DIR_APP)/%.c $(CONFIG)/compiler.opt | $(LOCAL_OBJ_DIR_APP)
+       @$(ECHO) "#"
+       @$(ECHO) "# Making $< $@ ..."
+       $(CC) $(CPPFLAGS) $(CFLAGS) $(CINCDIRS) -o $@ $<
+
+#  ======== rule for creation of output directories ========
+$(OBJ_DIRS):
+       @echo "mkdir $@"
+       $(shell $(MKDIR) -p $@)
+
+#  ======== rule for XDC tools, configuro ========
+%/compiler.opt: %/linker.cmd ;
+%/linker.cmd: application/app.cfg ../shared/config.bld
+       @$(ECHO) "#"
+       @$(ECHO) "# Making $@ ..."
+       $(XDC_INSTALL_DIR)/xs --xdcpath="$(subst +,;,$(PKGPATH))" \
+            xdc.tools.configuro -o $(CONFIG) \
+            -t gnu.targets.arm.A15F \
+            -c $(gnu.targets.arm.A15F) \
+            -p ti.platforms.evmTCI66AK2G02:host \
+            -b ../shared/config.bld -r release \
+            --cfgArgs "{ \
+                profile: \"$(PROFILE)\" \
+            }" \
+            $(XDCFLAGS) \
+            application/app.cfg
+
+install:
+       @$(ECHO) "#"
+       @$(ECHO) "# Making $@ ..."
+       @$(MKDIR) $(EXEC_DIR)/debug
+       $(CP) bin/debug/test_arm.xa15fg $(EXEC_DIR)/debug
+       @$(MKDIR) $(EXEC_DIR)/release
+       $(CP) bin/release/test_arm.xa15fg $(EXEC_DIR)/release
+
+help:
+       @$(ECHO) "make                   # build executable"
+       @$(ECHO) "make clean             # clean everything"
+
+clean::
+       $(MAKE) -C $(PAF_INSTALL_DIR)/pa/build clean ARCH=a15
+       $(RMDIR) bin
+
+    
+#  ======== install validation ========
+ifeq (install,$(MAKECMDGOALS))
+ifeq (,$(EXEC_DIR))
+$(error must specify EXEC_DIR)
+endif
+endif
+
+#  ======== misc macros ========
+XDCFLAGS = -Dxdc.platform.custom.check=false -DProjName=pa_i13_evmk2g_arm -DHsDevBuild=0
+
+#  ======== tool chain macros ========
+CC = $(gnu.targets.arm.A15F)/bin/arm-none-eabi-gcc -c -MD -MF $@.dep
+LD = $(gnu.targets.arm.A15F)/bin/arm-none-eabi-gcc
+
+CPPFLAGS = -Dfar= -D__DYNAMIC_REENT__
+CFLAGS = -mcpu=cortex-a15 -mtune=cortex-a15 -marm -mfloat-abi=hard $(CPREDEFS) -Wall -Wunused -Wunknown-pragmas -ffunction-sections -fdata-sections $(CCPROFILE_$(PROFILE)) @$(CONFIG)/compiler.opt $(CINCDIRS)
+
+CPREDEFS = -Dk2g02 -Darm0 -DARMCOMPILE -DPAF_DEVICE=0xDA000000 -DNON_CACHE_STATUS
+
+CINCDIRS = -I"$(gnu.targets.arm.A15F)/arm-none-eabi/include" \
+    -I"$(gnu.targets.arm.A15F)/arm-none-eabi/include/newlib-nano" \
+    -I"$(PDK_INSTALL_DIR)/packages" \
+    -I"$(XDAIS_INSTALL_DIR)/packages" \
+    -I"$(PAF_INSTALL_DIR)/pa/asp/com" \
+    -I"$(PAF_INSTALL_DIR)/pa/asp/std" \
+    -I"$(PAF_INSTALL_DIR)/pa/dec/com" \
+    -I"$(PAF_INSTALL_DIR)/pa/dec/pcm1/alg" \
+    -I"$(PAF_INSTALL_DIR)/pa/dec/pcm1/include" \
+    -I"$(PAF_INSTALL_DIR)/pa/sio/acp1" \
+    -I"$(PAF_INSTALL_DIR)/pa/sio/paf" \
+    -I"$(PAF_INSTALL_DIR)/pa/f/s3" \
+    -I"$(PAF_INSTALL_DIR)/pa/f/include" \
+    -I"$(PAF_INSTALL_DIR)/pa/f/alpha" \
+    -I"$(PAF_INSTALL_DIR)/pa/util/c67x_cintrins" \
+    -I"$(PAF_INSTALL_DIR)/pa/util/statusop_common" \
+    -I"$(PASDK_INSTALL_DIR)/common" \
+    -I"$(PASDK_INSTALL_DIR)/test_arm/framework" \
+    -I"$(PASDK_INSTALL_DIR)/test_arm/framework/itopo" \
+    -I"$(PASDK_INSTALL_DIR)/test_dsp/sio" \
+    -I"$(PASDK_INSTALL_DIR)/test_dsp/sio_dev2"
+    
+CCPROFILE_debug = -g -gdwarf-3 -gstrict-dwarf
+CCPROFILE_release = -O2
+
+LDFLAGS = $(LDPROFILE_$(PROFILE)) -mfloat-abi=hard -nostartfiles -Wl,-static -Wl,--gc-sections -Wl,-Map=$(@D)/obj/$(@F).map $(LDSYMS)
+LDSYMS = -Wl,--defsym,STACKSIZE=0x10000 -Wl,--defsym,HEAPSIZE=0x400
+
+LDLIBS = -L$(BIOS_INSTALL_DIR)/packages/gnu/targets/arm/libs/install-native/arm-none-eabi/lib/hard --specs=nano.specs \
+    -L$(PAF_INSTALL_DIR)/pa/build/a15/release
+
+LDPROFILE_debug = -g -gdwarf-3 -gstrict-dwarf
+LDPROFILE_release =
+
+#  ======== standard macros ========
+ifneq (,$(wildcard $(XDC_INSTALL_DIR)/bin/echo.exe))
+    # use these on Windows
+    CP      = $(XDC_INSTALL_DIR)/bin/cp
+    ECHO    = $(XDC_INSTALL_DIR)/bin/echo
+    MKDIR   = $(XDC_INSTALL_DIR)/bin/mkdir -p
+    RM      = $(XDC_INSTALL_DIR)/bin/rm -f
+    RMDIR   = $(XDC_INSTALL_DIR)/bin/rm -rf
+else
+    # use these on Linux
+    CP      = cp
+    ECHO    = echo
+    MKDIR   = mkdir -p
+    RM      = rm -f
+    RMDIR   = rm -rf
+endif
+    
+#  ======== debug, rule to show build variables ========   
+.show_build_vars:
+       @echo Object file base directory:
+       @echo $(OBJ_DIR_BASE)
+       @echo #
+       @echo Common, component vars
+       @echo $(COMMON_SRC_DIR_CMP)
+       @echo $(COMMON_SRCS_CMP)
+       @echo $(COMMON_OBJ_DIR_CMP)
+       @echo $(COMMON_OBJS_CMP)
+       @echo #
+       @echo Common, PFP vars
+       @echo $(COMMON_SRC_DIR_PFP)
+       @echo $(COMMON_SRCS_PFP)
+       @echo $(COMMON_OBJ_DIR_PFP)
+       @echo $(COMMON_OBJS_PFP)
+       @echo #
+       @echo Common vars
+       @echo $(COMMON_SRC_DIR_COMMON)
+       @echo $(COMMON_SRCS_COMMON)
+       @echo $(COMMON_OBJ_DIR_COMMON)
+       @echo $(COMMON_OBJS_COMMON)
+       @echo #
+       @echo Framework, itopo vars
+       @echo $(LOCAL_SRC_DIR_ITOPO)
+       @echo $(LOCAL_SRCS_ITOPO)
+       @echo $(LOCAL_OBJ_DIR_ITOPO)
+       @echo $(LOCAL_OBJS_ITOPO)
+       @echo #
+       @echo Framework vars
+       @echo $(LOCAL_SRC_DIR_FWK)
+       @echo $(LOCAL_SRCS_FWK)
+       @echo $(LOCAL_OBJ_DIR_FWK)
+       @echo $(LOCAL_OBJS_FWK)
+       @echo #
+       @echo Applications vars
+       @echo $(LOCAL_SRC_DIR_APP)
+       @echo $(LOCAL_SRCS_APP)
+       @echo $(LOCAL_OBJ_DIR_APP)
+       @echo $(LOCAL_OBJS_APP)
+       @echo #
+       @echo Dependency vars
+       @echo $(patsubst %.oa15fg,%.oa15fg.dep,$(COMMON_OBJS_CMP))
+       @echo $(patsubst %.oa15fg,%.oa15fg.dep,$(COMMON_OBJS_PFP))
+       @echo $(patsubst %.oa15fg,%.oa15fg.dep,$(COMMON_OBJS_COMMON))
+       @echo $(patsubst %.oa15fg,%.oa15fg.dep,$(LOCAL_OBJS_ITOPO))
+       @echo $(patsubst %.oa15fg,%.oa15fg.dep,$(LOCAL_OBJS_FWK))
+       @echo $(patsubst %.oa15fg,%.oa15fg.dep,$(LOCAL_OBJS_APP))
diff --git a/pasdk/test_dsp/Makefile b/pasdk/test_dsp/Makefile
new file mode 100644 (file)
index 0000000..d2cf80f
--- /dev/null
@@ -0,0 +1,510 @@
+#
+#  Copyright (c) 2018 Texas Instruments Incorporated - http://www.ti.com
+#  All rights reserved.
+#
+#  Redistribution and use in source and binary forms, with or without
+#  modification, are permitted provided that the following conditions
+#  are met:
+#
+#  *  Redistributions of source code must retain the above copyright
+#     notice, this list of conditions and the following disclaimer.
+#
+#  *  Redistributions in binary form must reproduce the above copyright
+#     notice, this list of conditions and the following disclaimer in the
+#     documentation and/or other materials provided with the distribution.
+#
+#  *  Neither the name of Texas Instruments Incorporated nor the names of
+#     its contributors may be used to endorse or promote products derived
+#     from this software without specific prior written permission.
+#
+#  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+#  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+#  THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+#  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+#  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+#  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+#  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+#  OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+#  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+#  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+#  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+#
+#  ======== Makefile ========
+#
+
+EXBASE = ../..
+include $(EXBASE)/products.mak
+
+.PHONY: all paf_libs debug release
+
+# Source directories
+COMMON_SRC_DIR_CMP          = ../common/components
+COMMON_SRC_DIR_CMP          = ../common/components
+COMMON_SRC_DIR_PFP          = ../common/pfp
+COMMON_SRC_DIR_COMMON       = ../common
+LOCAL_SRC_DIR_SAP           = sap
+LOCAL_SRC_DIR_IO            = io
+LOCAL_SRC_DIR_MIB           = mib
+LOCAL_SRC_DIR_MOB           = mob
+LOCAL_SRC_DIR_SIO           = sio
+LOCAL_SRC_DIR_SIODEV2       = sio_dev2
+LOCAL_SRC_DIR_FWK_ITOPO     = framework/itopo
+LOCAL_SRC_DIR_FWK           = framework
+LOCAL_SRC_DIR_APP_ITOPO_EVM = application/itopo/evmk2g
+LOCAL_SRC_DIR_APP_ITOPO     = application/itopo
+LOCAL_SRC_DIR_APP           = application
+# Source files
+COMMON_SRCS_CMP             = $(wildcard $(COMMON_SRC_DIR_CMP)/*.c)
+COMMON_SRCS_PFP             = $(wildcard $(COMMON_SRC_DIR_PFP)/*.c)
+COMMON_SRCS_COMMON          = $(wildcard $(COMMON_SRC_DIR_COMMON)/*.c)
+LOCAL_SRCS_SAP              = $(wildcard $(LOCAL_SRC_DIR_SAP)/*.c)
+LOCAL_SRCS_IO               = $(wildcard $(LOCAL_SRC_DIR_IO)/*.c)
+LOCAL_SRCS_MIB              = $(wildcard $(LOCAL_SRC_DIR_MIB)/*.c)
+LOCAL_SRCS_MOB              = $(wildcard $(LOCAL_SRC_DIR_MOB)/*.c)
+LOCAL_SRCS_SIO              = $(wildcard $(LOCAL_SRC_DIR_SIO)/*.c)
+LOCAL_SRCS_SIODEV2          = $(wildcard $(LOCAL_SRC_DIR_SIODEV2)/*.c)
+LOCAL_SRCS_FWK_ITOPO        = $(wildcard $(LOCAL_SRC_DIR_FWK_ITOPO)/*.c)
+LOCAL_SRCS_FWK              = $(wildcard $(LOCAL_SRC_DIR_FWK)/*.c)
+LOCAL_SRCS_APP_ITOPO_EVM    = $(wildcard $(LOCAL_SRC_DIR_APP_ITOPO_EVM)/*.c)
+LOCAL_SRCS_APP_ITOPO        = $(wildcard $(LOCAL_SRC_DIR_APP_ITOPO)/*.c)
+LOCAL_SRCS_APP              = $(wildcard $(LOCAL_SRC_DIR_APP)/*.c)
+
+# Object file base directory
+OBJ_DIR_BASE = bin/$(PROFILE)/obj
+
+# Object & dependency file directories
+COMMON_OBJ_DIR_CMP          = $(addsuffix /$(subst ../,,$(COMMON_SRC_DIR_CMP)),$(OBJ_DIR_BASE))
+COMMON_OBJ_DIR_PFP          = $(addsuffix /$(subst ../,,$(COMMON_SRC_DIR_PFP)),$(OBJ_DIR_BASE))
+COMMON_OBJ_DIR_COMMON       = $(addsuffix /$(subst ../,,$(COMMON_SRC_DIR_COMMON)),$(OBJ_DIR_BASE))
+LOCAL_OBJ_DIR_SAP           = $(addsuffix /$(LOCAL_SRC_DIR_SAP),$(OBJ_DIR_BASE))
+LOCAL_OBJ_DIR_IO            = $(addsuffix /$(LOCAL_SRC_DIR_IO),$(OBJ_DIR_BASE))
+LOCAL_OBJ_DIR_MIB           = $(addsuffix /$(LOCAL_SRC_DIR_MIB),$(OBJ_DIR_BASE))
+LOCAL_OBJ_DIR_MOB           = $(addsuffix /$(LOCAL_SRC_DIR_MOB),$(OBJ_DIR_BASE))
+LOCAL_OBJ_DIR_SIO           = $(addsuffix /$(LOCAL_SRC_DIR_SIO),$(OBJ_DIR_BASE))
+LOCAL_OBJ_DIR_SIODEV2       = $(addsuffix /$(LOCAL_SRC_DIR_SIODEV2),$(OBJ_DIR_BASE))
+LOCAL_OBJ_DIR_FWK_ITOPO     = $(addsuffix /$(LOCAL_SRC_DIR_FWK_ITOPO),$(OBJ_DIR_BASE))
+LOCAL_OBJ_DIR_FWK           = $(addsuffix /$(LOCAL_SRC_DIR_FWK),$(OBJ_DIR_BASE))
+LOCAL_OBJ_DIR_APP_ITOPO     = $(addsuffix /$(LOCAL_SRC_DIR_APP_ITOPO),$(OBJ_DIR_BASE))
+LOCAL_OBJ_DIR_APP_ITOPO_EVM = $(addsuffix /$(LOCAL_SRC_DIR_APP_ITOPO_EVM),$(OBJ_DIR_BASE))
+LOCAL_OBJ_DIR_APP           = $(addsuffix /$(LOCAL_SRC_DIR_APP),$(OBJ_DIR_BASE))
+OBJ_DIRS = $(COMMON_OBJ_DIR_CMP) \
+    $(COMMON_OBJ_DIR_PFP) \
+    $(COMMON_OBJ_DIR_COMMON) \
+    $(LOCAL_OBJ_DIR_SAP) \
+    $(LOCAL_OBJ_DIR_IO) \
+    $(LOCAL_OBJ_DIR_MIB) \
+    $(LOCAL_OBJ_DIR_MOB) \
+    $(LOCAL_OBJ_DIR_SIO) \
+    $(LOCAL_OBJ_DIR_SIODEV2) \
+    $(LOCAL_OBJ_DIR_FWK_ITOPO) \
+    $(LOCAL_OBJ_DIR_FWK) \
+    $(LOCAL_OBJ_DIR_APP_ITOPO_EVM) \
+    $(LOCAL_OBJ_DIR_APP_ITOPO) \
+    $(LOCAL_OBJ_DIR_APP)
+    
+# Object files
+COMMON_OBJS_CMP             = $(addprefix $(COMMON_OBJ_DIR_CMP)/,$(patsubst %.c,%.oe66,$(notdir $(COMMON_SRCS_CMP))))
+COMMON_OBJS_PFP             = $(addprefix $(COMMON_OBJ_DIR_PFP)/,$(patsubst %.c,%.oe66,$(notdir $(COMMON_SRCS_PFP))))
+COMMON_OBJS_COMMON          = $(addprefix $(COMMON_OBJ_DIR_COMMON)/,$(patsubst %.c,%.oe66,$(notdir $(COMMON_SRCS_COMMON))))
+LOCAL_OBJS_SAP              = $(addprefix $(LOCAL_OBJ_DIR_SAP)/,$(patsubst %.c,%.oe66,$(notdir $(LOCAL_SRCS_SAP))))
+LOCAL_OBJS_IO               = $(addprefix $(LOCAL_OBJ_DIR_IO)/,$(patsubst %.c,%.oe66,$(notdir $(LOCAL_SRCS_IO))))
+LOCAL_OBJS_MIB              = $(addprefix $(LOCAL_OBJ_DIR_MIB)/,$(patsubst %.c,%.oe66,$(notdir $(LOCAL_SRCS_MIB))))
+LOCAL_OBJS_MOB              = $(addprefix $(LOCAL_OBJ_DIR_MOB)/,$(patsubst %.c,%.oe66,$(notdir $(LOCAL_SRCS_MOB))))
+LOCAL_OBJS_SIO              = $(addprefix $(LOCAL_OBJ_DIR_SIO)/,$(patsubst %.c,%.oe66,$(notdir $(LOCAL_SRCS_SIO))))
+LOCAL_OBJS_SIODEV2          = $(addprefix $(LOCAL_OBJ_DIR_SIODEV2)/,$(patsubst %.c,%.oe66,$(notdir $(LOCAL_SRCS_SIODEV2))))
+LOCAL_OBJS_FWK_ITOPO        = $(addprefix $(LOCAL_OBJ_DIR_FWK_ITOPO)/,$(patsubst %.c,%.oe66,$(notdir $(LOCAL_SRCS_FWK_ITOPO))))
+LOCAL_OBJS_FWK              = $(addprefix $(LOCAL_OBJ_DIR_FWK)/,$(patsubst %.c,%.oe66,$(notdir $(LOCAL_SRCS_FWK))))
+LOCAL_OBJS_APP_ITOPO_EVM    = $(addprefix $(LOCAL_OBJ_DIR_APP_ITOPO_EVM)/,$(patsubst %.c,%.oe66,$(notdir $(LOCAL_SRCS_APP_ITOPO_EVM))))
+LOCAL_OBJS_APP_ITOPO        = $(addprefix $(LOCAL_OBJ_DIR_APP_ITOPO)/,$(patsubst %.c,%.oe66,$(notdir $(LOCAL_SRCS_APP_ITOPO))))
+LOCAL_OBJS_APP              = $(addprefix $(LOCAL_OBJ_DIR_APP)/,$(patsubst %.c,%.oe66,$(notdir $(LOCAL_SRCS_APP))))
+OBJS = $(COMMON_OBJS_CMP) \
+    $(COMMON_OBJS_PFP) \
+    $(COMMON_OBJS_COMMON) \
+    $(LOCAL_OBJS_SAP) \
+    $(LOCAL_OBJS_IO) \
+    $(LOCAL_OBJS_MIB) \
+    $(LOCAL_OBJS_MOB) \
+    $(LOCAL_OBJS_SIO) \
+    $(LOCAL_OBJS_SIODEV2) \
+    $(LOCAL_OBJS_FWK_ITOPO) \
+    $(LOCAL_OBJS_FWK) \
+    $(LOCAL_OBJS_APP_ITOPO_EVM) \
+    $(LOCAL_OBJS_APP_ITOPO) \
+    $(LOCAL_OBJS_APP)
+
+CONFIG = bin/$(PROFILE)/configuro
+
+# Package repositories
+PKGPATH := $(BIOS_INSTALL_DIR)/packages
+PKGPATH := $(PKGPATH)+$(XDC_INSTALL_DIR)/packages
+PKGPATH := $(PKGPATH)+$(UIA_INSTALL_DIR)/packages
+PKGPATH := $(PKGPATH)+$(IPC_INSTALL_DIR)/packages
+PKGPATH := $(PKGPATH)+$(PDK_INSTALL_DIR)/packages
+PKGPATH := $(PKGPATH)+$(EDMA3_INSTALL_DIR)/packages
+
+# Include generated dependency files
+-include $(patsubst %.oe66,%.oe66.dep,$(COMMON_OBJS_CMP))
+-include $(patsubst %.oe66,%.oe66.dep,$(COMMON_OBJS_PFP))
+-include $(patsubst %.oe66,%.oe66.dep,$(COMMON_OBJS_COMMON))
+-include $(patsubst %.oe66,%.oe66.dep,$(LOCAL_OBJS_SAP))
+-include $(patsubst %.oe66,%.oe66.dep,$(LOCAL_OBJS_IO))
+-include $(patsubst %.oe66,%.oe66.dep,$(LOCAL_OBJS_MIB))
+-include $(patsubst %.oe66,%.oe66.dep,$(LOCAL_OBJS_MOB))
+-include $(patsubst %.oe66,%.oe66.dep,$(LOCAL_OBJS_SIO))
+-include $(patsubst %.oe66,%.oe66.dep,$(LOCAL_OBJS_SIODEV2))
+-include $(patsubst %.oe66,%.oe66.dep,$(LOCAL_OBJS_FWK_ITOPO))
+-include $(patsubst %.oe66,%.oe66.dep,$(LOCAL_OBJS_FWK))
+-include $(patsubst %.oe66,%.oe66.dep,$(LOCAL_OBJS_APP_ITOPO_EVM))
+-include $(patsubst %.oe66,%.oe66.dep,$(LOCAL_OBJS_APP_ITOPO))
+-include $(patsubst %.oe66,%.oe66.dep,$(LOCAL_OBJS_APP))
+
+.PRECIOUS: %/compiler.opt %/linker.cmd
+
+all: paf_libs debug release
+  
+    
+#  ======== rule to generate PAF libraries ========
+paf_libs:
+       $(MAKE) -C $(PAF_INSTALL_DIR)/pa/build install ARCH=c66x
+
+#  ======== rule for debug build configuration ========
+debug:
+       $(MAKE) PROFILE=debug test_dsp.x
+
+#  ======== rule for release build configuration ========
+release:
+       $(MAKE) PROFILE=release test_dsp.x
+
+    
+#  ======== rule for link ========
+test_dsp.x: bin/$(PROFILE)/test_dsp.xe66
+bin/$(PROFILE)/test_dsp.xe66: $(OBJS) $(libs) $(CONFIG)/linker.cmd
+       @$(ECHO) "#"
+       @$(ECHO) "# Making $@ ..."
+       $(LD) $(LDFLAGS) -o $@ $^ $(LDINCDIRS) $(LDLIBS) -l"$(LOCAL_SRC_DIR_APP)/app_noip.cmd"
+    
+#
+#  ======== rules for compilations of source files ========
+#
+$(COMMON_OBJ_DIR_CMP)/%.oe66: $(COMMON_SRC_DIR_CMP)/%.c $(CONFIG)/compiler.opt | $(COMMON_OBJ_DIR_CMP)
+       @$(ECHO) "#"
+       @$(ECHO) "# Making $< $@ ..."
+       $(CC) $(CPPFLAGS) $(CFLAGS) --output_file=$@ -fc $<
+
+$(COMMON_OBJ_DIR_PFP)/%.oe66: $(COMMON_SRC_DIR_PFP)/%.c $(CONFIG)/compiler.opt | $(COMMON_OBJ_DIR_PFP)
+       @$(ECHO) "#"
+       @$(ECHO) "# Making $< $@ ..."
+       $(CC) $(CPPFLAGS) $(CFLAGS) --output_file=$@ -fc $<
+    
+$(COMMON_OBJ_DIR_COMMON)/%.oe66: $(COMMON_SRC_DIR_COMMON)/%.c $(CONFIG)/compiler.opt | $(COMMON_OBJ_DIR_COMMON)
+       @$(ECHO) "#"
+       @$(ECHO) "# Making $< $@ ..."
+       $(CC) $(CPPFLAGS) $(CFLAGS) --output_file=$@ -fc $<
+
+$(LOCAL_OBJ_DIR_SAP)/%.oe66: $(LOCAL_SRC_DIR_SAP)/%.c $(CONFIG)/compiler.opt | $(LOCAL_OBJ_DIR_SAP)
+       @$(ECHO) "#"
+       @$(ECHO) "# Making $< $@ ..."
+       $(CC) $(CPPFLAGS) $(CFLAGS) --output_file=$@ -fc $<
+
+$(LOCAL_OBJ_DIR_IO)/%.oe66: $(LOCAL_SRC_DIR_IO)/%.c $(CONFIG)/compiler.opt | $(LOCAL_OBJ_DIR_IO)
+       @$(ECHO) "#"
+       @$(ECHO) "# Making $< $@ ..."
+       $(CC) $(CPPFLAGS) $(CFLAGS) --output_file=$@ -fc $<
+
+$(LOCAL_OBJ_DIR_MIB)/%.oe66: $(LOCAL_SRC_DIR_MIB)/%.c $(CONFIG)/compiler.opt | $(LOCAL_OBJ_DIR_MIB)
+       @$(ECHO) "#"
+       @$(ECHO) "# Making $< $@ ..."
+       $(CC) $(CPPFLAGS) $(CFLAGS) --output_file=$@ -fc $<
+
+$(LOCAL_OBJ_DIR_MOB)/%.oe66: $(LOCAL_SRC_DIR_MOB)/%.c $(CONFIG)/compiler.opt | $(LOCAL_OBJ_DIR_MOB)
+       @$(ECHO) "#"
+       @$(ECHO) "# Making $< $@ ..."
+       $(CC) $(CPPFLAGS) $(CFLAGS) --output_file=$@ -fc $<
+
+$(LOCAL_OBJ_DIR_SIO)/%.oe66: $(LOCAL_SRC_DIR_SIO)/%.c $(CONFIG)/compiler.opt | $(LOCAL_OBJ_DIR_SIO)
+       @$(ECHO) "#"
+       @$(ECHO) "# Making $< $@ ..."
+       $(CC) $(CPPFLAGS) $(CFLAGS) --output_file=$@ -fc $<
+
+$(LOCAL_OBJ_DIR_SIODEV2)/%.oe66: $(LOCAL_SRC_DIR_SIODEV2)/%.c $(CONFIG)/compiler.opt | $(LOCAL_OBJ_DIR_SIODEV2)
+       @$(ECHO) "#"
+       @$(ECHO) "# Making $< $@ ..."
+       $(CC) $(CPPFLAGS) $(CFLAGS) --output_file=$@ -fc $<
+
+$(LOCAL_OBJ_DIR_FWK_ITOPO)/%.oe66: $(LOCAL_SRC_DIR_FWK_ITOPO)/%.c $(CONFIG)/compiler.opt | $(LOCAL_OBJ_DIR_FWK_ITOPO)
+       @$(ECHO) "#"
+       @$(ECHO) "# Making $< $@ ..."
+       $(CC) $(CPPFLAGS) $(CFLAGS) --output_file=$@ -fc $<
+
+$(LOCAL_OBJ_DIR_FWK)/%.oe66: $(LOCAL_SRC_DIR_FWK)/%.c $(CONFIG)/compiler.opt | $(LOCAL_OBJ_DIR_FWK)
+       @$(ECHO) "#"
+       @$(ECHO) "# Making $< $@ ..."
+       $(CC) $(CPPFLAGS) $(CFLAGS) --output_file=$@ -fc $<
+
+$(LOCAL_OBJ_DIR_APP_ITOPO_EVM)/%.oe66: $(LOCAL_SRC_DIR_APP_ITOPO_EVM)/%.c $(CONFIG)/compiler.opt | $(LOCAL_OBJ_DIR_APP_ITOPO_EVM)
+       @$(ECHO) "#"
+       @$(ECHO) "# Making $< $@ ..."
+       $(CC) $(CPPFLAGS) $(CFLAGS) --output_file=$@ -fc $<
+    
+$(LOCAL_OBJ_DIR_APP_ITOPO)/%.oe66: $(LOCAL_SRC_DIR_APP_ITOPO)/%.c $(CONFIG)/compiler.opt | $(LOCAL_OBJ_DIR_APP_ITOPO)
+       @$(ECHO) "#"
+       @$(ECHO) "# Making $< $@ ..."
+       $(CC) $(CPPFLAGS) $(CFLAGS) --output_file=$@ -fc $<
+    
+$(LOCAL_OBJ_DIR_APP)/%.oe66: $(LOCAL_SRC_DIR_APP)/%.c $(CONFIG)/compiler.opt | $(LOCAL_OBJ_DIR_APP)
+       @$(ECHO) "#"
+       @$(ECHO) "# Making $< $@ ..."
+       $(CC) $(CPPFLAGS) $(CFLAGS) --output_file=$@ -fc $<
+
+#  ======== rule for creation of output directories ========
+$(OBJ_DIRS):
+       @echo "mkdir $@"
+       $(shell $(MKDIR) -p $@)
+
+#  ======== rule for XDC tools, configuro ========
+%/compiler.opt: %/linker.cmd ;
+%/linker.cmd: application/app.cfg ../shared/config.bld
+       @$(ECHO) "#"
+       @$(ECHO) "# Making $@ ..."
+       $(XDC_INSTALL_DIR)/xs --xdcpath="$(subst +,;,$(PKGPATH))" \
+            xdc.tools.configuro -o $(CONFIG) \
+            -t ti.targets.elf.C66 \
+            -c $(ti.targets.elf.C66) \
+            -p ti.platforms.evmTCI66AK2G02:core0 \
+            -b ../shared/config.bld -r release \
+            --cfgArgs "{ \
+                profile: \"$(PROFILE)\" \
+            }" \
+            $(XDCFLAGS) \
+            application/app.cfg
+
+install:
+       @$(ECHO) "#"
+       @$(ECHO) "# Making $@ ..."
+       @$(MKDIR) $(EXEC_DIR)/debug
+       $(CP) bin/debug/test_dsp.xe66 $(EXEC_DIR)/debug
+       @$(MKDIR) $(EXEC_DIR)/release
+       $(CP) bin/release/test_dsp.xe66 $(EXEC_DIR)/release
+
+help:
+       @$(ECHO) "make                   # build executable"
+       @$(ECHO) "make clean             # clean everything"
+
+clean::
+       $(MAKE) -C $(PAF_INSTALL_DIR)/pa/build clean ARCH=c66x
+       $(RMDIR) bin
+
+    
+#  ======== install validation ========
+ifeq (install,$(MAKECMDGOALS))
+ifeq (,$(EXEC_DIR))
+$(error must specify EXEC_DIR)
+endif
+endif
+
+#  ======== misc macros ========
+XDCFLAGS = -Dxdc.platform.custom.check=false -DProjName=pa_i13_evmk2g_c66x -DHsDevBuild=0 --compileOptions "-g --optimize_with_debug"
+#XDCFLAGS = -Dxdc.platform.custom.check=false -DProjName=pa_i13_evmk2g_c66x -DHsDevBuild=0
+
+#  ======== tool chain macros ========
+CGTOOLS = $(ti.targets.elf.C66)
+
+CC = $(CGTOOLS)/bin/cl6x -c
+LD = $(CGTOOLS)/bin/cl6x -z
+
+CPPFLAGS =
+CFLAGS = -mv6600 -pdsw225 -pden -ppd=$@.dep -ppa $(CPREDEFS) $(CCPROFILE_$(PROFILE)) --mem_model:data=far_aggregates -@$(CONFIG)/compiler.opt $(CINCDIRS)
+
+CPREDEFS = -Ddsp0 -Dk2g02 -DSOC_K2G -DDEVICE_K2G -DPAF_DEVICE=0xDA000000 -DNON_CACHE_STATUS -DINCLUDE_HDMI_CONFIG -DDCS7_UART_EDMA_ENABLE -DUARTCALLBACK -DEVM_K2G
+
+CINCDIRS = -I"$(CGTOOLS)/include" \
+    -I"$(PDK_INSTALL_DIR)/packages" \
+    -I"$(PDK_INSTALL_DIR)/packages/ti/csl" \
+    -I"$(PDK_INSTALL_DIR)/packages/ti/addon/aud/include" \
+    -I"$(PDK_INSTALL_DIR)/packages/ti/board" \
+    -I"$(PDK_INSTALL_DIR)/packages/ti/drv/mcasp" \
+    -I"$(XDAIS_INSTALL_DIR)/packages" \
+    -I"$(PAF_INSTALL_DIR)/pa/dec/com" \
+    -I"$(PAF_INSTALL_DIR)/pa/dec/dwr" \
+    -I"$(PAF_INSTALL_DIR)/pa/dec/pcm1" \
+    -I"$(PAF_INSTALL_DIR)/pa/dec/pcm1/alg" \
+    -I"$(PAF_INSTALL_DIR)/pa/dec/pcm1/include" \
+    -I"$(PAF_INSTALL_DIR)/pa/dec/pcm1/alpha" \
+    -I"$(PAF_INSTALL_DIR)/pa/dec/sng1/alg" \
+    -I"$(PAF_INSTALL_DIR)/pa/asp/arc1/alpha" \
+    -I"$(PAF_INSTALL_DIR)/pa/asp/ae0" \
+    -I"$(PAF_INSTALL_DIR)/pa/asp/ae0/alpha" \
+    -I"$(PAF_INSTALL_DIR)/pa/asp/bm2" \
+    -I"$(PAF_INSTALL_DIR)/pa/asp/bm2/include" \
+    -I"$(PAF_INSTALL_DIR)/pa/asp/com" \
+    -I"$(PAF_INSTALL_DIR)/pa/asp/del" \
+    -I"$(PAF_INSTALL_DIR)/pa/asp/fil/alg" \
+    -I"$(PAF_INSTALL_DIR)/pa/asp/ml0" \
+    -I"$(PAF_INSTALL_DIR)/pa/asp/ml0/alpha" \
+    -I"$(PAF_INSTALL_DIR)/pa/asp/src4/alg" \
+    -I"$(PAF_INSTALL_DIR)/pa/asp/src4/alpha" \
+    -I"$(PAF_INSTALL_DIR)/pa/asp/std" \
+    -I"$(PAF_INSTALL_DIR)/pa/enc/pce2/alg" \
+    -I"$(PAF_INSTALL_DIR)/pa/enc/pce2/alpha" \
+    -I"$(PAF_INSTALL_DIR)/pa/sio/acp1" \
+    -I"$(PAF_INSTALL_DIR)/pa/sio/acp1/alpha" \
+    -I"$(PAF_INSTALL_DIR)/pa/sio/dcs7/include" \
+    -I"$(PAF_INSTALL_DIR)/pa/sio/dib" \
+    -I"$(PAF_INSTALL_DIR)/pa/sio/dob" \
+    -I"$(PAF_INSTALL_DIR)/pa/sio/paf" \
+    -I"$(PAF_INSTALL_DIR)/pa/f/s2" \
+    -I"$(PAF_INSTALL_DIR)/pa/f/s3" \
+    -I"$(PAF_INSTALL_DIR)/pa/f/include" \
+    -I"$(PAF_INSTALL_DIR)/pa/f/alpha" \
+    -I"$(PAF_INSTALL_DIR)/pa/util/statusop_common" \
+    -I"$(PASDK_INSTALL_DIR)/common" \
+    -I"$(PASDK_INSTALL_DIR)/test_dsp/io" \
+    -I"$(PASDK_INSTALL_DIR)/test_dsp/sap" \
+    -I"$(PASDK_INSTALL_DIR)/test_dsp/mib" \
+    -I"$(PASDK_INSTALL_DIR)/test_dsp/mob" \
+    -I"$(PASDK_INSTALL_DIR)/test_dsp/sio" \
+    -I"$(PASDK_INSTALL_DIR)/test_dsp/sio_dev2" \
+    -I"$(PASDK_INSTALL_DIR)/test_dsp/framework" \
+    -I"$(PASDK_INSTALL_DIR)/test_dsp/framework/itopo" \
+    -I"$(PASDK_INSTALL_DIR)/test_dsp/framework/alpha" \
+    -I"$(PASDK_INSTALL_DIR)/test_dsp/application/itopo/evmk2g" \
+    -I"$(PASDK_INSTALL_DIR)/test_dsp/application/itopo/evmk2g/alpha" \
+    
+CCPROFILE_debug = -g --symdebug:dwarf
+CCPROFILE_release = -O2
+
+LDFLAGS = --reread_libs --warn_sections --rom_model --map_file=$(@D)/obj/$(@F).map $(LDSYMS)
+
+LDINCDIRS = -i"$(CGTOOLS)/lib" \
+    -i"$(PDK_INSTALL_DIR)/packages/ti/addon/aud/lib/k2g/c66/release" \
+    -i"$(PDK_INSTALL_DIR)/packages/ti/board/lib/evmK2G/c66/release" \
+    -i"$(PDK_INSTALL_DIR)/packages/ti/drv/mcasp/lib/k2g/c66/release" \
+    -i"$(PAF_INSTALL_DIR)/pa/build/c66x/release" \
+    -i"$(DSPLIB_INSTALL_DIR)/packages/ti/dsplib/lib"
+
+LDLIBS = -llibc.a -lti.addon.aud.ae66 -lti.board.ae66 -lti.drv.mcasp.ae66
+
+LDSYMS = --heap_size=0x800 --stack_size=0x800
+
+#  ======== standard macros ========
+ifneq (,$(wildcard $(XDC_INSTALL_DIR)/bin/echo.exe))
+    # use these on Windows
+    CP      = $(XDC_INSTALL_DIR)/bin/cp
+    ECHO    = $(XDC_INSTALL_DIR)/bin/echo
+    MKDIR   = $(XDC_INSTALL_DIR)/bin/mkdir -p
+    RM      = $(XDC_INSTALL_DIR)/bin/rm -f
+    RMDIR   = $(XDC_INSTALL_DIR)/bin/rm -rf
+else
+    # use these on Linux
+    CP      = cp
+    ECHO    = echo
+    MKDIR   = mkdir -p
+    RM      = rm -f
+    RMDIR   = rm -rf
+endif
+    
+#  ======== debug, rule to show build variables ========      
+.show_build_vars:
+       @echo Object file base directory:
+       @echo $(OBJ_DIR_BASE)
+       @echo #
+       @echo Common, component vars
+       @echo $(COMMON_SRC_DIR_CMP)
+       @echo $(COMMON_SRCS_CMP)
+       @echo $(COMMON_OBJ_DIR_CMP)
+       @echo $(COMMON_OBJS_CMP)
+       @echo #
+       @echo Common, PFP vars
+       @echo $(COMMON_SRC_DIR_PFP)
+       @echo $(COMMON_SRCS_PFP)
+       @echo $(COMMON_OBJ_DIR_PFP)
+       @echo $(COMMON_OBJS_PFP)
+       @echo #
+       @echo Common vars
+       @echo $(COMMON_SRC_DIR_COMMON)
+       @echo $(COMMON_SRCS_COMMON)
+       @echo $(COMMON_OBJ_DIR_COMMON)
+       @echo $(COMMON_OBJS_COMMON)
+       @echo #
+       @echo SAP vars
+       @echo $(LOCAL_SRC_DIR_SAP)
+       @echo $(LOCAL_SRCS_SAP)
+       @echo $(LOCAL_OBJ_DIR_SAP)
+       @echo $(LOCAL_OBJS_SAP)
+       @echo #
+       @echo IO vars
+       @echo $(LOCAL_SRC_DIR_IO)
+       @echo $(LOCAL_SRCS_IO)
+       @echo $(LOCAL_OBJ_DIR_IO)
+       @echo $(LOCAL_OBJS_IO)
+       @echo #
+       @echo MIB vars
+       @echo $(LOCAL_SRC_DIR_MIB)
+       @echo $(LOCAL_SRCS_MIB)
+       @echo $(LOCAL_OBJ_DIR_MIB)
+       @echo $(LOCAL_OBJS_MIB)
+       @echo #
+       @echo MOB vars
+       @echo $(LOCAL_SRC_DIR_MOB)
+       @echo $(LOCAL_SRCS_MOB)
+       @echo $(LOCAL_OBJ_DIR_MOB)
+       @echo $(LOCAL_OBJS_MOB)
+       @echo #
+       @echo SIO vars
+       @echo $(LOCAL_SRC_DIR_SIO)
+       @echo $(LOCAL_SRCS_SIO)
+       @echo $(LOCAL_OBJ_DIR_SIO)
+       @echo $(LOCAL_OBJS_SIO)
+       @echo #
+       @echo SIODEV2 vars
+       @echo $(LOCAL_SRC_DIR_SIODEV2)
+       @echo $(LOCAL_SRCS_SIODEV2)
+       @echo $(LOCAL_OBJ_DIR_SIODEV2)
+       @echo $(LOCAL_OBJS_SIODEV2)
+       @echo #
+       @echo Framework, itopo vars
+       @echo $(LOCAL_SRC_DIR_FWK_ITOPO)
+       @echo $(LOCAL_SRCS_FWK_ITOPO)
+       @echo $(LOCAL_OBJ_DIR_FWK_ITOPO)
+       @echo $(LOCAL_OBJS_FWK_ITOPO)
+       @echo #
+       @echo Framework vars
+       @echo $(LOCAL_SRC_DIR_FWK)
+       @echo $(LOCAL_SRCS_FWK)
+       @echo $(LOCAL_OBJ_DIR_FWK)
+       @echo $(LOCAL_OBJS_FWK)
+       @echo #
+       @echo Applications, Itopo, EVM vars
+       @echo $(LOCAL_SRC_DIR_APP_ITOPO_EVM)
+       @echo $(LOCAL_SRCS_APP_ITOPO_EVM)
+       @echo $(LOCAL_OBJ_DIR_APP_ITOPO_EVM)
+       @echo $(LOCAL_OBJS_APP_ITOPO_EVM)
+       @echo #
+       @echo Applications, Itopo vars
+       @echo $(LOCAL_SRC_DIR_APP_ITOPO)
+       @echo $(LOCAL_SRCS_APP_ITOPO)
+       @echo $(LOCAL_OBJ_DIR_APP_ITOPO)
+       @echo $(LOCAL_OBJS_APP_ITOPO)
+       @echo #
+       @echo Applications vars
+       @echo $(LOCAL_SRC_DIR_APP)
+       @echo $(LOCAL_SRCS_APP)
+       @echo $(LOCAL_OBJ_DIR_APP)
+       @echo $(LOCAL_OBJS_APP)
+       @echo #
+       @echo Dependency vars
+       @echo $(patsubst %.oe66,%.oe66.dep,$(COMMON_OBJS_CMP))
+       @echo $(patsubst %.oe66,%.oe66.dep,$(COMMON_OBJS_PFP))
+       @echo $(patsubst %.oe66,%.oe66.dep,$(COMMON_OBJS_COMMON))
+       @echo $(patsubst %.oe66,%.oe66.dep,$(LOCAL_OBJS_IO))
+       @echo $(patsubst %.oe66,%.oe66.dep,$(LOCAL_OBJS_MIB))
+       @echo $(patsubst %.oe66,%.oe66.dep,$(LOCAL_OBJS_MOB))
+       @echo $(patsubst %.oe66,%.oe66.dep,$(LOCAL_OBJS_SIO))
+       @echo $(patsubst %.oe66,%.oe66.dep,$(LOCAL_OBJS_SIODEV2))
+       @echo $(patsubst %.oe66,%.oe66.dep,$(LOCAL_OBJS_FWK_ITOPO))
+       @echo $(patsubst %.oe66,%.oe66.dep,$(LOCAL_OBJS_FWK))
+       @echo $(patsubst %.oe66,%.oe66.dep,$(LOCAL_OBJS_APP_ITOPO_EVM))
+       @echo $(patsubst %.oe66,%.oe66.dep,$(LOCAL_OBJS_APP_ITOPO))
+       @echo $(patsubst %.oe66,%.oe66.dep,$(LOCAL_OBJS_APP))
diff --git a/products.mak b/products.mak
new file mode 100644 (file)
index 0000000..119be1b
--- /dev/null
@@ -0,0 +1,75 @@
+#
+#  Copyright (c) 2012-2015 Texas Instruments Incorporated - http://www.ti.com
+#  All rights reserved.
+#
+#  Redistribution and use in source and binary forms, with or without
+#  modification, are permitted provided that the following conditions
+#  are met:
+#
+#  *  Redistributions of source code must retain the above copyright
+#     notice, this list of conditions and the following disclaimer.
+#
+#  *  Redistributions in binary form must reproduce the above copyright
+#     notice, this list of conditions and the following disclaimer in the
+#     documentation and/or other materials provided with the distribution.
+#
+#  *  Neither the name of Texas Instruments Incorporated nor the names of
+#     its contributors may be used to endorse or promote products derived
+#     from this software without specific prior written permission.
+#
+#  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+#  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+#  THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+#  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+#  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+#  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+#  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+#  OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+#  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+#  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+#  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+#
+#  ======== products.mak ========
+#
+
+.PHONY: .show
+
+DEPOT = /home/frank/ti
+
+#### PASDK installation directories ####
+PASDK_ROOT              = $(DEPOT)/processor_sdk_audio_1_03_00_00
+PASDK_INSTALL_DIR       = $(PASDK_ROOT)/pasdk
+PAF_INSTALL_DIR         = $(PASDK_INSTALL_DIR)/paf
+
+#### Dependencies ####
+BIOS_INSTALL_DIR        = $(DEPOT)/bios_6_52_00_12
+XDC_INSTALL_DIR         = $(DEPOT)/xdctools_3_50_03_33_core
+UIA_INSTALL_DIR         = $(DEPOT)/uia_2_21_02_07
+IPC_INSTALL_DIR         = $(DEPOT)/ipc_3_47_01_00
+PDK_INSTALL_DIR         = $(DEPOT)/pdk_k2g_1_0_9
+EDMA3_INSTALL_DIR       = $(DEPOT)/edma3_lld_2_12_05_30B
+XDAIS_INSTALL_DIR       = $(DEPOT)/xdais_7_24_00_04
+DSPLIB_INSTALL_DIR      = $(DEPOT)/dsplib_c66x_3_4_0_0
+
+#### Tool chains ####
+gnu.targets.arm.A15F    = $(DEPOT)/gcc-arm-none-eabi-6-2017-q1-update
+ti.targets.elf.C66      = $(DEPOT)/ti-cgt-c6000_8.2.2
+
+# Use this goal to print your product variables.
+.show:
+       @echo "DEPOT                = $(DEPOT)"
+       @echo "PASDK_ROOT           = $(PASDK_ROOT)"
+       @echo "PASDK_INSTALL_DIR    = $(PASDK_INSTALL_DIR)"
+       @echo "PAF_INSTALL_DIR      = $(PAF_INSTALL_DIR)"
+       @echo "BIOS_INSTALL_DIR     = $(BIOS_INSTALL_DIR)"
+       @echo "XDC_INSTALL_DIR      = $(XDC_INSTALL_DIR)"
+       @echo "UIA_INSTALL_DIR      = $(UIA_INSTALL_DIR)"
+       @echo "IPC_INSTALL_DIR      = $(IPC_INSTALL_DIR)"
+       @echo "PDK_INSTALL_DIR      = $(PDK_INSTALL_DIR)"
+       @echo "EDMA3_INSTALL_DIR    = $(EDMA3_INSTALL_DIR)"
+       @echo "XDAIS_INSTALL_DIR    = $(XDAIS_INSTALL_DIR)"
+       @echo "DSPLIB_INSTALL_DIR   = $(DSPLIB_INSTALL_DIR)"
+       @echo "gnu.targets.arm.A15F = $(gnu.targets.arm.A15F)"
+       @echo "ti.targets.elf.C66   = $(ti.targets.elf.C66)"