summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: c9c862f)
raw | patch | inline | side by side (parent: c9c862f)
author | Mahesh Radhakrishnan <m-radhakrishnan2@ti.com> | |
Wed, 13 Nov 2019 19:22:39 +0000 (14:22 -0500) | ||
committer | Mahesh Radhakrishnan <a0875154@ti.com> | |
Tue, 17 Dec 2019 17:29:07 +0000 (11:29 -0600) |
17 files changed:
diff --git a/packages/makefile b/packages/makefile
--- /dev/null
+++ b/packages/makefile
@@ -0,0 +1,172 @@
+#*******************************************************************************
+#* FILE PURPOSE: Top level makefile for Creating Component Libraries and example
+#* binaries of PDK
+#*******************************************************************************
+#* FILE NAME: makefile
+#*
+#* DESCRIPTION: Builds the PDK Drivers & Examples
+#*
+#*
+#*******************************************************************************
+#*
+# (Mandatory) Specify where various tools are installed.
+.NOTPARALLEL:
+# This make file is not parallel in its highest level. This is done to serialize the multiple SOCS,BOARDS,CORES.
+# However the subsequent makefiles invoked by this makefile have parallelism supported. i.e -j option given to this
+# makefile will be passed on to the subsequent makefiles resulting in parallel builds.
+
+ifeq ($(RULES_MAKE), )
+include $(PDK_INSTALL_PATH)/ti/build/Rules.make
+else
+include $(RULES_MAKE)
+endif
+
+ifndef MAKE
+export MAKE = make
+endif
+
+ifndef ECHO
+export ECHO = echo
+endif
+
+ifndef RM
+export RM = rm -f
+endif
+
+ifndef CP
+export CP = cp
+endif
+
+ifneq ($(LIMIT_SOCS),)
+SOC_LIST = $(LIMIT_SOCS)
+else
+SOC_LIST = $(SOC)
+endif
+
+ifneq ($(LIMIT_BOARDS),)
+BOARD_LIST = $(LIMIT_BOARDS)
+else
+BOARD_LIST = $(BOARD)
+endif
+
+
+ifneq ($(LIMIT_CORES),)
+# PRU cores are not built directly
+CORE_LIST = $(filter-out $(PRUCORE_LIST),$(LIMIT_CORES))
+else
+CORE_LIST = $(CORE)
+endif
+
+.PHONY: all all_libs all_examples clean env_check help xdc_meta \
+ buildinfra_all buildinfra_clean buildinfra_pdk_examples \
+ non-buildinfra_all non-buildinfra_clean buildinfra_pdk_libs non-buildinfra_pdk_examples \
+ cplusplus_build
+
+# Default BUILD profile is release
+BUILD_PROFILE ?= release
+#The top level makefile two kinds of sub modules. Ones which are supported by the 'build infrastructure' and which are not.
+# i.e The modules which supports 'build infrastructure' are included in ti/build/component.mk and follow a standard set of conventions and targets.
+# They can be built using ti/build/makefile. Many newer targets such as AM3/4/5/6/7 have their modules in this category.
+# Those targets in this makefile has the 'buildinfra_' prefix in them.
+
+# The non-build infrastructure modules are the ones which do not adhere to the ti/build/component.mk . They have custom makefiles which are either RTSC generated or custom written makefiles with custom targets & build options.
+# Many legacy components for K1/K2 follow this methodology.
+# Those non-build infrastructure targets in this makefile has 'non-buildinfra_' prefix in them.
+
+
+### Common targets for build infra and non-build infra
+all: env_check buildinfra_all non-buildinfra_all
+all_libs: env_check buildinfra_pdk_libs non-buildinfra_pdk_libs
+all_examples: env_check buildinfra_pdk_examples non-buildinfra_pdk_examples
+clean: env_check buildinfra_clean non-buildinfra_clean
+
+### Targets which are built by build infrastructure (ti/build/makefile
+# The below builds for each SOC, its applicable BOARDS and CORES, filtered by the LIMIT_SOCS/BOARDS/CORES
+
+buildinfra_all buildinfra_pdk_libs buildinfra_pdk_examples buildinfra_clean :
+ $(foreach current_soc, $(SOC_LIST),\
+ $(foreach current_board, $(filter $(BOARD_LIST),$(BOARD_LIST_$(current_soc)) ), \
+ $(foreach current_core, $(filter $(CORE_LIST),$(CORE_LIST_$(current_soc)) ), \
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/build -f makefile $(subst buildinfra_,,$@) CORE=$(current_core) BOARD=$(current_board) SOC=$(current_soc) BUILD_PROFILE=$(BUILD_PROFILE);\
+ )))
+
+# echo "$@ called with CORE=$(current_core) BOARD=$(current_board) SOC=$(current_soc) BUILD_PROFILE=$(BUILD_PROFILE)";\
+
+### Targets which are not built by build infrastructure, (eg legacy rtsc generated makefiles,custom makefiles
+non-buildinfra_all non-buildinfra_pdk_libs non-buildinfra_pdk_examples:
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/build -f makefile_non-buildinfra $(subst non-buildinfra_,,$@) PDK_SOC=$(PDK_SOC)
+
+### Non library/example targets
+
+env_check:
+ifeq ($(PDK_SOC),)
+ $(ECHO) "Warning !! PDK_SOC is not set!!! Please run 'help' and refer to 'Optional Arguments' in the help section"
+endif
+
+help: env_check
+ $(ECHO) "------------------------------------------------------"
+ $(ECHO) "\# Top level make help"
+ $(ECHO) "------------------------------------------------------"
+ $(ECHO) "make <target> [OPTIONAL ARGUMENTS]"
+ $(ECHO) ""
+ $(ECHO) "------------------"
+ $(ECHO) "TARGETS <target>"
+ $(ECHO) "------------------"
+ $(ECHO) " all: Builds all modules (includes library & applications). Available modules are "
+ $(ECHO) " Example: \"make all \""
+ $(ECHO) ""
+ $(ECHO) " clean: Cleans libraries & applications of all modules. Available modules are "
+ $(ECHO) " Example: \"make clean \""
+ $(ECHO) ""
+ $(ECHO) " all_libs: Builds all pdk driver libraries"
+ $(ECHO) " Example: \"make all_libs \""
+ $(ECHO) ""
+ $(ECHO) " clean: Cleans libraries & applications of all modules."
+ $(ECHO) " Example: \"make clean \""
+ $(ECHO) ""
+ $(ECHO) " xdc_meta/xdc_meta: Generates xdc meta file (used if pdk is cloned from pdk.git)."
+ $(ECHO) " Example: \"make xdc_meta \""
+ $(ECHO) ""
+ $(ECHO) "------------------"
+ $(ECHO) "OPTIONAL ARGUMENTS "
+ $(ECHO) "------------------"
+ $(ECHO) "LIMIT_SOCS=<socs> This will restrict the building of libraries/apps to the particular SOC(s) specified"
+ $(ECHO) "Valid values of LIMIT_SOCS are $(LIMIT_SOCS)"
+ $(ECHO) ""
+ $(ECHO) "LIMIT_BOARDS=<boards> This will restrict the building of libraries/apps to the particular BOARD(s) specified"
+ $(ECHO) "Valid values of LIMIT_BOARDS are $(LIMIT_BOARDS)"
+ $(ECHO) ""
+ $(ECHO) "LIMIT_CORES=<cores> This will restrict the building of libraries/apps to the particular CORE(s) specified"
+ $(ECHO) "Valid values of LIMIT_CORES are $(LIMIT_CORES)"
+ $(ECHO) ""
+ $(ECHO) "PDK_SOC=<soc> This will specify the SOC version if the pdk directory does not specify it (if git clone pdk.git is used)"
+ $(ECHO) "If pdk is git cloned, PDK_SOC should be set to the <soc> where the original PDK directory from the installer was pdk_<soc>_<version>)"
+ $(ECHO) "For example if the original PDK installed directory (which got replaced by pdk.git) was <procsdk_install_dir>/pdk_am65xx_1_0_5, PDK_SOC=am65xx"
+ $(ECHO) ""
+ $(ECHO) "BUILD_PROFILE=<release/debug> This will determine the type of libraries/examples generated (release/debug friendly). Default is 'release "
+ $(ECHO) "Valid values of LIMIT_CORES are $(LIMIT_CORES)"
+ $(ECHO) ""
+ $(ECHO) "SOC=<soc> CORE=<core> BOARD=<board> This will build libraries/examples for the specified combination of <soc,core,board>"
+ $(ECHO) "Valid values of SOC/BOARD/CORE are found from LIMIT_SOC/BOARD/CORES above"
+
+
+
+
+# if PDK.git is initiated from a fresh clone, the XDC meta headers will not have been generated. (xdc meta headers are used for CCS based projects)
+# These headers are usually generated during the procsdk installer building process ('make release' from within a component's directory)
+# This xdc_meta target will help enable the user to generate the same meta files after a fresh git clone of pdk
+
+# Find all the directories with package.xdc and run xdc_meta on them to generate the rtsc meta files
+PACKAGE_XDC_LOC := $(wildcard */package.xdc)
+PACKAGE_XDC_LOC += $(wildcard */*/package.xdc)
+PACKAGE_XDC_LOC += $(wildcard */*/*/package.xdc)
+PACKAGE_XDC_LOC += $(wildcard */*/*/*/package.xdc)
+SUBDIRS = $(filter-out ./,$(dir $(PACKAGE_XDC_LOC)))
+xdc_meta:
+ $(foreach xdcdir, $(SUBDIRS),\
+ $(MAKE) -C $(xdcdir) $@; \
+ )
+
+cplusplus_build:
+ $(MAKE) all BUILD_PROFILE=debug CPLUSPLUS_BUILD=yes
+
diff --git a/packages/pdksetupenv.bat b/packages/pdksetupenv.bat
--- /dev/null
+++ b/packages/pdksetupenv.bat
@@ -0,0 +1,90 @@
+@REM ******************************************************************************\r
+@REM * FILE PURPOSE: Environment Setup for building PDK\r
+@REM ******************************************************************************\r
+@REM * FILE NAME: pdksetupenv.bat\r
+@REM *\r
+@REM * DESCRIPTION: \r
+@REM * Configures and sets up the Build Environment for PDK.\r
+@REM *\r
+@REM * The batch file expects an optional argument:PDK_INSTALL_PATH: Location\r
+@REM * of the PDK package. If the argument is not specified the batch file\r
+@REM * assumes that the PDK is installed in the same location where the batch\r
+@REM * file is located and is being executed.\r
+@REM *\r
+@REM * USAGE:\r
+@REM * pdksetupenv.bat "C:\ti\pdk_<device>_<version>\packages"\r
+@REM * --- OR ---\r
+@REM * pdksetupenv.bat\r
+@REM *\r
+@REM * Copyright (C) 2012-2019, Texas Instruments, Inc.\r
+@REM *****************************************************************************\r
+@echo off\r
+@REM *******************************************************************************\r
+@REM ********************** GET PARAMETERS PASSED THROUGH ARGUMENT ***************\r
+@REM *******************************************************************************\r
+@REM Parameter Validation: Check if the argument was passed to the batch file and\r
+@REM if so we use that else we default to the working directory where the batch \r
+@REM file was invoked from\r
+\r
+\r
+@REM Find the PDK SOC and Version from the directory name\r
+cd ..\\r
+set s=%CD:\= %\r
+for %%a in (%s%) do (\r
+ set pdkdir=%%a\r
+)\r
+\r
+for /f "tokens=1,2,3,4,5 delims=/_" %%a in ("%pdkdir%") do set pdk_soc=%%b&set v1=%%c&set v2=%%d&set v3=%%e\r
+set pdkdir_ver=%v1%_%v2%_%v3%\r
+\r
+@REM Find the SDK directory to set SDK_INSTALL_PATH if it is not already set\r
+cd ..\r
+set sdkdir=%CD%\r
+\r
+@REM return to the original directory (pdk_*/packages)\r
+cd %pdkdir%\r
+cd packages\r
+\r
+\r
+if not defined SDK_INSTALL_PATH (\r
+ set SDK_INSTALL_PATH=%sdkdir%\r
+)\r
+\r
+if not defined PDK_INSTALL_PATH (\r
+ set PDK_INSTALL_PATH=%SDK_INSTALL_PATH%/%pdkdir%/packages\r
+)\r
+@REM PDK SoC and version\r
+if not defined PDK_SOC (\r
+ set PDK_SOC=%pdk_soc%\r
+)\r
+\r
+if not defined PDK_VERSION (\r
+ set PDK_VERSION=%pdkdir_ver%\r
+)\r
+\r
+@REM Find the XDC version from pdk/packages/ti/build/pdk_tools_path.mk\r
+for /f %%i IN ('findstr "XDC_VERSION=" %PDK_INSTALL_PATH%\ti\build\pdk_tools_path.mk') do set xdcver=%%i\r
+for /f "tokens=1,2 delims=//=" %%a in ("%xdcver%") do set XDC_VERSION=%%b\r
+\r
+if not defined GMAKE_INSTALL_PATH (\r
+ set GMAKE_INSTALL_PATH=%SDK_INSTALL_PATH%/xdctools_%XDC_VERSION%\r
+)\r
+set GMAKE_INSTALL_PATH=%GMAKE_INSTALL_PATH:\=/%\r
+@REM GMAKE Tool location; Uncomment the following line to set the \r
+@REM gmake install path into env PATH variable.\r
+set PATH=%GMAKE_INSTALL_PATH:/=\%;%PATH%\r
+\r
+@REM Define Rules.make\r
+set RULES_MAKE=%PDK_INSTALL_PATH%/ti/build/Rules.make\r
+\r
+@REM Print the environmental variables\r
+@echo ***************************************************\r
+@echo Environment Configuration:\r
+@echo ***************************************************\r
+@echo SDK_INSTALL_PATH : %SDK_INSTALL_PATH%\r
+@echo PDK_INSTALL_PATH : %PDK_INSTALL_PATH%\r
+@echo GMAKE_INSTALL_PATH : %GMAKE_INSTALL_PATH%\r
+@echo PDK_SOC : %PDK_SOC%\r
+@echo PDK_VERSION : %PDK_VERSION%\r
+@echo RULES_MAKE : %RULES_MAKE%\r
+@echo ***************************************************\r
diff --git a/packages/pdksetupenv.sh b/packages/pdksetupenv.sh
--- /dev/null
+++ b/packages/pdksetupenv.sh
@@ -0,0 +1,90 @@
+#!/bin/bash
+# ******************************************************************************
+# * FILE PURPOSE: Environment Setup for building PDK
+# ******************************************************************************
+# * FILE NAME: pdksetupenv.sh
+# *
+# * DESCRIPTION:
+# * Configures and sets up the Build Environment for PDK.
+# *
+# * The batch file expects an optional argument:PDK_INSTALL_PATH: Location
+# * of the PDK package. If the argument is not specified the batch file
+# * assumes that the PDK is installed in the same location where the batch
+# * file is located and is being executed.
+# *
+# * USAGE:
+# * source ./pdksetupenv.sh ~/ti/pdk_<device>_<version>/packages
+# * --- OR ---
+# * source ./pdksetupenv.sh
+# *
+# * Copyright (C) 2012-2018, Texas Instruments, Inc.
+# *****************************************************************************
+
+# *******************************************************************************
+# ******************* CHECK IF SCRIPT WAS SOURCED OR SIMPLY RUN ***************
+# *******************************************************************************
+# pdksetupenv.sh must always be sourced. Sometimes, peole forget this and can run
+# it. We display and error and a prompt whe we detect this.
+if [[ "$(basename -- "$0")" == "pdksetupenv.sh" ]]; then
+ echo "Error!! Don't run $0, source it" >&2
+ echo "USAGE:" >&2
+ echo " source $0" >&2
+ exit 1
+fi
+
+# *******************************************************************************
+# ********************** GET PARAMETERS PASSED THROUGH ARGUMENT ***************
+# *******************************************************************************
+# Parameter Validation: Check if the argument was passed to the batch file and
+# if so we use that else we default to the working directory where the batch
+# file was invoked from
+
+tempVar=$1
+if [ ! -z $tempVar ];then
+ export PDK_INSTALL_PATH=$tempVar
+else
+ export PDK_INSTALL_PATH=${PWD}
+fi
+
+# Derive PDK_SOC and PDK_VERSION from the directory name PWD
+cd ..
+CURDIR_LAST=${PWD##*/}
+IFS='_' read -ra ADDR <<< "$CURDIR_LAST"
+
+
+if [ -z $PDK_SOC ]; then
+ export PDK_SOC=${ADDR[1]}
+fi
+
+if [ -z "${ADDR[2]}" ]; then
+ export PDK_VERSION=
+else
+ export PDK_VERSION=${ADDR[2]}_${ADDR[3]}_${ADDR[4]}
+fi
+cd -
+
+# TI SDK root directory. Derive from PDK INSTALL PATH
+if [ -z $SDK_INSTALL_PATH ]; then
+cd ../../
+export SDK_INSTALL_PATH=${PWD}
+cd -
+fi
+
+# *******************************************************************************
+# ********************** CHECK REQUIRED ENVIRONMENT DEFINES BEGIN ***************
+# *******************************************************************************
+
+
+# Rules.make location.
+export RULES_MAKE="${PDK_INSTALL_PATH}/ti/build/Rules.make"
+
+
+echo "**************************************************************************"
+echo "Environment Configuration:"
+echo "**************************************************************************"
+echo " SDK_INSTALL_PATH : $SDK_INSTALL_PATH"
+echo " PDK_INSTALL_PATH : $PDK_INSTALL_PATH"
+echo " PDK_SOC : $PDK_SOC"
+echo " PDK_VERSION : $PDK_VERSION"
+echo " RULES_MAKE : $RULES_MAKE"
+echo "**************************************************************************"
diff --git a/packages/ti/board/diag/board_diag_component.mk b/packages/ti/board/diag/board_diag_component.mk
index da730e6e8b686381c2a4a827ab52269725f8e5d4..c4b087bdcd8d5fa6d66fbdad5f7ed2ba52ed81fd 100755 (executable)
cpsw_board_diag_$(SOC)_CORELIST = mcu2_0
export cpsw_board_diag_$(SOC)_CORELIST
export cpsw_board_diag_SBL_APPIMAGEGEN = $(board_diag_APPIMAGEGEN_CTRL)
+
+# Add CPSW example only if the CPSW component path exists
+ifneq ($(wildcard $(PDK_CPSW_COMP_PATH)),)
board_diag_EXAMPLE_LIST += cpsw_board_diag
+endif
+
# CURRENT MONITOR
currentMonitor_board_diag_COMP_LIST = currentMonitor_board_diag
index b2aa4e06ec2355312018d7201957619d3a83d7db..0a7978ff9444409d0c3c091c9d11dea223c72a4c 100755 (executable)
export SPISCRIPT=./create_spi.sh
endif
-ALL_BOARDS = idkAM571x idkAM572x idkAM574x evmAM572x evmK2G iceK2G evmAM335x evmAM437x idkAM437x skAM437x bbbAM335x icev2AM335x skAM335x evmOMAPL137 iceAMIC110 am65xx_evm am65xx_idk j721e_evm
+ALL_BOARDS ?= idkAM571x idkAM572x idkAM574x evmAM572x evmK2G iceK2G evmAM335x evmAM437x idkAM437x skAM437x bbbAM335x icev2AM335x skAM335x evmOMAPL137 iceAMIC110 am65xx_evm am65xx_idk j721e_evm
+
idkAM571x_DIAG = dcan eeprom emmc framework framework_loader gmac haptics icss_emac lcd_touchscreen led led_industrial mcspi mem mmcsd pmic qspi timer uart
idkAM572x_DIAG = dcan eeprom emmc framework framework_loader gmac haptics icss_emac lcd_touchscreen led led_industrial mcspi mem mmcsd pmic qspi uart
index 55949e8ef547b4f216749455ffde8d8f1eac30f4..bdb0ee57b51828df0f2023e7186dd220998d901e 100644 (file)
endif
# PHONY Targets
-.PHONY: all clean spi_flashwriter spi_flashwriter_clean flashwriter flashwriter_clean mmcsd_flashwriter mmcsd_flashwriter_clean example example_clean tools sbl_lib sbl_lib_clean
+.PHONY: all clean spi_flashwriter spi_flashwriter_clean flashwriter flashwriter_clean mmcsd_flashwriter mmcsd_flashwriter_clean example example_clean tools sbl_lib sbl_lib_clean all_sbl_images all_sbl_images_clean
# all rule
all:
@$(MAKE) -f ./board/$(BOARD)/build/makefile all
+# This target is used to build all configurations for a particular SBL_PLATFORM
+all_sbl_images:
+ifeq ($(SBL_PLATFORM),$(filter $(SBL_PLATFORM), am65xx j721e))
+ # All keystone 3
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/boot/sbl/build all
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/boot/sbl/build all
+else
+ifeq ($(SBL_PLATFORM), am57xx)
+ # am57xx
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/boot/sbl all BOARD=idkAM572x SOC=AM572x BOOTMODE=mmcsd
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/boot/sbl all BOARD=idkAM572x SOC=AM572x BOOTMODE=qspi
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/boot/sbl all BOARD=idkAM574x SOC=AM574x BOOTMODE=mmcsd
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/boot/sbl all BOARD=idkAM574x SOC=AM574x BOOTMODE=qspi
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/boot/sbl all BOARD=idkAM571x SOC=AM571x BOOTMODE=mmcsd
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/boot/sbl all BOARD=idkAM571x SOC=AM571x BOOTMODE=qspi
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/boot/sbl all BOARD=evmAM572x SOC=AM572x BOOTMODE=mmcsd
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/boot/sbl all BOARD=evmAM572x SOC=AM572x BOOTMODE=emmc
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/boot/sbl flashwriter BOARD=idkAM572x SOC=AM572x
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/boot/sbl flashwriter BOARD=idkAM574x SOC=AM574x
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/boot/sbl flashwriter BOARD=idkAM571x SOC=AM571x
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/boot/sbl sbl_lib BOARD=idkAM572x SOC=AM572x
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/boot/sbl sbl_lib BOARD=idkAM574x SOC=AM574x
+else ifeq ($(SBL_PLATFORM), k2g)
+ # k2g
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/boot/sbl all BOARD=evmK2G SOC=K2G BOOTMODE=mmcsd
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/boot/sbl all BOARD=evmK2G SOC=K2G BOOTMODE=qspi
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/boot/sbl flashwriter BOARD=evmK2G SOC=K2G
+else ifeq ($(SBL_PLATFORM), omapl137)
+ # omapl137
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/boot/sbl all BOARD=evmOMAPL137 SOC=OMAPL137 BOOTMODE=spi
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/boot/sbl spi_flashwriter BOARD=evmOMAPL137 SOC=OMAPL137
+else ifeq ($(SBL_PLATFORM), omapl138)
+ # omapl138
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/boot/sbl all BOARD=lcdkOMAPL138 SOC=OMAPL138 BOOTMODE=mmcsd
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/boot/sbl all BOARD=lcdkC6748 SOC=C6748 BOOTMODE=mmcsd
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/boot/sbl mmcsd_flashwriter BOARD=lcdkOMAPL138 SOC=OMAPL138
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/boot/sbl mmcsd_flashwriter BOARD=lcdkC6748 SOC=C6748
+endif
+endif
+
+
spi_flashwriter:
@$(MAKE) -f ./tools/flashWriter/spi/src/makefile $@
eveLoader_clean:
ifeq ($(SOC),$(filter $(SOC), AM572x AM574x))
@$(MAKE) -C ./example/mpuM4EveLoaderApp $@
-endif
\ No newline at end of file
+endif
+
+# This target is used to clean all images for a particular SBL_PLATFORM
+all_sbl_images_clean:
+ifeq ($(SBL_PLATFORM), am57xx)
+ # am57xx
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/boot/sbl clean BOARD=idkAM572x
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/boot/sbl clean BOARD=idkAM574x
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/boot/sbl clean BOARD=idkAM571x
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/boot/sbl clean BOARD=evmAM572x
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/boot/sbl flashwriter_clean BOARD=idkAM572x
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/boot/sbl flashwriter_clean BOARD=idkAM574x
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/boot/sbl flashwriter_clean BOARD=idkAM571x
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/boot/sbl sbl_lib_clean BOARD=idkAM572x
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/boot/sbl sbl_lib_clean BOARD=idkAM574x
+else ifeq ($(SBL_PLATFORM), k2g)
+ # k2g
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/boot/sbl clean BOARD=evmK2G
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/boot/sbl flashwriter_clean BOARD=evmK2G
+else ifeq ($(SBL_PLATFORM), omapl137)
+ # omapl137
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/boot/sbl clean BOARD=evmOMAPL137
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/boot/sbl spi_flashwriter_clean BOARD=evmOMAPL137
+else ifeq ($(SBL_PLATFORM), omapl138)
+ # omapl138
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/boot/sbl clean BOARD=lcdkOMAPL138
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/boot/sbl clean BOARD=lcdkC6748
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/boot/sbl mmcsd_flashwriter_clean BOARD=lcdkOMAPL138
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/boot/sbl mmcsd_flashwriter_clean BOARD=lcdkC6748
+else ifeq ($(SBL_PLATFORM),$(filter $(SBL_PLATFORM), am65xx j721e))
+ # All keystone3
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/boot/sbl/build clean
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/boot/sbl/build clean
+endif
index 7678444caa89bbc0efc3fb9856b2284506f604f1..332e87c765fca32cb5fd1917fe4dedf3268ca168 100755 (executable)
sbl_multicore_amp_PATH = $(PDK_SBL_COMP_PATH)/example/k3MulticoreApp
sbl_multicore_amp_MAKEFILE = -f$(PDK_SBL_COMP_PATH)/build/sbl_multicore_amp.mk
export sbl_multicore_amp_MAKEFILE
+# SBL multicore amp depends on sbl_boot_test for all the cores
+sbl_multicore_amp_DEPENDS_ON=sbl_boot_test
+export sbl_multicore_amp_DEPENDS_ON
sbl_multicore_amp_BOARD_DEPENDENCY = no
sbl_multicore_amp_SOC_DEPENDENCY = no
sbl_multicore_amp_CORE_DEPENDENCY = no
sbl_multicore_smp_PATH = $(PDK_SBL_COMP_PATH)/example/k3MulticoreApp
sbl_multicore_smp_MAKEFILE = -f$(PDK_SBL_COMP_PATH)/build/sbl_multicore_smp.mk
export sbl_multicore_smp_MAKEFILE
+# SBL multicore smp depends on sbl_smp_test for all the cores
+sbl_multicore_smp_DEPENDS_ON=sbl_smp_test
+export sbl_multicore_smp_DEPENDS_ON
sbl_multicore_smp_BOARD_DEPENDENCY = no
sbl_multicore_smp_SOC_DEPENDENCY = no
sbl_multicore_smp_CORE_DEPENDENCY = no
index a5fa041f8131649f83efa13863e1a3017389c59d..355dbf057952f4979b5381670d53eeec5e44b750 100755 (executable)
#Default BUILD_OS_TYPE (tirtos/baremetal/qnx)
export BUILD_OS_TYPE ?= tirtos
+#if PDK_SOC is specified , derive LIMIT_SOCS from there (if LIMIT_SOCS not defined)
+ifneq ($(PDK_SOC),)
+
+LIMIT_CORES_am335x = $(CORE_LIST_am335x)
+LIMIT_CORES_am437x = $(CORE_LIST_am437x)
+LIMIT_CORES_am57xx = $(sort $(CORE_LIST_am571x) $(CORE_LIST_am572x) $(CORE_LIST_am574x))
+LIMIT_CORES_omapl137 = $(CORE_LIST_omapl137)
+LIMIT_CORES_omapl138 = $(CORE_LIST_omapl138)
+LIMIT_CORES_k2hk = $(sort $(CORE_LIST_k2h) $(CORE_LIST_k2k))
+LIMIT_CORES_k2e = $(CORE_LIST_k2e)
+LIMIT_CORES_k2l = $(CORE_LIST_k2l)
+LIMIT_CORES_k2g = $(CORE_LIST_k2g)
+LIMIT_CORES_k2g-hs = $(CORE_LIST_k2g)
+LIMIT_CORES_c665x = $(CORE_LIST_c6657)
+LIMIT_CORES_c667x = $(CORE_LIST_c6678)
+LIMIT_CORES_am65xx = $(CORE_LIST_am65xx)
+LIMIT_CORES_am65xx-hs = $(CORE_LIST_am65xx)
+# Filter out c7x-hostemu as Processor SDK does not build use it
+LIMIT_CORES_j7 = $(filter-out c7x-hostemu,$(sort $(CORE_LIST_j721e) $(CORE_LIST_j7200)))
+
+export LIMIT_CORES ?= $(LIMIT_CORES_$(PDK_SOC))
+
+LIMIT_SOCS_k2g = k2g
+LIMIT_SOCS_k2g-hs = k2g
+LIMIT_SOCS_k2hk = k2hk
+LIMIT_SOCS_k2e = k2e
+LIMIT_SOCS_k2l = k2l
+LIMIT_SOCS_am57xx = am571x am572x am574x
+LIMIT_SOCS_am437x = am437x
+LIMIT_SOCS_am335x = am335x
+LIMIT_SOCS_am65xx = am65xx
+LIMIT_SOCS_am65xx-hs = am65xx
+LIMIT_SOCS_j7 = j721e j7200
+
+export LIMIT_SOCS ?= $(LIMIT_SOCS_$(PDK_SOC))
+
+LIMIT_BOARDS_j7 = $(BOARD_LIST_j721e) $(BOARD_LIST_j7200)
+LIMIT_BOARDS_am335x = $(BOARD_LIST_am335x)
+LIMIT_BOARDS_omapl137 = $(BOARD_LIST_omapl137)
+LIMIT_BOARDS_k2l = $(BOARD_LIST_k2l)
+LIMIT_BOARDS_am437x = $(BOARD_LIST_am437x)
+LIMIT_BOARDS_am437x-hs = $(BOARD_LIST_am437x)
+LIMIT_BOARDS_k2hk = $(BOARD_LIST_k2h) $(BOARD_LIST_k2k)
+LIMIT_BOARDS_k2g = $(BOARD_LIST_k2g)
+LIMIT_BOARDS_k2g-hs = $(BOARD_LIST_k2g)
+LIMIT_BOARDS_k2e = $(BOARD_LIST_k2e)
+LIMIT_BOARDS_am65xx = $(BOARD_LIST_am65xx)
+LIMIT_BOARDS_am65xx-hs = $(BOARD_LIST_am65xx)
+LIMIT_BOARDS_c665x = $(BOARD_LIST_c6657)
+LIMIT_BOARDS_c667x = $(BOARD_LIST_c6678)
+LIMIT_BOARDS_omapl138 = $(BOARD_LIST_omapl138)
+LIMIT_BOARDS_am57xx = $(BOARD_LIST_am571x) $(BOARD_LIST_am572x) $(BOARD_LIST_am574x)
+
+export LIMIT_BOARDS ?= $(LIMIT_BOARDS_$(PDK_SOC))
+
+endif
# Default board
# Supported values are printed in "make -s help" option. Below are the list for reference.
# evmDRA72x, evmDRA75x, evmDRA78x,
# evmK2H, evmK2K, evmK2E, evmK2L, evmK2G, evmC6678, evmC6657,
# evmAM335x, icev2AM335x, iceAMIC110, skAM335x, bbbAM335x,
# evmAM437x idkAM437x skAM437x evmOMAPL137 lcdkOMAPL138
-# And also refer $(BOARD_LIST_J6_TDA) below
-#
-ifeq ($(LIMIT_BOARDS),)
- # TDA parts do not define this environment variable, default board and soc for TDA parts
- export BOARD ?= j721e_evm
- export SOC ?= j721e
-else
-ifeq ($(LIMIT_BOARDS), j721e_evm)
- export BOARD = j721e_evm
- export SOC = j721e
-else
-ifeq ($(LIMIT_BOARDS), j721e_sim)
- export BOARD = j721e_sim
- export SOC = j721e
-else
- # default board and soc for Catalog parts
- export BOARD ?= idkAM572x
- export SOC ?= am572x
-endif
-endif
-endif
+
################################################################################
# Other user configurable variables
################################################################################
+#if LIMIT_BOARDS if it is defined
+ifneq ($(LIMIT_BOARDS),)
+BOARD ?= $(firstword $(LIMIT_BOARDS))
+else
+#if LIMIT_BOARDS is not defined, default BOARD and SOC to the below
+export BOARD ?= j721e_evm
+export SOC ?= j721e
+endif
# Default to m4 build depending on BOARD selected!!
ifeq ($(BOARD),$(filter $(BOARD), evmAM572x idkAM572x idkAM571x idkAM574x))
CORE ?= a15_0
# Supported Values: yes | no
export TREAT_WARNINGS_AS_ERROR ?= yes
-#Various boards support for J6 TDA family of devices
-BOARD_LIST_J6_TDA = tda2xx-evm tda2ex-evm tda3xx-evm tda2px-evm
-BOARD_LIST_J6_TDA += tda2xx-evm-radar tda2px-evm-radar tda3xx-evm-radar
-BOARD_LIST_J6_TDA += tda3xx-ar12-booster tda3xx-ar12-alps tda3xx-ar12-rvp
-BOARD_LIST_J6_TDA += tda2ex-eth-srv tda2xx-rvp tda3xx-rvp
-BOARD_LIST_J6_TDA += tda2xx-cascade-radar
-export BOARD_LIST_J6_TDA
-
#Various boards support for J7 TDA family of devices
BOARD_LIST_J7_TDA = j721e_sim j721e_hostemu j721e_ccqt j721e_loki j721e_qt j721e_vhwazebu j721e_evm
BOARD_LIST_J7_TDA += j7200_sim j7200_hostemu j7200_evm am64x_evm
export BOARD_LIST_J7_TDA
-################################################################################
-# Configure toolchain paths
-################################################################################
-ifeq ($(BOARD),$(filter $(BOARD), $(BOARD_LIST_J6_TDA)))
- # This section applies to J6 TDA SOCs in Processor SDK VISION release.
- # For remaining SOC/BOARDS skip to the else part.
- # SoC & Version of PDK for TDA builds
- PDK_SOC=
- PDK_VERSION=01_09_00_00
-
- #Tool versions for TDA builds
- GCC_CROSS_TOOL_PREFIX=arm-none-eabi-
- GCC_CROSS_TOOL_TAG=4_9-2015q3
- CGT_VERSION=7.4.2
- GCC_VERSION_FPULIB=4.9.3
- CGT_ARM_VERSION=16.9.2.LTS
- CGT_ARP32_VERSION=1.0.7
-
- #Component versions for TDA builds
- BIOS_VERSION=6_46_04_53
- EDMA_VERSION=02_12_00_20
- XDC_VERSION=3_32_01_22_core
- MSHIELD_VERSION=4_5_3
- export mmwavelink_version=mmwave_dfp_01_01_00_00
-
- export GCC_FLOAT_PATH ?= FPU
-else
- # This section applies to all broader set of boards with SOCs beyond TDA class
- # in Processor SDK RTOS release
- PDK_VERSION_STR=_$(PDK_SOC)_$(PDK_VERSION)
-ifeq ($(PDK_VERSION),)
- PDK_VERSION_STR=
-endif
-
- #Tool versions for non-TDA builds
- GCC_CROSS_TOOL_PREFIX=arm-none-eabi-
- GCC_CROSS_TOOL_TAG=7-2018-q2-update
- GCC_ARCH64_VERSION=7.2.1-2017.11
- CGT_VERSION=8.3.2
-
- CGT_C7X_VERSION=1.2.0.STS
- CGT_ARM_VERSION=18.12.1.LTS
- GCC_VERSION_HARDLIB=7.3.1
-
- CGT_ARP32_VERSION=1.0.8
- CG_XML_VERSION=2.61.00
-
- #Component versions for non-TDA builds
- BIOS_VERSION=6_76_03_01
- XDC_VERSION=3_55_02_22_core
-
- EDMA_VERSION=2_12_05_30E
- SECDEV_VERSION=01_06_00_05
- CGT_PRU_VERSION=2.3.2
-
- #Hardcode IPC version if it is not set already
- IPC_VERSION ?= 3_47_01_00
- NDK_VERSION=3_61_01_01
- NS_VERSION=2_60_01_06
-
- UIA_VERSION=2_30_01_02
- XDAIS_VERSION=7_24_00_04
- AER_VERSION=17_0_0_0
-
- # C674x DSP libraries sould be used for OMAPL13x platform
-ifeq ($(SOC),$(filter $(SOC), omapl137 omapl138))
- DSPLIB_VERSION ?= c674x_3_4_0_3
- IMGLIB_VERSION ?= c674x_3_1_1_0
- MATHLIB_VERSION ?= c674x_3_1_2_3
-else
- DSPLIB_VERSION ?= c66x_3_4_0_3
- IMGLIB_VERSION ?= c66x_3_1_1_0
- MATHLIB_VERSION ?= c66x_3_1_2_3
-endif
-
- export GCC_FLOAT_PATH ?= HARD
-endif
-
-################################################################################
-# Dependent toolchain paths variables
-################################################################################
-# Version of GCC
-GCC_VERSION=$(GCC_CROSS_TOOL_PREFIX)$(GCC_CROSS_TOOL_TAG)
-GCC_VERSION_ARM_A15=$(GCC_CROSS_TOOL_PREFIX)$(GCC_CROSS_TOOL_TAG)
-ifeq ($(BOARD),$(filter $(BOARD), $(BOARD_LIST_J6_TDA)))
- # This section applies to J6 TDA SOCs in Processor SDK VISION release.
- # For remaining SOC/BOARDS skip to the else part.
- ifeq ($(OS),Windows_NT)
- OS_FOLDER=windows
- else
- OS_FOLDER=linux
- endif
- export TOOLCHAIN_PATH_GCC ?= $(SDK_INSTALL_PATH)/ti_components/cg_tools/$(OS_FOLDER)/gcc-$(GCC_VERSION)
- export TOOLCHAIN_PATH_A15 ?= $(SDK_INSTALL_PATH)/ti_components/cg_tools/$(OS_FOLDER)/gcc-$(GCC_VERSION_ARM_A15)
- export TOOLCHAIN_PATH_M4 ?= $(SDK_INSTALL_PATH)/ti_components/cg_tools/$(OS_FOLDER)/ti-cgt-arm_$(CGT_ARM_VERSION)
- export C6X_GEN_INSTALL_PATH ?= $(SDK_INSTALL_PATH)/ti_components/cg_tools/$(OS_FOLDER)/C6000_$(CGT_VERSION)
- export TOOLCHAIN_PATH_EVE ?= $(SDK_INSTALL_PATH)/ti_components/cg_tools/$(OS_FOLDER)/arp32_$(CGT_ARP32_VERSION)
- export PDK_INSTALL_PATH ?= $(SDK_INSTALL_PATH)/ti_components/drivers/pdk_$(PDK_VERSION)/packages
- export EDMA3LLD_BIOS6_INSTALLDIR ?= $(SDK_INSTALL_PATH)/ti_components/drivers/edma3_lld_$(EDMA_VERSION)
- export BIOS_INSTALL_PATH ?= $(SDK_INSTALL_PATH)/ti_components/os_tools/bios_$(BIOS_VERSION)
- export XDC_INSTALL_PATH ?= $(SDK_INSTALL_PATH)/ti_components/os_tools/$(OS_FOLDER)/xdctools_$(XDC_VERSION)
- export RADARLINK_INSTALL_PATH ?= $(SDK_INSTALL_PATH)/ti_components/radar/$(mmwavelink_version)
- export MSHIELD_DK_DIR ?= $(SDK_INSTALL_PATH)/ti_components/mshield-dk_std_$(MSHIELD_VERSION)
- export TI_SECURE_DEV_PKG := $(MSHIELD_DK_DIR)
-else
- export GCC_VERSION_ARM_A8=$(GCC_CROSS_TOOL_PREFIX)$(GCC_CROSS_TOOL_TAG)
- export GCC_VERSION_ARM_A9=$(GCC_CROSS_TOOL_PREFIX)$(GCC_CROSS_TOOL_TAG)
- export CROSS_TOOL_PRFX ?= $(GCC_CROSS_TOOL_PREFIX)
- export C6X_GEN_INSTALL_PATH ?= $(TOOLS_INSTALL_PATH)/ti-cgt-c6000_$(CGT_VERSION)
- export C7X_GEN_INSTALL_PATH ?= $(TOOLS_INSTALL_PATH)/ti-cgt-c7000_$(CGT_C7X_VERSION)
- export CL_PRU_INSTALL_PATH ?= $(TOOLS_INSTALL_PATH)/ti-cgt-pru_$(CGT_PRU_VERSION)
- export TOOLCHAIN_PATH_A8 ?= $(TOOLS_INSTALL_PATH)/gcc-$(GCC_VERSION_ARM_A8)
- export TOOLCHAIN_PATH_A9 ?= $(TOOLS_INSTALL_PATH)/gcc-$(GCC_VERSION_ARM_A9)
- export TOOLCHAIN_PATH_Arm9 ?= $(TOOLS_INSTALL_PATH)/ti-cgt-arm_$(CGT_ARM_VERSION)
- export TOOLCHAIN_PATH_A15 ?= $(TOOLS_INSTALL_PATH)/gcc-$(GCC_VERSION_ARM_A15)
-ifeq ($(OS),Windows_NT)
- #Paths for windows machine
- export TOOLCHAIN_PATH_GCC_ARCH64 ?= $(TOOLS_INSTALL_PATH)/gcc-linaro-$(GCC_ARCH64_VERSION)-i686-mingw32_aarch64-elf
-else
- #Paths for linux machine
- export TOOLCHAIN_PATH_GCC_ARCH64 ?= $(TOOLS_INSTALL_PATH)/gcc-linaro-$(GCC_ARCH64_VERSION)-x86_64_aarch64-elf
-endif
-
- export TOOLCHAIN_PATH_QNX_A72 ?= $(QNX_HOST)/usr/bin
- export TOOLCHAIN_PATH_A53 ?= $(TOOLCHAIN_PATH_GCC_ARCH64)
- export TOOLCHAIN_PATH_A72 ?= $(TOOLCHAIN_PATH_GCC_ARCH64)
- export TOOLCHAIN_PATH_EVE ?= $(TOOLS_INSTALL_PATH)/arp32_$(CGT_ARP32_VERSION)
- export TOOLCHAIN_PATH_M4 ?= $(TOOLS_INSTALL_PATH)/ti-cgt-arm_$(CGT_ARM_VERSION)
- export TOOLCHAIN_PATH_R5 ?= $(TOOLS_INSTALL_PATH)/ti-cgt-arm_$(CGT_ARM_VERSION)
- export BIOS_INSTALL_PATH ?= $(SDK_INSTALL_PATH)/bios_$(BIOS_VERSION)
- export DSPLIB_INSTALL_PATH ?= $(SDK_INSTALL_PATH)/dsplib_$(DSPLIB_VERSION)
- export EDMA3LLD_BIOS6_INSTALLDIR ?= $(SDK_INSTALL_PATH)/edma3_lld_$(EDMA_VERSION)
- export IMGLIB_INSTALL_PATH ?= $(SDK_INSTALL_PATH)/imglib_$(IMGLIB_VERSION)
- export IPC_INSTALL_PATH ?= $(SDK_INSTALL_PATH)/ipc_$(IPC_VERSION)
- export MATHLIB_INSTALL_PATH ?= $(SDK_INSTALL_PATH)/mathlib_$(MATHLIB_VERSION)
- export NDK_INSTALL_PATH ?= $(SDK_INSTALL_PATH)/ndk_$(NDK_VERSION)
- export NS_INSTALL_PATH ?= $(SDK_INSTALL_PATH)/ns_$(NS_VERSION)
- export PDK_INSTALL_PATH ?= $(SDK_INSTALL_PATH)/pdk$(PDK_VERSION_STR)/packages
- export UIA_INSTALL_PATH ?= $(SDK_INSTALL_PATH)/uia_$(UIA_VERSION)
- export XDC_INSTALL_PATH ?= $(SDK_INSTALL_PATH)/xdctools_$(XDC_VERSION)
- export UTILS_INSTALL_DIR ?= $(XDC_INSTALL_PATH)/bin
- export RADARLINK_INSTALL_PATH ?= $(SDK_INSTALL_PATH)/$(mmwavelink_version)
- export CG_XML_BIN_INSTALL_PATH ?= $(SDK_INSTALL_PATH)/cg_xml_$(CG_XML_VERSION)/bin
- export TI_SECURE_DEV_PKG ?= $(SDK_INSTALL_PATH)/proc-sdk-secdev_$(SECDEV_VERSION)
- export XDAIS_INSTALL_PATH ?= $(SDK_INSTALL_PATH)/xdais_$(XDAIS_VERSION)
- export AER_INSTALL_PATH ?= $(SDK_INSTALL_PATH)/aer_c64Px_obj_$(AER_VERSION)
- export GCC_ARM_NONE_TOOLCHAIN ?= $(SDK_INSTALL_PATH)/gcc-$(GCC_CROSS_TOOL_PREFIX)$(GCC_CROSS_TOOL_TAG)
- export TI_CGT6x_INSTALL_DIR ?= $(SDK_INSTALL_PATH)/c6000_7.4.16
- export M4_TOOLCHAIN_INSTALL_DIR ?= $(TOOLCHAIN_PATH_M4)
-endif
-
-ifeq ($(SOC),$(filter $(SOC), am335x))
- export HARDLIB_PATH ?= $(TOOLCHAIN_PATH_A8)/lib/gcc/arm-none-eabi/$(GCC_VERSION_HARDLIB)/hard
- export FPULIB_PATH ?= $(TOOLCHAIN_PATH_A8)/lib/gcc/arm-none-eabi/$(GCC_VERSION_FPULIB)/fpu
-else ifeq ($(SOC),$(filter $(SOC), am437x))
- export HARDLIB_PATH ?= $(TOOLCHAIN_PATH_A9)/lib/gcc/arm-none-eabi/$(GCC_VERSION_HARDLIB)/hard
- export FPULIB_PATH ?= $(TOOLCHAIN_PATH_A9)/lib/gcc/arm-none-eabi/$(GCC_VERSION_FPULIB)/fpu
-else
- export HARDLIB_PATH ?= $(TOOLCHAIN_PATH_A15)/lib/gcc/arm-none-eabi/$(GCC_VERSION_HARDLIB)/hard
- export FPULIB_PATH ?= $(TOOLCHAIN_PATH_A15)/lib/gcc/arm-none-eabi/$(GCC_VERSION_FPULIB)/fpu
-endif
-
-export CGTOOLS=$(C6X_GEN_INSTALL_PATH)
-export XDCCGROOT=$(C6X_GEN_INSTALL_PATH)
-
-# Utilities directory. This is required only if the build machine is Windows.
-# - specify the installation directory of utility which supports POSIX commands
-# (eg: Cygwin installation or MSYS installation).
-# This could be in CCS install directory as in c:/ti/ccsv<ver>/utils/cygwin or
-# the XDC install bin folder represented by $(UTILS_INSTALL_DIR)
-ifeq ($(OS),Windows_NT)
- export utils_PATH ?= $(UTILS_INSTALL_DIR)
-endif
################################################################################
# Other advanced configurable variables
export edma3_lld_PATH := $(EDMA3LLD_BIOS6_INSTALLDIR)
export ndk_PATH := $(NDK_INSTALL_PATH)
export radarLink_PATH := $(RADARLINK_INSTALL_PATH)
+export ipc_PATH := $(IPC_INSTALL_PATH)
+export uia_PATH := $(UIA_INSTALL_PATH)
export ROOTDIR := $(pdk_PATH)
-XDCPATH =
+XDCPATH =
ifeq ($(BUILD_OS_TYPE),tirtos)
- XDCPATH = $(bios_PATH)/packages;$(xdc_PATH)/packages;$(edma3_lld_PATH)/packages;$(ndk_PATH)/packages;$(pdk_PATH);
+ XDCPATH = $(bios_PATH)/packages;$(xdc_PATH)/packages;$(edma3_lld_PATH)/packages;$(ndk_PATH)/packages;$(pdk_PATH);$(ipc_PATH)/packages;$(uia_PATH)/packages;
endif
export XDCPATH
endif
include $(MAKERULEDIR)/build_config.mk
include $(MAKERULEDIR)/platform.mk
+include $(PDK_INSTALL_PATH)/ti/build/pdk_tools_path.mk
include $(MAKERULEDIR)/env.mk
+
+export PRUCORE_LIST = $(CORE_LIST_PRU)
+
+################################################################################
+# Build Tools Configuration
+################################################################################
+
+ifeq ($(OS),Windows_NT)
+ PATH := $(PATH)
+endif
+
+# Compiler Tools:
+# PATH := $(C6X_GEN_INSTALL_PATH)/bin;$(PATH)
+
+# XDC Tools location:
+PATH := $(XDC_INSTALL_PATH);$(XDC_INSTALL_PATH)/bin;$(XDC_INSTALL_PATH)/packages/xdc/services/io/release;$(PATH)
+
+ifeq ($(OS),Windows_NT)
+ PATH := $(subst /,\,$(PATH))
+else
+ PATH := $(subst ;,:,$(PATH))
+endif
+
+export PATH
+
+LIBDIR ?= ./lib
+export LIBDIR
index f350324b1af77ed5537e66eef0455766995a6382..852e35de273a6ff8a6ed1ed263a4059b96bdc4a0 100755 (executable)
# ============================================================================
-# (C) Copyright 2016-2018 Texas Instruments, Inc.
+# (C) Copyright 2016-2019 Texas Instruments, Inc.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
#
# ============================================================================
-XDC = $(XDC_INSTALL_PATH)/xdc
+# This file is included by components to build libraries/examples from within a component
+# This file eventually invokes ti/build/makefile with the correct SOC,CORE,BOARD combination
-#options for sphinx documentation
-SPHINXBUILD = sphinx-build
-DESIGNDOC_ROOT = docs/design
-ALLSPHINXOPTS = -d $(DESIGNDOC_ROOT)/build/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) $(DESIGNDOC_ROOT)
-# check if we need to limit the Build to limitted SOCS
-ifdef LIMIT_BOARDS
- BOARD_LIST_ALL = $(filter $(LIMIT_BOARDS), $($(COMP)_BOARDLIST))
-else
- BOARD_LIST_ALL = $($(COMP)_BOARDLIST)
-endif
+# This is to serialize the targets per every element in LIMIT_SOCS,LIMIT_BOARDS,LIMIT_CORES combination
+# However, the parallelism (-j) is supported as it is passed on to ti/build/makefile with a SOC,CORE,BOARD combination
+.NOT_PARALLEL:
-# check if we need to limit the Build to limitted SOCS
-ifdef LIMIT_SOCS
- SOC_LIST_ALL = $(filter $(LIMIT_SOCS), $($(COMP)_SOCLIST))
-else
- SOC_LIST_ALL = $($(COMP)_SOCLIST)
-endif
-# check if we need to limit the build to limitted cores
-ifdef LIMIT_CORES
- CORE_LIST_ALL = $(filter $(LIMIT_CORES), $($(COMP)_$(SOC)_CORELIST))
-else
- CORE_LIST_ALL = $($(COMP)_$(SOC)_CORELIST)
-endif
+include $(PDK_INSTALL_PATH)/ti/build/Rules.make
-# For core indpendent libraries, chose the 'base' core the other cores' target can depend on
-LIM_CORE_BASE_LIST := $(foreach core_type,$(DEFAULT_CORE_TYPES),$(firstword $(filter $(core_type)%,$(CORE_LIST_ALL))))
-# The rest of the cores, i.e (CORE_LIST_ALL - LIM_CORE_BASE_LIST). These will depend on the LIM_CORE_BASE_LIST
-LIM_CORE_REST_LIST := $(filter-out $(LIM_CORE_BASE_LIST),$(CORE_LIST_ALL))
+# Targets which are BOARD,CORE,SOC specific
+# NOTE: Do not change the order as 'all' needs to be run first if target is unspecified
-PRUCORE_LIST = pru_0 pru_1
+TARGETS_FOR_MULT_SOC_BOARDS = all
+TARGETS_FOR_MULT_SOC_BOARDS += apps clean lib app_libs firm
-# If the component enables this, parallel builds are disabled for this component
-ifeq ($($(COMP)_DISABLE_PARALLEL_MAKE),yes)
-.NOTPARALLEL:
-endif
+# BOARD,CORE,SOC independent targets
+TARGETS_SOC_BOARD_INDP = tar help doxygen xdc_meta
-ifeq ($(lib_$(COMP)_BUILD_DEPENDENCY),soc)
- lib_BOARD_SOC_LIST_ALL = $(addsuffix _lib, $(SOC_LIST_ALL))
-endif
-ifeq ($(lib_$(COMP)_BUILD_DEPENDENCY),board)
- lib_BOARD_SOC_LIST_ALL = $(addsuffix _lib, $(BOARD_LIST_ALL))
-endif
-lib_CORE_LIST_ALL = $(addsuffix _lib, $(filter-out $(PRUCORE_LIST),$(CORE_LIST_ALL)))
-lib_CORE_LIST_BASE = $(addsuffix _lib, $(filter-out $(PRUCORE_LIST),$(LIM_CORE_BASE_LIST)))
-lib_CORE_LIST_REST = $(addsuffix _lib, $(filter-out $(PRUCORE_LIST),$(LIM_CORE_REST_LIST)))
+.PHONY : $(TARGETS_FOR_MULT_SOC_BOARDS) $(TARGETS_SOC_BOARD_INDP) release package
-lib_LIB_ENDIAN_LIST = $(addsuffix _lib, $(LIB_ENDIAN_LIST))
-ifeq ($(lib_$(COMP)_BUILD_DEPENDENCY),soc)
- lib_BOARD_SOC_LIST_ALL_CLEAN = $(addsuffix _lclean, $(SOC_LIST_ALL))
-endif
-ifeq ($(lib_$(COMP)_BUILD_DEPENDENCY),board)
- lib_BOARD_SOC_LIST_ALL_CLEAN = $(addsuffix _lclean, $(BOARD_LIST_ALL))
-endif
-lib_CORE_LIST_ALL_CLEAN = $(addsuffix _lclean, $(filter-out $(PRUCORE_LIST),$(CORE_LIST_ALL)))
-lib_LIB_ENDIAN_LIST_CLEAN = $(addsuffix _lclean, $(LIB_ENDIAN_LIST))
+# Invoke the ti/build/makefile with {BOARD,CORE,SOC} and COMP name
+# For each SOC, build the BOARD,CORE combination for each relevant BOARD,SOC for that SOC
+$(TARGETS_FOR_MULT_SOC_BOARDS):
+ $(foreach current_soc, $(LIMIT_SOCS),\
+ $(foreach current_board, $(filter $(LIMIT_BOARDS),$(BOARD_LIST_$(current_soc))), \
+ $(foreach current_core, $(filter $(LIMIT_CORES), $(filter-out $(PRUCORE_LIST),$(CORE_LIST_$(current_soc)))),\
+ $(MAKE) -f $(PDK_INSTALL_PATH)/ti/build/makefile $@ COMP=$(COMP) CORE=$(current_core) BOARD=$(current_board) SOC=$(current_soc);\
+ )))
-app_lib_BOARD_SOC_LIST_ALL = $(addsuffix _app_lib, $(BOARD_LIST_ALL))
-app_lib_CORE_LIST_ALL = $(addsuffix _app_lib, $(CORE_LIST_ALL))
-app_lib_LIB_ENDIAN_LIST = $(addsuffix _app_lib, $(LIB_ENDIAN_LIST))
+package:
+ $(foreach current_board, $(BOARD),\
+ $(MAKE) -f $(PDK_INSTALL_PATH)/ti/build/makefile $@ COMP=$(COMP) BOARD=$(current_board);\
+ )
-app_lib_BOARD_SOC_LIST_ALL_CLEAN = $(addsuffix _app_lclean, $(BOARD_LIST_ALL))
-app_lib_CORE_LIST_ALL_CLEAN = $(addsuffix _app_lclean, $(CORE_LIST_ALL))
-app_lib_LIB_ENDIAN_LIST_CLEAN = $(addsuffix _app_lclean, $(LIB_ENDIAN_LIST))
+release: lib firm tar
-app_BOARD_LIST_ALL = $(addsuffix _app, $(BOARD_LIST_ALL))
-app_CORE_LIST_ALL = $(addsuffix _app, $(CORE_LIST_ALL))
-
-app_LIB_ENDIAN_LIST = $(addsuffix _app, $(LIB_ENDIAN_LIST))
-app_LIB_BOARD_LIST = $(addsuffix _app, $(BOARD_LIST_ALL))
-app_LIB_SOC_LIST = $(addsuffix _app, $(SOC_LIST_ALL))
-
-app_BOARD_LIST_ALL_CLEAN = $(addsuffix _aclean, $(BOARD_LIST_ALL))
-app_CORE_LIST_ALL_CLEAN = $(addsuffix _aclean, $(CORE_LIST_ALL))
-app_LIB_ENDIAN_LIST_CLEAN = $(addsuffix _aclean, $(LIB_ENDIAN_LIST))
-
-firm_SOC_LIST_ALL = $(addsuffix _firm, $(SOC_LIST_ALL))
-firm_CORE_LIST_ALL = $(addsuffix _firm, $(filter $(PRUCORE_LIST),$(CORE_LIST_ALL)))
-firm_HOST_CORE_LIST = $(addsuffix _firm, $(filter-out $(PRUCORE_LIST),$(CORE_LIST_ALL)))
-firm_VERSION_LIST_ALL = $(addsuffix _firm, $(PRU_VERSION_LIST))
-firm_SOC_LIST_ALL_CLEAN = $(addsuffix _fclean, $(SOC_LIST_ALL))
-firm_CORE_LIST_ALL_CLEAN = $(addsuffix _fclean, $(filter $(PRUCORE_LIST),$(CORE_LIST_ALL)))
-firm_HOST_CORE_LIST_CLEAN = $(addsuffix _fclean, $(filter-out $(PRUCORE_LIST),$(CORE_LIST_ALL)))
-firm_VERSION_LIST_ALL_CLEAN = $(addsuffix _fclean, $(PRU_VERSION_LIST))
-
-comp_PKG_LIST_ALL = $($(COMP)_EXAMPLE_LIST) $($(COMP)_DUP_EXAMPLE_LIST) $($(COMP)_APP_LIB_LIST) $($(COMP)_LIB_LIST) $($(COMP)_FIRM_LIST)
-comp_LIB_LIST_CLEAN = $(addsuffix _clean, $($(COMP)_LIB_LIST))
-comp_APP_LIB_LIST_CLEAN = $(addsuffix _clean, $($(COMP)_APP_LIB_LIST))
-comp_EXAMPLE_LIST_CLEAN = $(addsuffix _clean, $($(COMP)_EXAMPLE_LIST))
-comp_FIRM_LIST_CLEAN = $(addsuffix _clean, $($(COMP)_FIRM_LIST))
-comp_PKG_LIST_ALL_CLEAN = $(addsuffix _clean, $(comp_PKG_LIST_ALL))
-comp_PKG_LIST_PACKAGE = $(addsuffix _package, $(comp_PKG_LIST_ALL))
-
-
-package_BOARD_LIST_ALL = $(addsuffix _package_board, $(BOARD))
-
-# If the component enables doxygen, this will evaluate to "yesyes" and doxygen
-# will be built. If this value is overridden by the user to any other value, or
-# $(COMP)_DOXYGEN_SUPPORT is not "yes", doxygen is not built.
-DOXYGEN_SUPPORT ?= yes$($(COMP)_DOXYGEN_SUPPORT)
-
-.PHONY : apps appcores app_clean clean_appcores \
- lib libcores lib_allendians lib_clean clean_libcores clean_lib_allendians \
- all all_cpp comp_libs comp_libs_clean examples examples_clean clean package $(comp_PKG_LIST_ALL) \
- doxygen release tar lib lib_clean \
- $(lib_BOARD_SOC_LIST_ALL) $(lib_CORE_LIST_ALL) $(lib_LIB_ENDIAN_LIST) $(lib_BOARD_SOC_LIST_ALL_CLEAN) \
- $(lib_CORE_LIST_ALL_CLEAN) $(lib_LIB_ENDIAN_LIST_CLEAN) \
- $(app_lib_BOARD_SOC_LIST_ALL) $(app_lib_CORE_LIST_ALL) $(app_lib_LIB_ENDIAN_LIST) \
- $(firm_SOC_LIST_ALL) $(firm_CORE_LIST_ALL) $(firm_VERSION_LIST_ALL) $(firm_VERSION_LIST_ALL_CLEAN) $(firm_SOC_LIST_ALL_CLEAN) $(firm_CORE_LIST_ALL_CLEAN) \
- $(app_lib_BOARD_SOC_LIST_ALL_CLEAN) $(app_lib_CORE_LIST_ALL_CLEAN) $(app_lib_LIB_ENDIAN_LIST_CLEAN) \
- $(app_BOARD_LIST_ALL) $(app_CORE_LIST_ALL) $(app_BOARD_LIST_ALL_CLEAN) $(app_CORE_LIST_ALL_CLEAN)
-
-
-all: lib firm app_lib apps
-
-clean: lib_clean firm_clean app_lib_clean app_clean
-
-ifeq ($(lib_$(COMP)_BUILD_DEPENDENCY),soc)
-$(lib_BOARD_SOC_LIST_ALL):
- $(MAKE) libcores SOC=$(subst _lib,,$@)
-endif
-ifeq ($(lib_$(COMP)_BUILD_DEPENDENCY),board)
-$(lib_BOARD_SOC_LIST_ALL):
- $(MAKE) libcores BOARD=$(subst _lib,,$@)
-endif
-
-all_cpp: lib app_lib
-
-$(lib_CORE_LIST_ALL):
- $(MAKE) lib_allendians CORE=$(subst _lib,,$@) BUILD_PROFILE_$(subst _lib,,$@)=$(BUILD_PROFILE)
-
-$(lib_LIB_ENDIAN_LIST):
- $(MAKE) comp_libs ENDIAN=$(subst _lib,,$@)
-
-ifeq ($(lib_$(COMP)_BUILD_DEPENDENCY),soc)
-$(lib_BOARD_SOC_LIST_ALL_CLEAN):
- $(MAKE) clean_libcores SOC=$(subst _lclean,,$@)
-endif
-ifeq ($(lib_$(COMP)_BUILD_DEPENDENCY),board)
-$(lib_BOARD_SOC_LIST_ALL_CLEAN):
- $(MAKE) clean_libcores BOARD=$(subst _lclean,,$@)
-endif
-
-$(lib_CORE_LIST_ALL_CLEAN):
- $(MAKE) clean_lib_allendians CORE=$(subst _lclean,,$@) BUILD_PROFILE_$(subst _lclean,,$@)=$(BUILD_PROFILE)
-
-$(lib_LIB_ENDIAN_LIST_CLEAN):
- $(MAKE) comp_libs_clean ENDIAN=$(subst _lclean,,$@)
-
-$(app_lib_BOARD_SOC_LIST_ALL):
- $(MAKE) app_libcores BOARD=$(subst _app_lib,,$@)
-
-$(firm_SOC_LIST_ALL):
- $(MAKE) firmcores SOC=$(subst _firm,,$@)
-
-$(firm_CORE_LIST_ALL):
- $(MAKE) firm_allhostcores CORE=$(subst _firm,,$@)
-
-$(firm_HOST_CORE_LIST):
- $(MAKE) firm_allversion HOSTCORE=$(subst _firm,,$@)
-
-$(firm_VERSION_LIST_ALL):
- $(MAKE) comp_firm PRUVERSION=$(subst _firm,,$@)
-
-$(app_lib_CORE_LIST_ALL):
- $(MAKE) app_lib_allendians CORE=$(subst _app_lib,,$@) BUILD_PROFILE_$(subst _app_lib,,$@)=$(BUILD_PROFILE)
-$(firm_SOC_LIST_ALL_CLEAN):
- $(MAKE) clean_firmcores SOC=$(subst _fclean,,$@)
-
-$(app_lib_LIB_ENDIAN_LIST):
- $(MAKE) comp_app_libs ENDIAN=$(subst _app_lib,,$@)
-$(firm_CORE_LIST_ALL_CLEAN):
- $(MAKE) clean_firm_allhostcores CORE=$(subst _fclean,,$@)
-
-$(firm_HOST_CORE_LIST_CLEAN):
- $(MAKE) clean_firm_allversion HOSTCORE=$(subst _fclean,,$@)
-
-$(firm_VERSION_LIST_ALL_CLEAN):
- $(MAKE) comp_firm_clean PRUVERSION=$(subst _fclean,,$@)
-
-$(app_lib_BOARD_SOC_LIST_ALL_CLEAN):
- $(MAKE) clean_app_libcores BOARD=$(subst _app_lclean,,$@)
-
-$(app_lib_CORE_LIST_ALL_CLEAN):
- $(MAKE) clean_app_lib_allendians CORE=$(subst _app_lclean,,$@) BUILD_PROFILE_$(subst _app_lclean,,$@)=$(BUILD_PROFILE)
-
-$(app_lib_LIB_ENDIAN_LIST_CLEAN):
- $(MAKE) comp_app_libs_clean ENDIAN=$(subst _app_lclean,,$@)
-
-$(app_BOARD_LIST_ALL):
- $(MAKE) appcores BOARD=$(subst _app,,$@)
-
-$(app_CORE_LIST_ALL):
-ifeq ($(CPLUSPLUS_BUILD), yes)
- $(ECHO) "Skipping the application build for C++"
-else
- $(MAKE) examples CORE=$(subst _app,,$@) BUILD_PROFILE_$(subst _app,,$@)=$(BUILD_PROFILE)
-endif
-
-$(app_BOARD_LIST_ALL_CLEAN):
- $(MAKE) clean_appcores BOARD=$(subst _aclean,,$@)
+%_var_display:
+ $(ECHO) " $(subst _var_display,,$@) is $($(subst _var_display,,$@))"
-$(app_CORE_LIST_ALL_CLEAN):
- $(MAKE) examples_clean CORE=$(subst _aclean,,$@) BUILD_PROFILE_$(subst _aclean,,$@)=$(BUILD_PROFILE)
-
-$(package_BOARD_LIST_ALL):
- $(MAKE) $(comp_PKG_LIST_PACKAGE) BOARD=$(subst _package_board,,$@)
-
-
-xdc_meta:
- $(XDC) XDCBUILDCFG=config_mk.bld
-
-xdc_meta_clean:
- $(XDC) clean XDCBUILDCFG=config_mk.bld
-
-.PHONY: designdoc_html
-designdoc_html:
- $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(DESIGNDOC_ROOT)/build/html
- @echo
- @echo "Build finished. The HTML pages are in $(DESIGNDOC_ROOT)/build/html."
-
-.PHONY: designdoc_singlehtml
-designdoc_singlehtml:
- $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(DESIGNDOC_ROOT)/build/singlehtml
- @echo
- @echo "Build finished. The HTML page is in $(DESIGNDOC_ROOT)/build/singlehtml."
-
-.PHONY: designdoc_latexpdf
-designdoc_latexpdf:
- $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(DESIGNDOC_ROOT)/build/latex
- @echo "Running LaTeX files through pdflatex..."
- $(MAKE) -C $(DESIGNDOC_ROOT)/build/latex all-pdf
- @echo "pdflatex finished; the PDF files are in $(DESIGNDOC_ROOT)/build/latex."
-
-.PHONY: designdoc
-designdoc:
-#For design documentation
-ifeq ($(OS),linux)
-ifeq ($($(COMP)_DESIGNDOC_HTML_SUPPORT),yes)
- $(ECHO) Creating html design documentation ...
- make designdoc_html
-endif
-ifeq ($($(COMP)_DESIGNDOC_SINGLEHTML_SUPPORT),yes)
- $(ECHO) Creating singlehtml design documentation ...
- make designdoc_singlehtml
-endif
-ifeq ($($(COMP)_DESIGNDOC_LATEXPDF_SUPPORT),yes)
- $(ECHO) Creating latexpdf design documentation ...
- make designdoc_latexpdf
-endif
-endif
-
-.PHONY: designdoc_clean
-designdoc_clean:
-#For design documentation
-ifeq ($(OS),linux)
- rm -rf $(DESIGNDOC_ROOT)/build/*
-endif
-
-doxygen:
-ifeq ($(DOXYGEN_SUPPORT),yesyes)
- $(ECHO) Creating Doxygen API guide ...
- @doxygen docs/Doxyfile
-else
- $(ECHO) No Doxygen Support available ...
-endif
-
-clean_doxygen:
-ifeq ($(DOXYGEN_SUPPORT),yesyes)
- $(ECHO) cleaned Doxygen API guide ...
- $(RM) -rf docs/doxygen
-else
- $(ECHO) No Doxygen Support available ...
-endif
-
-tar: lib firm xdc_meta doxygen
- $(ECHO) Creating the Release Tar ball for $(COMP)...
- $(XDC) clean XDCBUILDCFG=config_mk.bld
- $(XDC) release XDCBUILDCFG=config_mk.bld
- $(ECHO) please check $(COMP)/packages folder for the release tarball
-
-lib: $(lib_BOARD_SOC_LIST_ALL)
-
-# First build the libraries for base cores, then followed by the rest
-libcores: libcores_base_cores
- $(MAKE) libcores_rest_cores
-
-libcores_base_cores: $(lib_CORE_LIST_BASE)
-libcores_rest_cores: $(lib_CORE_LIST_REST)
-
-lib_allendians: $(lib_LIB_ENDIAN_LIST)
-
-lib_clean: $(lib_BOARD_SOC_LIST_ALL_CLEAN)
-
-clean_libcores:$(lib_CORE_LIST_ALL_CLEAN)
-
-clean_lib_allendians: $(lib_LIB_ENDIAN_LIST_CLEAN)
-
-app_lib: $(app_lib_BOARD_SOC_LIST_ALL)
-
-firm: $(firm_SOC_LIST_ALL)
-
-app_libcores: $(app_lib_CORE_LIST_ALL)
-firmcores: $(firm_CORE_LIST_ALL)
-
-app_lib_allendians: $(app_lib_LIB_ENDIAN_LIST)
-firm_allhostcores: $(firm_HOST_CORE_LIST)
-firm_allversion: $(firm_VERSION_LIST_ALL)
-app_lib_clean: $(app_lib_BOARD_SOC_LIST_ALL_CLEAN)
-firm_clean: $(firm_SOC_LIST_ALL_CLEAN)
-
-clean_app_libcores:$(app_lib_CORE_LIST_ALL_CLEAN)
-clean_firmcores: $(firm_CORE_LIST_ALL_CLEAN)
-clean_firm_allversion: $(firm_VERSION_LIST_ALL_CLEAN)
-clean_app_lib_allendians: $(app_lib_LIB_ENDIAN_LIST_CLEAN)
-clean_firm_allhostcores: $(firm_HOST_CORE_LIST_CLEAN)
-
-apps: $(app_BOARD_LIST_ALL)
-
-appcores: $(app_CORE_LIST_ALL)
-
-app_clean: $(app_BOARD_LIST_ALL_CLEAN)
-
-clean_appcores: $(app_CORE_LIST_ALL_CLEAN)
-
-comp_all: lib_allendians app_lib_allendians examples firm_allhostcores
-
-comp_clean: clean_lib_allendians clean_app_lib_allendians examples_clean clean_firm_allhostcores
-
-comp_libs: $($(COMP)_LIB_LIST)
-
-comp_libs_clean: $(comp_LIB_LIST_CLEAN)
-
-comp_app_libs: $($(COMP)_APP_LIB_LIST)
-comp_firm: $($(COMP)_FIRM_LIST)
-
-comp_app_libs_clean: $(comp_APP_LIB_LIST_CLEAN)
-comp_firm_clean: $(comp_FIRM_LIST_CLEAN)
-
-examples: $($(COMP)_EXAMPLE_LIST)
-
-examples_clean: $(comp_EXAMPLE_LIST_CLEAN)
-
-package: $(package_BOARD_LIST_ALL)
-
-release: lib tar firm
-
-#=================================================================
-#COMP libs app_libs and apps
-$(comp_PKG_LIST_ALL):
- $(if $(filter $(SOC), $(subst emptyreplacement,,$($@_SOCLIST))),\
- $(if $(filter $(CORE), $(subst emptyreplacement,,$($@_$(SOC)_CORELIST))),\
- $(if $(filter yes, $(subst emptyreplacement,,$($@_XDC_CONFIGURO))),\
- $(MAKE) -C $($@_PATH) $($@_MAKEFILE) xdc_configuro,),),\
- $(if $(filter $(BOARD), $(subst emptyreplacement,,$($@_BOARDLIST))),\
- $(if $(filter $(CORE), $(subst emptyreplacement,,$($@_$(SOC)_CORELIST))),\
- $(if $(filter yes, $(subst emptyreplacement,,$($@_XDC_CONFIGURO))),\
- $(MAKE) -C $($@_PATH) $($@_MAKEFILE) xdc_configuro,),),))
- $(if $(filter $(SOC), $(subst emptyreplacement,,$($@_SOCLIST))),\
- $(if $(filter $(CORE), $(subst emptyreplacement,,$($@_$(SOC)_CORELIST))),\
- $(MAKE) -C $($@_PATH) $($@_MAKEFILE),$(ECHO) Nothing to be done for $(SOC) $(CORE) $@),\
- $(if $(filter $(BOARD), $(subst emptyreplacement,,$($@_BOARDLIST))),\
- $(if $(filter $(CORE), $(subst emptyreplacement,,$($@_$(SOC)_CORELIST))),\
- $(MAKE) -C $($@_PATH) $($@_MAKEFILE),$(ECHO) Nothing to be done for $(BOARD) $(SOC) $(CORE) $@),$(ECHO) Nothing to be done for $(SOC) $@))
- $(if $(filter $(SOC), $(subst emptyreplacement,,$($@_SOCLIST))),\
- $(if $(filter $(CORE), $(subst emptyreplacement,,$($@_$(SOC)_CORELIST))),\
- $(if $(filter yes, $(subst emptyreplacement,,$($@_SBL_IMAGEGEN))),\
- $(MAKE) -C $($@_PATH) $($@_MAKEFILE) sbl_imagegen,),),\
- $(if $(filter $(BOARD), $(subst emptyreplacement,,$($@_BOARDLIST))),\
- $(if $(filter $(CORE), $(subst emptyreplacement,,$($@_$(SOC)_CORELIST))),\
- $(if $(filter yes, $(subst emptyreplacement,,$($@_SBL_IMAGEGEN))),\
- $(MAKE) -C $($@_PATH) $($@_MAKEFILE) sbl_imagegen,),),))
- $(if $(filter $(SOC), $(subst emptyreplacement,,$($@_SOCLIST))),\
- $(if $(filter $(CORE), $(subst emptyreplacement,,$($@_$(SOC)_CORELIST))),\
- $(if $(filter yes, $(subst emptyreplacement,,$($@_SBL_APPIMAGEGEN))),\
- $(MAKE) -C $($@_PATH) $($@_MAKEFILE) sbl_appimagegen,),),\
- $(if $(filter $(BOARD), $(subst emptyreplacement,,$($@_BOARDLIST))),\
- $(if $(filter $(CORE), $(subst emptyreplacement,,$($@_$(SOC)_CORELIST))),\
- $(if $(filter yes, $(subst emptyreplacement,,$($@_SBL_APPIMAGEGEN))),\
- $(MAKE) -C $($@_PATH) $($@_MAKEFILE) sbl_appimagegen,),),))
-
-$(comp_PKG_LIST_ALL_CLEAN):
- $(if $(filter $(SOC), $(subst emptyreplacement,,$($(subst _clean,,$@)_SOCLIST))),\
- $(MAKE) -C $($(subst _clean,,$@)_PATH) $($(subst _clean,,$@)_MAKEFILE) clean,\
- $(if $(filter $(BOARD), $(subst emptyreplacement,,$($(subst _clean,,$@)_BOARDLIST))),\
- $(MAKE) -C $($(subst _clean,,$@)_PATH) $($(subst _clean,,$@)_MAKEFILE) clean,))
-
-$(comp_PKG_LIST_PACKAGE):
- $(if $(filter $(SOC), $(subst emptyreplacement,,$($(subst _package,,$@)_SOCLIST))),\
- $(MAKE) -C $($(subst _package,,$@)_PATH) $($(subst _package,,$@)_MAKEFILE) package,\
- $(if $(filter $(BOARD), $(subst emptyreplacement,,$($(subst _package,,$@)_BOARDLIST))),\
- $(MAKE) -C $($(subst _package,,$@)_PATH) $($(subst _package,,$@)_MAKEFILE) package,$(ECHO) Nothing to be done for $(SOC) $(subst _package,,$@)))
-
-#Below is used only for checking c++ build errors during development, not to be used for any other purpose
-cplusplus_build:
- $(MAKE) all_cpp BUILD_PROFILE=debug CPLUSPLUS_BUILD=yes
+# Invoke the ti/build/makefile with COMP name
+$(TARGETS_SOC_BOARD_INDP):
+ $(MAKE) -f $(PDK_INSTALL_PATH)/ti/build/makefile $@ COMP=$(COMP) DOXYGEN_SUPPORT=$($(COMP)_DOXYGEN_SUPPORT)
-# Nothing beyond this point
+# nothing beyond this point
index 2eed3a3df645580c9b2436607326c57300ae4a59..bc62354dc6e0e920869c06bf8e738d99a56fb052 100644 (file)
install -m 0755 Rules.make $(PDK_INSTALL_DIR)/packages/ti/build
install -m 0755 comp_top.mk $(PDK_INSTALL_DIR)/packages/ti/build
install -m 0755 comp_paths.mk $(PDK_INSTALL_DIR)/packages/ti/build
+ install -m 0755 pdk_tools_path.mk $(PDK_INSTALL_DIR)/packages/ti/build
install -m 0644 pdk_build_ver.h $(PDK_INSTALL_DIR)/packages/ti/build
install -m 0755 makerules/build_config.mk $(PDK_INSTALL_DIR)/packages/ti/build/makerules
install -m 0755 makerules/common.mk $(PDK_INSTALL_DIR)/packages/ti/build/makerules
install -m 0755 makerules/env.mk $(PDK_INSTALL_DIR)/packages/ti/build/makerules
install -m 0755 makerules/platform.mk $(PDK_INSTALL_DIR)/packages/ti/build/makerules
install -m 0755 makefile $(PDK_INSTALL_DIR)/packages/ti/build/
+ install -m 0755 makefile_non-buildinfra $(PDK_INSTALL_DIR)/packages/ti/build/
install -m 0755 unit-test/README.txt $(PDK_INSTALL_DIR)/packages/ti/build/unit-test
install -m 0755 unit-test/config/unity_config.c $(PDK_INSTALL_DIR)/packages/ti/build/unit-test/config
install -m 0755 unit-test/config/unity_config.h $(PDK_INSTALL_DIR)/packages/ti/build/unit-test/config
index 9b4c2d8d1d0276ad8f9b20b93cdefed7f6619be0..4ffddcb531fae2afe3bcc49fc3f1ca7cdeff33be 100755 (executable)
-include Rules.make
+include $(PDK_INSTALL_PATH)/ti/build/Rules.make
+XDC = $(XDC_INSTALL_PATH)/xdc
+
+ifeq ($(LIMIT_BOARDS),)
BOARD_LIST_ALL = evmDRA72x evmDRA75x evmDRA78x evmAM572x idkAM572x idkAM571x idkAM574x
BOARD_LIST_ALL += $(BOARD_LIST_J6_TDA)
BOARD_LIST_ALL += am65xx_sim
BOARD_LIST_ALL += $(BOARD_LIST_J7_TDA)
+else
+ # If LIMIT_BOARDS is defined use it
+ BOARD_LIST_ALL = $(LIMIT_BOARDS)
+endif
+ifeq ($(LIMIT_CORES),)
#Limit core list based on board
ifeq ($(BOARD),$(filter $(BOARD), $(BOARD_LIST_J7_TDA)))
CORE_LIST_ALL = mpu1_0
CORE_LIST_ALL = a15_0 ipu1_0 ipu1_1 ipu2_0 ipu2_1 c66x c66xdsp_1 c66xdsp_2 arp32_1 arp32_2 arp32_3 arp32_4 arm9_0 c674x
CORE_LIST_ALL += mcu1_0 mcu1_1 mpu1_0 mpu1_1
endif
+else
+ # If LIMIT_CORES is defined use it
+ CORE_LIST_ALL = $(LIMIT_CORES)
+endif
BUILD_PROFILE_LIST_ALL ?= release debug
-pdk_LIB_LIST_CLEAN = $(addsuffix _clean, $(pdk_LIB_LIST))
-pdk_APP_LIB_LIST_CLEAN = $(addsuffix _clean, $(pdk_APP_LIB_LIST))
-pdk_EXAMPLE_LIST_CLEAN = $(addsuffix _clean, $(pdk_EXAMPLE_LIST))
-pdk_DUP_EXAMPLE_LIST_CLEAN = $(addsuffix _clean, $(pdk_DUP_EXAMPLE_LIST))
-pdk_PKG_LIST_ALL_CLEAN = $(addsuffix _clean, $(pdk_PKG_LIST_ALL))
-pdk_PKG_LIST_PACKAGE = $(addsuffix _package, $(pdk_PKG_LIST_ALL))
-.PHONY : all pdk_libs pdk_libs_clean pdk_app_libs pdk_app_libs_clean examples examples_clean clean package $(pdk_PKG_LIST_ALL) $(pdk_DUP_EXAMPLE_LIST)
-all: version pdk_libs pdk_app_libs
- $(MAKE) examples
- $(foreach dup_app, $(pdk_DUP_EXAMPLE_LIST),\
- $(MAKE) $(dup_app);\
- )
+# Variables used
+
+
+#if COMP is not defined, the build comprises of all modules in the ti/build/component.mk
+ifeq ($(COMP),)
+
+FINAL_LIB_LIST = $(pdk_LIB_LIST)
+FINAL_APP_LIB_LIST = $(pdk_APP_LIB_LIST)
+FINAL_EXAMPLE_LIST = $(pdk_EXAMPLE_LIST)
+FINAL_FIRM_LIST = $(pdk_FIRM_LIST)
+FINAL_PKG_LIST_ALL = $(pdk_PKG_LIST_ALL)
+FINAL_DUP_EXAMPLE_LIST = $(pdk_DUP_EXAMPLE_LIST)
+
+else
+#if COMP is defined, this is built from within a component, eg) ti/drv/mmcsd> make all
+# In this case only that module's LIB,APPLIB, EXAMPLES should be built
+
+FINAL_LIB_LIST =$($(COMP)_LIB_LIST)
+FINAL_APP_LIB_LIST = $($(COMP)_APP_LIB_LIST)
+FINAL_EXAMPLE_LIST=$($(COMP)_EXAMPLE_LIST)
+FINAL_FIRM_LIST = $($(COMP)_FIRM_LIST)
+FINAL_DUP_EXAMPLE_LIST = $($(COMP)_DUP_EXAMPLE_LIST)
+FINAL_PKG_LIST_ALL=$($(COMP)_LIB_LIST) $($(COMP)_APP_LIB_LIST) $($(COMP)_EXAMPLE_LIST) $($(COMP)_FIRM_LIST) $($(COMP)_DUP_EXAMPLE_LIST)
+
+endif
+
+# Consolidated list of targets to be built
+FINAL_LIB_LIST_CLEAN = $(addsuffix _clean, $(FINAL_LIB_LIST))
+FINAL_APP_LIB_LIST_CLEAN = $(addsuffix _clean, $(FINAL_APP_LIB_LIST))
+FINAL_EXAMPLE_LIST_CLEAN = $(addsuffix _clean, $(FINAL_EXAMPLE_LIST))
+FINAL_FIRM_LIST_CLEAN = $(addsuffix _clean, $(FINAL_FIRM_LIST))
+FINAL_DUP_EXAMPLE_LIST_CLEAN = $(addsuffix _clean, $(FINAL_DUP_EXAMPLE_LIST))
+FINAL_PKG_LIST_PACKAGE = $(addsuffix _package, $(FINAL_PKG_LIST_ALL))
+FINAL_PKG_LIST_ALL_CLEAN = $(addsuffix _clean, $(FINAL_PKG_LIST_ALL))
+
+# Create the _has_dep target for the <module> if _DEPENDS_ON is defined in the <module>_component.mk
+# For example, CREATE_DEP_TARGETS(nimu_icssg,FINAL_LIB_LIST) does the following:
+# 1) creates nimu_icssg_has_dep: emac_has_dep (as 'nimu_icssg_DEPENDS_ON = emac' is mentioned in nimu_component.mk)
+# 2) FINAL_LIB_LIST_DEP_LIST += emac (This is to take emac out of the FINAL_LIB_LIST_HAS_DEP because it will be built by nimu_icssg_has_dep
+# However CREATE_DEP_TARGETS(mmcsd,FINAL_LIB_LIST) will create mmcsd_has_dep: (as 'mmcsd_DEPENDS_ON ' is not defined in mmcsd_component.mk)
+# 3) Build the <module> after the dependency is built
+
+define CREATE_DEP_TARGETS
+ifneq ($($(1)_DEPENDS_ON),)
+ifeq ($($(1)_DEPENDS_ON),$(filter $($(1)_DEPENDS_ON), $($(2))))
+$(1)_has_dep: $($(1)_DEPENDS_ON)_has_dep
+ +$(MAKE) -f $(PDK_INSTALL_PATH)/ti/build/makefile $(1)
+
+$(2)_DEP_LIST += $($(1)_DEPENDS_ON)
+else
+$(1)_has_dep:
+ +$(MAKE) -f $(PDK_INSTALL_PATH)/ti/build/makefile $(1)
+endif
+else
+$(1)_has_dep:
+ +$(MAKE) -f $(PDK_INSTALL_PATH)/ti/build/makefile $(1)
+endif
+endef
+
+
+# For all the targets to build, create the Dependency targets.
+$(foreach LIB,$(FINAL_LIB_LIST),$(eval $(call CREATE_DEP_TARGETS,$(LIB),FINAL_LIB_LIST)))
+$(foreach APP_LIB,$(FINAL_APP_LIB_LIST),$(eval $(call CREATE_DEP_TARGETS,$(APP_LIB),FINAL_APP_LIB_LIST)))
+$(foreach EXAMPLE,$(FINAL_EXAMPLE_LIST),$(eval $(call CREATE_DEP_TARGETS,$(EXAMPLE),FINAL_EXAMPLE_LIST)))
+$(foreach DUP_EXAMPLE,$(FINAL_DUP_EXAMPLE_LIST),$(eval $(call CREATE_DEP_TARGETS,$(DUP_EXAMPLE),FINAL_DUP_EXAMPLE_LIST)))
+$(foreach FIRM,$(FINAL_FIRM_LIST),$(eval $(call CREATE_DEP_TARGETS,$(FIRM),FINAL_FIRM_LIST)))
+
+# Create *_has_dep targets , filtering out the duplicate entries (which already appeared as dependent targets to others
+# For example nimu_icssg_has_dep already builds emac (nimu_icssg_DEPENDS_ON = emac)
+FINAL_LIB_HAS_DEP_LIST = $(addsuffix _has_dep, $(filter-out $(FINAL_LIB_LIST_DEP_LIST), $(FINAL_LIB_LIST)))
+FINAL_APP_LIB_HAS_DEP_LIST = $(addsuffix _has_dep,$(filter-out $(FINAL_APP_LIB_LIST_DEP_LIST),$(FINAL_APP_LIB_LIST)))
+FINAL_EXAMPLE_HAS_DEP_LIST = $(addsuffix _has_dep, $(filter-out $(FINAL_EXAMPLE_LIST_DEP_LIST),$(FINAL_EXAMPLE_LIST)))
+FINAL_DUP_EXAMPLE_HAS_DEP_LIST = $(addsuffix _has_dep,$(filter-out $(FINAL_DUP_EXAMPLE_LIST_DEP_LIST),$(FINAL_DUP_EXAMPLE_LIST)))
+FINAL_FIRM_HAS_DEP_LIST = $(addsuffix _has_dep, $(filter-out $(FINAL_FIRM_LIST_DEP_LIST),$(FINAL_FIRM_LIST)))
+
+
+.PHONY : all all_libs all_apps all_apps_core version pdk_examples pdk_libs lib app_lib apps tar firm doxygen xdc_meta pdk_libs_clean pdk_app_libs pdk_app_libs_clean examples examples_clean clean package $(pdk_PKG_LIST_ALL) $(pdk_DUP_EXAMPLE_LIST) all_firm firm all_firm_versions all_apps pdk_examples pdk_dup_apps $(FINAL_LIB_HAS_DEP_LIST) $(FINAL_APP_LIB_HAS_DEP_LIST) $(FINAL_EXAMPLE_HAS_DEP_LIST) $(FINAL_DUP_EXAMPLE_HAS_DEP_LIST) $(FINAL_FIRM_HAS_DEP_LIST) %_has_dep
+
+all: version all_apps
+
+all_apps: all_libs
+ +$(MAKE) -f $(PDK_INSTALL_PATH)/ti/build/makefile all_apps_core
+
+all_libs: pdk_libs pdk_app_libs firm
+
+all_apps_core: pdk_examples pdk_dup_apps
version:
$(ECHO) ------------------------------------------------------
$(ECHO) \# PDK MM.NN.PP.BB
$(ECHO) ------------------------------------------------------
-pdk_libs: $(pdk_LIB_LIST)
+pdk_libs: $(FINAL_LIB_HAS_DEP_LIST)
+
+pdk_libs_clean: $(FINAL_LIB_LIST_CLEAN)
+
+pdk_app_libs: $(FINAL_APP_LIB_HAS_DEP_LIST)
+
+pdk_examples: examples
+
+pdk_dup_apps: $(FINAL_DUP_EXAMPLE_HAS_DEP_LIST)
-pdk_libs_clean: $(pdk_LIB_LIST_CLEAN)
+pdk_app_libs_clean: $(FINAL_APP_LIB_LIST_CLEAN)
-pdk_app_libs: $(pdk_APP_LIB_LIST)
+all_firm: $(FINAL_FIRM_HAS_DEP_LIST)
-pdk_app_libs_clean: $(pdk_APP_LIB_LIST_CLEAN)
+all_firm_clean: $(FINAL_FIRM_LIST_CLEAN)
-examples: $(pdk_EXAMPLE_LIST)
+examples: $(FINAL_EXAMPLE_HAS_DEP_LIST)
-examples_clean: $(pdk_EXAMPLE_LIST_CLEAN)
+examples_clean: $(FINAL_EXAMPLE_LIST_CLEAN)
-clean: pdk_libs_clean pdk_app_libs_clean examples_clean
- $(foreach dup_app, $(pdk_DUP_EXAMPLE_LIST_CLEAN),\
+clean: pdk_libs_clean pdk_app_libs_clean examples_clean all_firm_clean
+ $(foreach dup_app, $(FINAL_DUP_EXAMPLE_LIST_CLEAN),\
$(MAKE) $(dup_app);\
)
$(RM) -rf ../*/*/*/lib
$(RM) -rf ../*/*/*/*/lib
-package: $(pdk_PKG_LIST_PACKAGE)
+package: $(FINAL_PKG_LIST_PACKAGE)
help:
$(ECHO) ------------------------------------------------------
$(ECHO) "clean : Cleans all libraries and examples for the provided CORE and BOARD"
$(ECHO) "allcores_clean : Cleans all libraries and examples for all applicable CORES for a BOARD"
$(ECHO) "allclean : Removes the binary directory using rm -rf"
- $(ECHO) "examples : Builds all examples"
+ $(ECHO) "pdk_examples : Builds all examples"
$(ECHO) "pdk_libs : Builds all libraries"
$(ECHO) "pdk_app_libs : Builds all application utility libaries"
$(ECHO) "custom_target : Builds the target list provided by BUILD_TARGET_LIST_ALL= for all cores and profiles"
$(ECHO) "<Module> : Builds a module. Possible values:"
- $(ECHO) "[$(pdk_LIB_LIST)]"
+ $(ECHO) "[$(FINAL_LIB_LIST)]"
+ $(ECHO) ""
+ $(ECHO) "<Module_App_lib> : Builds application libraries:"
+ $(ECHO) "[$(FINAL_APP_LIB_LIST)]"
$(ECHO) ""
$(ECHO) "<Module_App> : Builds an application. Possible values:"
- $(ECHO) "[$(pdk_EXAMPLE_LIST) $(pdk_DUP_EXAMPLE_LIST)]"
+ $(ECHO) "[$(FINAL_EXAMPLE_LIST) $(FINAL_DUP_EXAMPLE_LIST)]"
$(ECHO) ""
$(ECHO) "Optional make variables:"
$(ECHO) "------------------------"
$(ECHO) "BOARD=[$(BOARD_LIST_ALL)]"
$(ECHO) " Default: $(BOARD)"
$(ECHO) "CORE=[$(CORE_LIST_ALL)]"
- $(ECHO) " Default: Depends on the platform"
+ $(ECHO) " Default: $(CORE)"
$(ECHO) "BUILD_PROFILE=[$(BUILD_PROFILE_LIST_ALL)]"
$(ECHO) " Default: $(BUILD_PROFILE)"
$(ECHO) "OS=[Windows_NT linux]"
$(ECHO) " Default: Windows_NT"
+ $(ECHO) " COMP = $(COMP)"
+ $(ECHO) " PDK_INSTALL_PATH = $(PDK_INSTALL_PATH)"
+ $(ECHO) " XDC_INSTALL_PATH = $(XDC_INSTALL_PATH)"
allcores:
$(foreach current_core, $(CORE_LIST_ALL),\
$(foreach current_core, $(CORE_LIST_ALL),\
$(foreach current_build_target, $(BUILD_TARGET_LIST_ALL),\
$(MAKE) $(current_build_target) CORE=$(current_core) BOARD=$(BOARD) BUILD_PROFILE_$(current_core)=$(current_profile);\
- )))
-
+ )))
allall:
$(foreach current_board, $(BOARD_LIST_ALL),\
$(MAKE) profiles_clean BOARD=$(current_board);\
)
+# $(ECHO) "all_firm_versions: HOSTCORE is $(HOSTCORE) CORE is $(CORE) PRUVERSION is $(pru_version)"; \
+
+all_firm_versions:
+ $(foreach pru_version, $(PRU_VERSION_LIST),\
+ $(MAKE) -f $(PDK_INSTALL_PATH)/ti/build/makefile all_firm HOSTCORE=$(HOSTCORE) CORE=$(CORE) PRUVERSION=$(pru_version); \
+ )
+
+# Build firmware targets for PRU cores which are defined in LIMIT_CORES only
+firm:
+ $(foreach pru_core, $(filter $(PRUCORE_LIST), $(LIMIT_CORES)),\
+ $(MAKE) -f $(PDK_INSTALL_PATH)/ti/build/makefile all_firm_versions HOSTCORE=$(CORE) CORE=$(pru_core); \
+ )
+
+lib: pdk_libs
+
+apps: examples
+app_libs: pdk_app_libs
+
+xdc_meta:
+ $(XDC) XDCBUILDCFG=config_mk.bld
+
+xdc_meta_clean:
+ $(XDC) clean XDCBUILDCFG=config_mk.bld
+
+doxygen:
+ifeq ($(DOXYGEN_SUPPORT),yes)
+ $(ECHO) Creating Doxygen API guide ...
+ @doxygen docs/Doxyfile
+else
+ $(ECHO) No Doxygen Support available ...
+endif
+
+clean_doxygen:
+ifeq ($(DOXYGEN_SUPPORT),yes)
+ $(ECHO) cleaned Doxygen API guide ...
+ $(RM) -rf docs/doxygen
+else
+ $(ECHO) No Doxygen Support available ...
+endif
+
+tar: lib firm xdc_meta doxygen
+ $(ECHO) Creating the Release Tar ball for $(COMP)...
+ $(XDC) clean XDCBUILDCFG=config_mk.bld
+ $(XDC) release XDCBUILDCFG=config_mk.bld
+ $(ECHO) please check $(COMP)/packages folder for the release tarball
+
#=================================================================
-#PDKs libs and tests
-$(pdk_PKG_LIST_ALL) $(pdk_DUP_EXAMPLE_LIST):
+#All PDKs libs and tests
+$(FINAL_PKG_LIST_ALL) $(FINAL_DUP_EXAMPLE_LIST):
$(if $(filter $(SOC), $(subst emptyreplacement,,$($@_SOCLIST))),\
$(if $(filter $(CORE), $(subst emptyreplacement,,$($@_$(SOC)_CORELIST))),\
$(if $(filter yes, $(subst emptyreplacement,,$($@_XDC_CONFIGURO))),\
$(if $(filter yes, $(subst emptyreplacement,,$($@_SBL_APPIMAGEGEN))),\
$(MAKE) -C $($@_PATH) $($@_MAKEFILE) sbl_appimagegen,),),))
-$(pdk_PKG_LIST_ALL_CLEAN) $(pdk_DUP_EXAMPLE_LIST_CLEAN):
+$(FINAL_PKG_LIST_ALL_CLEAN) $(FINAL_DUP_EXAMPLE_LIST_CLEAN):
$(if $(filter $(SOC), $(subst emptyreplacement,,$($(subst _clean,,$@)_SOCLIST))),\
$(MAKE) -C $($(subst _clean,,$@)_PATH) $($(subst _clean,,$@)_MAKEFILE) clean,\
$(if $(filter $(BOARD), $(subst emptyreplacement,,$($(subst _clean,,$@)_BOARDLIST))),\
$(MAKE) -C $($(subst _clean,,$@)_PATH) $($(subst _clean,,$@)_MAKEFILE) clean,))
-$(pdk_PKG_LIST_PACKAGE):
+$(FINAL_PKG_LIST_PACKAGE):
$(if $(filter $(SOC), $(subst emptyreplacement,,$($(subst _package,,$@)_SOCLIST))),\
$(MAKE) -C $($(subst _package,,$@)_PATH) $($(subst _package,,$@)_MAKEFILE) package,\
$(if $(filter $(BOARD), $(subst emptyreplacement,,$($(subst _package,,$@)_BOARDLIST))),\
#Below is used only for checking c++ build errors during development, not to be used for any other purpose
cplusplus_build:
- $(MAKE) all BUILD_PROFILE=debug CPLUSPLUS_BUILD=yes
+ +$(MAKE) -f $(PDK_INSTALL_PATH)/ti/build/makefile all BUILD_PROFILE=debug CPLUSPLUS_BUILD=yes
# Nothing beyond this point
diff --git a/packages/ti/build/makefile_non-buildinfra b/packages/ti/build/makefile_non-buildinfra
--- /dev/null
@@ -0,0 +1,184 @@
+#*******************************************************************************
+#* FILE PURPOSE: makefile for libraries/apps built using RTSC or legacy makefiles
+#* which are not supported in ti/build/component.mk
+#*******************************************************************************
+#* FILE NAME: makefile_non-buildinfra
+#*
+#*******************************************************************************
+include $(PDK_INSTALL_PATH)/ti/build/Rules.make
+
+# Parallel make is not supported for legacy targets
+.NOTPARALLEL:
+
+# The below is a list of drivers which are not supported by build infrastructure (ti/build/makefile)
+NON_BUILDINFRA_RTSC_DRIVERS_LIST_DRV = aif2 bcp cppi dfe fftc hyplnk iqn2 nwal pa qmss rm sa srio tcp3d tsip
+NON_BUILDINFRA_RTSC_DRIVERS_LIST_INSTR = traceframework pktlib wdtimer fault_mgmt
+NON_BUILDINFRA_RTSC_DRIVERS_LIST_RUNTIME = mmap
+NON_BUILDINFRA_RTSC_DRIVERS_LIST_DIAG =
+NON_BUILDINFRA_CUSTOM_DRIVERS_LIST = starterware transportqmss transportsrio
+
+# Applications
+NON_BUILDINFRA_RTSC_EXAMPLES_LIST_DIAG = serdes-diag
+NON_BUILDINFRA_CUSTOM_EXAMPLES_LIST = sbl board-diag
+
+# Make clean targets for these
+
+# clean targets for drivers
+NON_BUILDINFRA_RTSC_DRIVERS_LIST_DRV_CLEAN = $(addsuffix _clean, $(NON_BUILDINFRA_RTSC_DRIVERS_LIST_DRV))
+NON_BUILDINFRA_RTSC_DRIVERS_LIST_INSTR_CLEAN = $(addsuffix _clean, $(NON_BUILDINFRA_RTSC_DRIVERS_LIST_INSTR))
+NON_BUILDINFRA_RTSC_DRIVERS_LIST_RUNTIME_CLEAN = $(addsuffix _clean, $(NON_BUILDINFRA_RTSC_DRIVERS_LIST_RUNTIME))
+NON_BUILDINFRA_RTSC_DRIVERS_LIST_DIAG_CLEAN = $(addsuffix _clean, $(NON_BUILDINFRA_RTSC_DRIVERS_LIST_DIAG))
+NON_BUILDINFRA_CUSTOM_DRIVERS_LIST_CLEAN = $(addsuffix _clean, $(NON_BUILDINFRA_CUSTOM_DRIVERS_LIST))
+
+# clean targets for applications
+NON_BUILDINFRA_RTSC_EXAMPLES_LIST_DIAG_CLEAN = $(addsuffix _clean, $(NON_BUILDINFRA_RTSC_EXAMPLES_LIST_DIAG))
+NON_BUILDINFRA_CUSTOM_EXAMPLES_LIST_CLEAN = $(addsuffix _clean, $(NON_BUILDINFRA_CUSTOM_EXAMPLES_LIST))
+
+
+# Build rules (all, clean) for RTSC drivers in ti/drv/<driver>
+$(NON_BUILDINFRA_RTSC_DRIVERS_LIST_DRV):
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/drv/$@ all
+
+$(NON_BUILDINFRA_RTSC_DRIVERS_LIST_DRV_CLEAN):
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/drv/$(subst _clean,,$@) clean
+
+# Build rules (all, clean) for for RTSC drivers in ti/instrumentation/<driver>
+$(NON_BUILDINFRA_RTSC_DRIVERS_LIST_INSTR):
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/instrumentation/$@ all
+
+$(NON_BUILDINFRA_RTSC_DRIVERS_LIST_INSTR_CLEAN):
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/instrumentation/$(subst _clean,,$@) clean
+
+# Build rules (all, clean) for RTSC drivers in ti/runtime/<driver>
+$(NON_BUILDINFRA_RTSC_DRIVERS_LIST_RUNTIME):
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/runtime/$@ all
+
+$(NON_BUILDINFRA_RTSC_DRIVERS_LIST_RUNTIME_CLEAN):
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/runtime/$(subst _clean,,$@) clean
+
+# Build rules (all, clean) for RTSC modules in ti/diag/<modules>
+$(NON_BUILDINFRA_RTSC_DRIVERS_LIST_DIAG) $(NON_BUILDINFRA_RTSC_EXAMPLES_LIST_DIAG):
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/diag/$@ all
+
+$(NON_BUILDINFRA_RTSC_DRIVERS_LIST_DIAG_CLEAN) $(NON_BUILDINFRA_RTSC_EXAMPLES_LIST_DIAG_CLEAN):
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/diag/$(subst _clean,,$@) clean
+
+# SOC (PDK_SOC) specific drivers not supported by build infrastructure (ti/build/)
+NON_BUILDINFRA_DRIVERS_LIST_am335x = starterware
+NON_BUILDINFRA_DRIVERS_LIST_am437x = starterware
+NON_BUILDINFRA_DRIVERS_LIST_am437x-hs = starterware
+NON_BUILDINFRA_DRIVERS_LIST_am57xx =
+NON_BUILDINFRA_DRIVERS_LIST_am65xx =
+NON_BUILDINFRA_DRIVERS_LIST_am65xx-hs =
+NON_BUILDINFRA_DRIVERS_LIST_k2hk = bcp fault_mgmt fftc hyplnk nwal pa pktlib sa srio tcp3d transportqmss transportsrio wdtimer
+NON_BUILDINFRA_DRIVERS_LIST_k2e = fault_mgmt hyplnk nwal pa sa transportqmss tsip wdtimer
+NON_BUILDINFRA_DRIVERS_LIST_k2l = bcp dfe fault_mgmt fftc iqn2 nwal pa sa tcp3d transportqmss
+NON_BUILDINFRA_DRIVERS_LIST_k2g = cppi rm qmss sa mmap
+NON_BUILDINFRA_DRIVERS_LIST_k2g-hs = cppi rm qmss sa mmap
+NON_BUILDINFRA_DRIVERS_LIST_c667x = bcp cppi hyplnk nwal pa qmss sa srio tsip
+NON_BUILDINFRA_DRIVERS_LIST_c665x = cppi hyplnk qmss srio tcp3d
+NON_BUILDINFRA_DRIVERS_LIST_omapl137 =
+NON_BUILDINFRA_DRIVERS_LIST_omapl138 =
+NON_BUILDINFRA_DRIVERS_LIST_j7 =
+
+# SOC (PDK_SOC) specific examples/apps not supported by build infrastructure (ti/build/)
+NON_BUILDINFRA_EXAMPLES_LIST_am335x = board-diag
+NON_BUILDINFRA_EXAMPLES_LIST_am437x = board-diag
+NON_BUILDINFRA_EXAMPLES_LIST_am437x-hs = board-diag
+NON_BUILDINFRA_EXAMPLES_LIST_am57xx = sbl board-diag
+NON_BUILDINFRA_EXAMPLES_LIST_am65xx = board-diag
+NON_BUILDINFRA_EXAMPLES_LIST_am65xx-hs = board-diag
+NON_BUILDINFRA_EXAMPLES_LIST_k2hk = board-diag
+NON_BUILDINFRA_EXAMPLES_LIST_k2e = board-diag
+NON_BUILDINFRA_EXAMPLES_LIST_k2l = board-diag
+NON_BUILDINFRA_EXAMPLES_LIST_k2g = sbl board-diag
+NON_BUILDINFRA_EXAMPLES_LIST_k2g-hs = sbl board-diag
+NON_BUILDINFRA_EXAMPLES_LIST_c667x = board-diag
+NON_BUILDINFRA_EXAMPLES_LIST_c665x = board-diag
+NON_BUILDINFRA_EXAMPLES_LIST_omapl137 = sbl board-diag
+NON_BUILDINFRA_EXAMPLES_LIST_omapl138 = sbl board-diag
+NON_BUILDINFRA_EXAMPLES_LIST_j7 =
+
+NON_BUILDINFRA_DRIVERS_LIST_$(PDK_SOC)_CLEAN = $(addsuffix _clean, $(NON_BUILDINFRA_DRIVERS_LIST_$(PDK_SOC)))
+NON_BUILDINFRA_EXAMPLES_LIST_$(PDK_SOC)_CLEAN = $(addsuffix _clean, $(NON_BUILDINFRA_EXAMPLES_LIST_$(PDK_SOC)))
+
+################### Targets for this makefile ########################################
+.PHONY: $(NON_BUILDINFRA_RTSC_DRIVERS_LIST_DRV) \
+ $(NON_BUILDINFRA_RTSC_DRIVERS_LIST_RUNTIME) \
+ $(NON_BUILDINFRA_RTSC_DRIVERS_LIST_DIAG) \
+ $(NON_BUILDINFRA_RTSC_DRIVERS_LIST_INSTR) \
+ $(NON_BUILDINFRA_CUSTOM_DRIVERS_LIST) \
+ $(NON_BUILDINFRA_RTSC_DRIVERS_LIST_DRV_CLEAN) \
+ $(NON_BUILDINFRA_RTSC_DRIVERS_LIST_RUNTIME_CLEAN) \
+ $(NON_BUILDINFRA_RTSC_DRIVERS_LIST_DIAG_CLEAN) \
+ $(NON_BUILDINFRA_RTSC_DRIVERS_LIST_INSTR_CLEAN) \
+ $(NON_BUILDINFRA_CUSTOM_DRIVERS_LIS_CLEAN) \
+ all help clean help pdk_libs pdk_libs_clean pdk_examples pdk_examples_clean pdk_examples_core
+
+
+all: pdk_examples
+clean: pdk_libs_clean pdk_examples_clean
+
+#Examples depend on libs to be built first
+pdk_examples: pdk_libs
+ $(MAKE) -f $(PDK_INSTALL_PATH)/ti/build/makefile_non-buildinfra pdk_examples_core
+
+#Examples depend on libs to be built first
+
+pdk_libs: $(NON_BUILDINFRA_DRIVERS_LIST_$(PDK_SOC))
+pdk_libs_clean: $(NON_BUILDINFRA_DRIVERS_LIST_$(PDK_SOC)_CLEAN)
+
+pdk_examples_core: $(NON_BUILDINFRA_EXAMPLES_LIST_$(PDK_SOC))
+pdk_examples_clean: $(NON_BUILDINFRA_EXAMPLES_LIST_$(PDK_SOC)_CLEAN)
+
+help:
+ $(ECHO) "Builds drivers/apps which are not supported in $(PDK_INSTALL_PATH)/ti/build/makerules/component.mk "
+ $(ECHO) "Drivers built for SOC $(PDK_SOC) are $(NON_BUILDINFRA_DRIVERS_LIST_$(PDK_SOC))"
+ $(ECHO) "Examples built for SOC $(PDK_SOC) is $(NON_BUILDINFRA_EXAMPLES_LIST_$(PDK_SOC))"
+
+# Building SBL for a PDK_SOC
+SBL_PLATFORM =
+SBL_PLATFORM_am57xx = am57xx
+SBL_PLATFORM_k2g = k2g
+SBL_PLATFORM_omapl137 = omapl137
+SBL_PLATFORM_omapl138 = omapl138
+SBL_PLATFORM_am65xx = am65xx
+SBL_PLATFORM_am65xx-hs = am65xx
+SBL_PLATFORM_j721e-evm = j721e
+
+sbl:
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/boot/sbl all_sbl_images SBL_PLATFORM=$(SBL_PLATFORM_$(PDK_SOC))
+
+sbl_clean:
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/boot/sbl all_sbl_images_clean SBL_PLATFORM=$(SBL_PLATFORM_$(PDK_SOC))
+
+# TRANSPORTQMSS/SRIO
+transportqmss:
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/transport/ipc/c66/qmss all
+
+transportqmss_clean:
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/transport/ipc/c66/qmss clean
+
+
+transportsrio:
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/transport/ipc/c66/srio all
+
+transportsrio_clean:
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/transport/ipc/c66/srio clean
+
+
+board-diag:
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/board/diag all ALL_BOARDS="$(LIMIT_BOARDS)"
+
+board-diag_clean:
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/board/diag clean ALL_BOARDS="$(LIMIT_BOARDS)"
+
+# Building starterware
+STARTERWARE_PLATFORM_am335x = "am335x-evm"
+STARTERWARE_PLATFORM_am437x = "am43xx-evm"
+
+starterware:
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/starterware all_profiles -j1 PLATFORM=$(STARTERWARE_PLATFORM_$(PDK_SOC))
+
+starterware_clean:
+ $(MAKE) -C $(PDK_INSTALL_PATH)/ti/starterware clean KW_BUILD=no
index fa226224d80afbf1cdd8e34f7c810fadd4eb7bab..3e14ba4a23b9a89f75bb7b759a01b01faa2de252 100644 (file)
#
ifeq ($(pdk_component_make_include), )
-DEFAULT_tda2xx_CORELIST = a15_0 ipu1_0 c66x arp32_1
-DEFAULT_tda2px_CORELIST = a15_0 ipu1_0 c66x arp32_1
-DEFAULT_am572x_CORELIST = a15_0 ipu1_0 c66x
-DEFAULT_am574x_CORELIST = a15_0 ipu1_0 c66x
-DEFAULT_dra72x_CORELIST = a15_0 ipu1_0 c66x
-DEFAULT_dra75x_CORELIST = a15_0 ipu1_0 c66x arp32_1
-DEFAULT_tda2ex_CORELIST = a15_0 ipu1_0 c66x
-DEFAULT_am571x_CORELIST = a15_0 ipu1_0 c66x
-DEFAULT_tda3xx_CORELIST = ipu1_0 c66x arp32_1
-DEFAULT_dra78x_CORELIST = ipu1_0 c66x arp32_1
-DEFAULT_k2h_CORELIST = a15_0 c66x
-DEFAULT_k2k_CORELIST = a15_0 c66x
-DEFAULT_k2l_CORELIST = a15_0 c66x
-DEFAULT_k2e_CORELIST = a15_0 c66x
-DEFAULT_k2g_CORELIST = a15_0 c66x
-DEFAULT_c6678_CORELIST = c66x
-DEFAULT_c6657_CORELIST = c66x
-DEFAULT_am335x_CORELIST = a8host
-DEFAULT_am437x_CORELIST = a9host
-DEFAULT_omapl137_CORELIST = arm9_0 c674x
-DEFAULT_omapl138_CORELIST = arm9_0 c674x
-DEFAULT_am65xx_CORELIST = mcu1_0 mpu1_0
-DEFAULT_j721e_CORELIST = mpu1_0 mcu1_0 mcu1_1 mcu2_0 mcu2_1 mcu3_0 mcu3_1 c66xdsp_1 c66xdsp_2 c7x_1 c7x-hostemu
-DEFAULT_j7200_CORELIST = mpu1_0 mcu1_0 mcu1_1 mcu2_0 mcu2_1
-DEFAULT_am64x_CORELIST = mpu1_0 mcu1_0 mcu1_1 mcu2_0 mcu2_1 ipu1_0
-DEFAULT_k3_CORELIST = m3
+# Filter out PRU cores for building components
+DEFAULT_$(SOC)_CORELIST = $(filter-out $(CORE_LIST_PRU),$(CORE_LIST_$(SOC)))
# Core types (without the core IDs). This will be used to parse and order the establish the order of cores
# in the case of building libraries for multiple cores
-DEFAULT_CORE_TYPES = a15 ipu c66x arp32 a8host a9host c674x arm9 c7x c7x-hostemu mpu mcu
-
# Component specific CFLAGS
PDK_CFLAGS =
PDK_LNKFLAGS =
pdk_EXAMPLE_LIST += $(i2c_EXAMPLE_LIST)
endif
+ifneq ($(i2c_FIRM_LIST),)
+ pdk_FIRM_LIST += $(i2c_FIRM_LIST)
+endif
# - used to ignore include if component not present
-include $(PDK_UART_COMP_PATH)/uart_component.mk
ifneq ($(uart_LIB_LIST),)
ifneq ($(icss_emac_EXAMPLE_LIST),)
pdk_EXAMPLE_LIST += $(icss_emac_EXAMPLE_LIST)
endif
+ifneq ($(icss_emac_FIRM_LIST),)
+ pdk_FIRM_LIST += $(icss_emac_FIRM_LIST)
+endif
# - used to ignore include if component not present
-include $(PDK_EMAC_COMP_PATH)/emac_component.mk
pdk_EXAMPLE_LIST += $(board_diag_EXAMPLE_LIST)
endif
-pdk_PKG_LIST_ALL = $(pdk_EXAMPLE_LIST) $(pdk_LIB_LIST) $(pdk_APP_LIB_LIST) $(pdk_FIRM_LIST)
+# Adding new component to the packages/ti/build which is not part of the PDK.
+# An example would be some demo which is not built from packages/ti/build but
+# would still like to use the ti/build/ infrastructure
+
+ifeq ($($(COMP)_USE_PDK_BUILD),yes)
+include $($(COMP)_COMPONENT_MK_PATH)/$(COMP)_component.mk
+
+ifneq ($($(COMP)_LIB_LIST),)
+ pdk_LIB_LIST += $($(COMP)_LIB_LIST)
+endif
+
+ifneq ($($(COMP)_APP_LIB_LIST),)
+ pdk_APP_LIB_LIST += $($(COMP)_APP_LIB_LIST)
+endif
+
+ifneq ($($(COMP)_FIRM_LIST),)
+ pdk_FIRM_LIST += $($(COMP)_FIRM_LIST)
+endif
+
+ifneq ( $($(COMP)_EXAMPLE_LIST),)
+ pdk_EXAMPLE_LIST += $($(COMP)_EXAMPLE_LIST)
+endif
+
+endif
+pdk_PKG_LIST_ALL = $(pdk_EXAMPLE_LIST) $(pdk_LIB_LIST) $(pdk_APP_LIB_LIST) $(pdk_FIRM_LIST)
ifneq ($(CORE),$(filter $(CORE), pru_0 pru_1))
# By default it is little endian for non pru cores
index 658507330d8c04b346fde766265f61e343e56ab4..b70e88401d737453b844abc1c7f151eba4912b53 100644 (file)
# 1. a new Board/SoC is added, which also might have its own cores/ISAs
#
+# LIST of Boards for each SOC
+BOARD_LIST_k2h = evmK2H
+BOARD_LIST_k2k = evmK2K
+BOARD_LIST_k2l = evmK2L
+BOARD_LIST_k2e = evmK2E
+BOARD_LIST_c6657 = evmC6657
+BOARD_LIST_c6678 = evmC6678
+BOARD_LIST_k2g = evmK2G iceK2G
+BOARD_LIST_am335x = icev2AM335x iceAMIC110 skAM335x bbbAM335x
+BOARD_LIST_am437x = evmAM437x idkAM437x skAM437x
+BOARD_LIST_am571x = evmAM571x idkAM571x
+BOARD_LIST_am572x = evmAM572x idkAM572x
+BOARD_LIST_am574x = idkAM574x
+BOARD_LIST_omapl137 = evmOMAPL137
+BOARD_LIST_omapl138 = lcdkOMAPL138
+BOARD_LIST_am65xx = am65xx_evm am65xx_idk
+BOARD_LIST_j721e = j721e_evm
+BOARD_LIST_j7200 = j7200_evm
+
+CORE_LIST_tda2xx = a15_0 ipu1_0 c66x arp32_1
+CORE_LIST_tda2px = a15_0 ipu1_0 c66x arp32_1
+CORE_LIST_am571x = a15_0 ipu1_0 c66x pru_0 pru_1
+CORE_LIST_am572x = a15_0 ipu1_0 c66x pru_0 pru_1
+CORE_LIST_am574x = a15_0 ipu1_0 c66x pru_0 pru_1
+CORE_LIST_dra72x = a15_0 ipu1_0 c66x
+CORE_LIST_dra75x = a15_0 ipu1_0 c66x arp32_1
+CORE_LIST_tda2ex = a15_0 ipu1_0 c66x
+CORE_LIST_tda3xx = ipu1_0 c66x arp32_1
+CORE_LIST_dra78x = ipu1_0 c66x arp32_1
+CORE_LIST_k2h = a15_0 c66x
+CORE_LIST_k2k = a15_0 c66x
+CORE_LIST_k2l = a15_0 c66x
+CORE_LIST_k2e = a15_0 c66x
+CORE_LIST_k2g = a15_0 c66x pru_0 pru_1
+CORE_LIST_c6678 = c66x
+CORE_LIST_c6657 = c66x
+CORE_LIST_am335x = a8host pru_0 pru_1
+CORE_LIST_am437x = a9host pru_0 pru_1
+CORE_LIST_omapl137 = arm9_0 c674x
+CORE_LIST_omapl138 = arm9_0 c674x
+CORE_LIST_am65xx = mcu1_0 mcu1_1 mpu1_0 mpu1_1 mpu2_0 mpu2_1
+CORE_LIST_j721e = mpu1_0 mcu1_0 mcu1_1 mcu2_0 mcu2_1 mcu3_0 mcu3_1 c66xdsp_1 c66xdsp_2 c7x_1 c7x-hostemu
+CORE_LIST_j7200 = mpu1_0 mcu1_0 mcu1_1 mcu2_0 mcu2_1
+CORE_LIST_am64x = mpu1_0 mcu1_0 mcu1_1 mcu2_0 mcu2_1 ipu1_0
+CORE_LIST_k3_CORELIST = m3
+CORE_LIST_PRU = pru_0 pru_1
+
#
# Derive SOC from BOARD
#
-
# TDA2XX
ifeq ($(BOARD),$(filter $(BOARD), tda2xx-evm tda2xx-mc tda2xx-evm-radar tda2xx-rvp tda2xx-cascade-radar))
SOC = tda2xx
diff --git a/packages/ti/build/pdk_tools_path.mk b/packages/ti/build/pdk_tools_path.mk
--- /dev/null
@@ -0,0 +1,123 @@
+################################################################################
+# Configure toolchain paths
+################################################################################
+ # This section applies to all broader set of boards with SOCs beyond TDA class
+ # in Processor SDK RTOS release
+ PDK_VERSION_STR=_$(PDK_SOC)_$(PDK_VERSION)
+ifeq ($(PDK_VERSION),)
+ PDK_VERSION_STR=
+endif
+
+ #Tool versions for non-TDA builds
+ GCC_CROSS_TOOL_PREFIX=arm-none-eabi-
+ GCC_CROSS_TOOL_TAG=7-2018-q2-update
+ GCC_ARCH64_VERSION=7.2.1-2017.11
+ CGT_VERSION=8.3.2
+
+ CGT_C7X_VERSION=1.2.0.STS
+ CGT_ARM_VERSION=18.12.1.LTS
+ GCC_VERSION_HARDLIB=7.3.1
+
+ CGT_ARP32_VERSION=1.0.8
+ CG_XML_VERSION=2.61.00
+
+ #Component versions for non-TDA builds
+ BIOS_VERSION=6_76_03_01
+ XDC_VERSION=3_55_02_22_core
+
+ EDMA_VERSION=2_12_05_30E
+ SECDEV_VERSION=01_06_00_05
+ CGT_PRU_VERSION=2.3.2
+
+ #Hardcode IPC version if it is not set already
+ IPC_VERSION=3_50_04_08
+ NDK_VERSION=3_61_01_01
+ NS_VERSION=2_60_01_06
+
+ UIA_VERSION=2_30_01_02
+ XDAIS_VERSION=7_24_00_04
+ AER_VERSION=17_0_0_0
+
+ # C674x DSP libraries sould be used for OMAPL13x platform
+ifeq ($(SOC),$(filter $(SOC), omapl137 omapl138))
+ DSPLIB_VERSION ?= c674x_3_4_0_4
+ IMGLIB_VERSION ?= c674x_3_1_1_0
+ MATHLIB_VERSION ?= c674x_3_1_2_4
+else
+ DSPLIB_VERSION ?= c66x_3_4_0_4
+ IMGLIB_VERSION ?= c66x_3_1_1_0
+ MATHLIB_VERSION ?= c66x_3_1_2_4
+endif
+
+ export GCC_FLOAT_PATH ?= HARD
+
+################################################################################
+# Dependent toolchain paths variables
+################################################################################
+# Version of GCC
+GCC_VERSION=$(GCC_CROSS_TOOL_PREFIX)$(GCC_CROSS_TOOL_TAG)
+GCC_VERSION_ARM_A15=$(GCC_CROSS_TOOL_PREFIX)$(GCC_CROSS_TOOL_TAG)
+ export GCC_VERSION_ARM_A8=$(GCC_CROSS_TOOL_PREFIX)$(GCC_CROSS_TOOL_TAG)
+ export GCC_VERSION_ARM_A9=$(GCC_CROSS_TOOL_PREFIX)$(GCC_CROSS_TOOL_TAG)
+ export CROSS_TOOL_PRFX ?= $(GCC_CROSS_TOOL_PREFIX)
+ export C6X_GEN_INSTALL_PATH ?= $(TOOLS_INSTALL_PATH)/ti-cgt-c6000_$(CGT_VERSION)
+ export C7X_GEN_INSTALL_PATH ?= $(TOOLS_INSTALL_PATH)/ti-cgt-c7000_$(CGT_C7X_VERSION)
+ export CL_PRU_INSTALL_PATH ?= $(TOOLS_INSTALL_PATH)/ti-cgt-pru_$(CGT_PRU_VERSION)
+ export TOOLCHAIN_PATH_A8 ?= $(TOOLS_INSTALL_PATH)/gcc-$(GCC_VERSION_ARM_A8)
+ export TOOLCHAIN_PATH_A9 ?= $(TOOLS_INSTALL_PATH)/gcc-$(GCC_VERSION_ARM_A9)
+ export TOOLCHAIN_PATH_Arm9 ?= $(TOOLS_INSTALL_PATH)/ti-cgt-arm_$(CGT_ARM_VERSION)
+ export TOOLCHAIN_PATH_A15 ?= $(TOOLS_INSTALL_PATH)/gcc-$(GCC_VERSION_ARM_A15)
+ifeq ($(OS),Windows_NT)
+ #Paths for windows machine
+ export TOOLCHAIN_PATH_GCC_ARCH64 ?= $(TOOLS_INSTALL_PATH)/gcc-linaro-$(GCC_ARCH64_VERSION)-i686-mingw32_aarch64-elf
+else
+ #Paths for linux machine
+ export TOOLCHAIN_PATH_GCC_ARCH64 ?= $(TOOLS_INSTALL_PATH)/gcc-linaro-$(GCC_ARCH64_VERSION)-x86_64_aarch64-elf
+
+ export TOOLCHAIN_PATH_QNX_A72 ?= $(QNX_HOST)/usr/bin
+ export TOOLCHAIN_PATH_A53 ?= $(TOOLCHAIN_PATH_GCC_ARCH64)
+ export TOOLCHAIN_PATH_A72 ?= $(TOOLCHAIN_PATH_GCC_ARCH64)
+ export TOOLCHAIN_PATH_EVE ?= $(TOOLS_INSTALL_PATH)/arp32_$(CGT_ARP32_VERSION)
+ export TOOLCHAIN_PATH_M4 ?= $(TOOLS_INSTALL_PATH)/ti-cgt-arm_$(CGT_ARM_VERSION)
+ export TOOLCHAIN_PATH_R5 ?= $(TOOLS_INSTALL_PATH)/ti-cgt-arm_$(CGT_ARM_VERSION)
+ export BIOS_INSTALL_PATH ?= $(SDK_INSTALL_PATH)/bios_$(BIOS_VERSION)
+ export DSPLIB_INSTALL_PATH ?= $(SDK_INSTALL_PATH)/dsplib_$(DSPLIB_VERSION)
+ export EDMA3LLD_BIOS6_INSTALLDIR ?= $(SDK_INSTALL_PATH)/edma3_lld_$(EDMA_VERSION)
+ export IMGLIB_INSTALL_PATH ?= $(SDK_INSTALL_PATH)/imglib_$(IMGLIB_VERSION)
+ export IPC_INSTALL_PATH ?= $(SDK_INSTALL_PATH)/ipc_$(IPC_VERSION)
+ export MATHLIB_INSTALL_PATH ?= $(SDK_INSTALL_PATH)/mathlib_$(MATHLIB_VERSION)
+ export NDK_INSTALL_PATH ?= $(SDK_INSTALL_PATH)/ndk_$(NDK_VERSION)
+ export NS_INSTALL_PATH ?= $(SDK_INSTALL_PATH)/ns_$(NS_VERSION)
+ export PDK_INSTALL_PATH ?= $(SDK_INSTALL_PATH)/pdk$(PDK_VERSION_STR)/packages
+ export UIA_INSTALL_PATH ?= $(SDK_INSTALL_PATH)/uia_$(UIA_VERSION)
+ export XDC_INSTALL_PATH ?= $(SDK_INSTALL_PATH)/xdctools_$(XDC_VERSION)
+ export UTILS_INSTALL_DIR ?= $(XDC_INSTALL_PATH)/bin
+ export RADARLINK_INSTALL_PATH ?= $(SDK_INSTALL_PATH)/$(mmwavelink_version)
+ export CG_XML_BIN_INSTALL_PATH ?= $(SDK_INSTALL_PATH)/cg_xml_$(CG_XML_VERSION)/bin
+ export TI_SECURE_DEV_PKG ?= $(SDK_INSTALL_PATH)/proc-sdk-secdev_$(SECDEV_VERSION)
+ export XDAIS_INSTALL_PATH ?= $(SDK_INSTALL_PATH)/xdais_$(XDAIS_VERSION)
+ export AER_INSTALL_PATH ?= $(SDK_INSTALL_PATH)/aer_c64Px_obj_$(AER_VERSION)
+ export GCC_ARM_NONE_TOOLCHAIN ?= $(SDK_INSTALL_PATH)/gcc-$(GCC_CROSS_TOOL_PREFIX)$(GCC_CROSS_TOOL_TAG)
+ export TI_CGT6x_INSTALL_DIR ?= $(SDK_INSTALL_PATH)/c6000_7.4.16
+ export M4_TOOLCHAIN_INSTALL_DIR ?= $(TOOLCHAIN_PATH_M4)
+endif
+
+ifeq ($(SOC),$(filter $(SOC), am335x))
+ export HARDLIB_PATH ?= $(TOOLCHAIN_PATH_A8)/lib/gcc/arm-none-eabi/$(GCC_VERSION_HARDLIB)/hard
+ export FPULIB_PATH ?= $(TOOLCHAIN_PATH_A8)/lib/gcc/arm-none-eabi/$(GCC_VERSION_FPULIB)/fpu
+else ifeq ($(SOC),$(filter $(SOC), am437x))
+ export HARDLIB_PATH ?= $(TOOLCHAIN_PATH_A9)/lib/gcc/arm-none-eabi/$(GCC_VERSION_HARDLIB)/hard
+ export FPULIB_PATH ?= $(TOOLCHAIN_PATH_A9)/lib/gcc/arm-none-eabi/$(GCC_VERSION_FPULIB)/fpu
+else
+ export HARDLIB_PATH ?= $(TOOLCHAIN_PATH_A15)/lib/gcc/arm-none-eabi/$(GCC_VERSION_HARDLIB)/hard
+ export FPULIB_PATH ?= $(TOOLCHAIN_PATH_A15)/lib/gcc/arm-none-eabi/$(GCC_VERSION_FPULIB)/fpu
+endif
+
+# Utilities directory. This is required only if the build machine is Windows.
+# - specify the installation directory of utility which supports POSIX commands
+# (eg: Cygwin installation or MSYS installation).
+# This could be in CCS install directory as in c:/ti/ccsv<ver>/utils/cygwin or
+# the XDC install bin folder represented by $(UTILS_INSTALL_DIR)
+ifeq ($(OS),Windows_NT)
+ export utils_PATH ?= $(UTILS_INSTALL_DIR)
+endif
diff --git a/packages/ti/transport/ndk/nimu/nimu_component.mk b/packages/ti/transport/ndk/nimu/nimu_component.mk
index 65782db54670673d4cd664eff1e3ee3f373c891f..e22e98ea1a65e4723998441ee603692f7cb74880 100644 (file)
export nimu_icssg_OBJPATH
nimu_icssg_MAKEFILE = -f build/makefile_icssg.mk
export nimu_icssg_MAKEFILE
+# NIMU ICSSG depends on emac/icssg_dualmac firmware to be built. The below ensures emac as a dependency
+nimu_icssg_DEPENDS_ON=emac
+export nimu_icssg_DEPENDS_ON
+
nimu_icssg_BOARD_DEPENDENCY = no
nimu_icssg_CORE_DEPENDENCY = no
nimu_icssg_SOC_DEPENDENCY = yes
export nimu_icssg_profile_OBJPATH
nimu_icssg_profile_MAKEFILE = -f build/makefile_icssg_profile.mk
export nimu_icssg_profile_MAKEFILE
+# NIMU ICSSG depends on emac/icssg_dualmac firmware to be built. The below ensures emac as a dependency
+nimu_icssg_profile_DEPENDS_ON=emac
+export nimu_icssg_profile_DEPENDS_ON
nimu_icssg_profile_BOARD_DEPENDENCY = no
nimu_icssg_profile_CORE_DEPENDENCY = no
nimu_icssg_profile_SOC_DEPENDENCY = yes
diff --git a/packages/ti/transport/ndk/nimu/src/v7/src_files_v7.mk b/packages/ti/transport/ndk/nimu/src/v7/src_files_v7.mk
index 6f5afbfb32b91f89ba21a599b256329105c65d8c..e20d645d2ce3500fb58883cb4f400af8ff11ee7b 100644 (file)
SRCDIR += src src/v7
INCDIR += src src/v7
+
ifeq ($(CORE),$(filter $(CORE), mcu1_0 mcu1_1 mcu2_0 mcu2_1))
INCDIR += $(bios_PATH)/packages/ti/posix/ccs
endif