This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
HI...
How we can use cygnus cygwin make utility in CCS code compilation??
It depends on what exactly you are trying to do. If you are trying to build the CCS generated makefiles, I suggest you use the gmake version that comes with CCS. Those makefiles had some issues when using other versions of gmake.
If you are creating your own custom makefiles which use the TI compilers, then sure. You can use the make utility of your choice.
Thanks
ki
Hi Lee,
Thanks for your reply.
Actually I'm trying ti build SMV code (provided by TELOGY Networks, Inc.). In their readme they are saying to use "Cygnus Cygwin V. B20, which includes unix utilities as well as the 'make' ". And we are using CCS V2.2.
But now I installed the latest cygwin, with this i'm getting some make file errors. Following are my doubts:
1. If we use latest make, do we have to change the make file to support the latest make version?
2. Is there any way to change this build procedure to use CCS IDE with the help of that make file?
Attached read me for your refernce.
SMV Source Code delivery Tools required to build the code: 1) Texas Instruments Code Composer Studio version 2.20, compiler version 4.36. 2) Cygnus Cygwin V. B20, which includes unix utilities as well as the 'make' program. 3) Microsoft Windows NT 4.0, Windows 2000, or Windows XP. 4) Clearcase ccperl Build 110, or Active Perl ActivePerl-5.6.1.633-MSWin32-x86 Recommended Hardware Emulator: 1) Texas Instruments TMS320C6416 TEB Directory Structure: The directory structure is as follows: \SMV_XDAIS2_SRC_REL210_ROOTDIR \smv \c64x\make # makefile \source # SMV Source files \xdais # SMV xDAIS Interface files \docs # Documents \tstsrc # Test Benches \testvecs # Test Vectors \mkrel # Build makefiles \readme.txt # this file \SMV_XDAIS2_SRC_REL210_Sample_Build Directory SMV_XDAIS2_SRC_REL210_ROOTDIR contains the sources. Directory SMV_XDAIS2_SRC_REL210_Sample_Build contains a copy of SMV_XDAIS2_SRC_REL210_ROOTDIR where SMV has been built. Tools configuration: Locate file SMV_XDAIS2_SRC_REL210_ROOTDIR\mkrel\cygwin32.bat. The file cygwin32.bat configures the windows environment for builds. This batch file contains the following path statement: set PATH=c:\tools\c6xx\cgen436\c6000\cgtools\bin; set PATH=%PATH%;c:\tools;t:\gen\gnu\99-11-01\cygwin-b20\H-i586-cygwin32\bin; set PATH=%PATH%;c:\winnt\system32;c:\winnt; set PATH=%PATH%;c:\apln\atria\bin;c:\progra~1\Rational\clearcase\bin Replace "c:\tools\c6xx\cgen436\c6000\cgtools\bin" with the directory containing cl6x.exe provided in the 4.36 tools distribution. Replace "c:\tools" with a directory containing 'makedep.exe'. This utility can be found in \SMV_XDAIS2_SRC_REL210_ROOTDIR\mkrel\makedep.exe. Replace "t:\gen\gnu\99-11-01\cygwin-b20\H-i586-cygwin32\bin" with your installation of Cygnus Cygwin V. B20. This directory contains the 'make.exe' program. If using Active Perl, instead of clearcase perl, uncomment the two lines set PERL=//c/perl/bin/perl set PERLDOS=c:\perl\bin\perl and comment out the two lines set PERL=//c/apln/atria/bin/ccperl set PERLDOS=c:\apln\atria\bin\ccperl If necessary replace "c:\winnt\system32" and "c:\winnt" with the locations of your winnt files. Windows XP works if you change "winnt" to "windows". "c:\apln\atria\bin" can be replaced with any other utilities you need in the path. We trim the path down to the bare minimum to speed up the build process and to make sure the correct utilities are called from within make. Change & Build Procedure The SMV application is built from sources provided in the release. 1. Modify desired files in their home directories. 2. Configure environment: \EVRC_XDAIS2_SRC_REL210_ROOTDIR\mkrel> cygwin32 bypass This operation only has to be done once after each DOS window is created. 3. At command prompt go to smv\c64x\make. Execute the command as specified below make test ENDIAN=LITTLE FLAT=YES (for Little Endian 20msec build) make test ENDIAN=BIG FLAT=YES (for Big Endian 20msec build) make test ENDIAN=LITTLE SPLIT=10MS FLAT=YES (for Little Endian 10msec build) make test ENDIAN=BIG SPLIT=10MS FLAT=YES (for Big Endian 10msec build) This will produce the out files in the directory \SMV_XDAIS2_SRC_REL210_ROOTDIR\smv\c64x\make\flat\ Note: This will create a single full duplex library (smv_tii.l64) for the corresponding build. To create seperate encoder/Decoder libraries(smvenc_tii.l64 and smvdec_tii.l64), execute the command as specified below: make test ENDIAN=LITTLE XDAIS=YES FLAT=YES (for Little Endian 20msec build) make test ENDIAN=BIG XDAIS=YES FLAT=YES (for Big Endian 20msec build) make test ENDIAN=LITTLE SPLIT=10MS XDAIS=YES FLAT=YES (for Little Endian 10msec build) make test ENDIAN=BIG SPLIT=10MS XDAIS=YES FLAT=YES (for Big Endian 10msec build) Finally, the build procedure makes no assumptions about the root directory. The name "SMV_XDAIS2_SRC_REL210_ROOTDIR" may be shortened, and/or placed somewhere other than the root of a specific drive.
@echo off rem (C) Copyright 2001 TELOGY Networks, Inc. rem We can use either the clearcase version of perl "ccperl", or the rem cygwin version of perl, "perl". Under windows, "ccperl" is MUCH faster. rem Make sure path defined in next sextion contains your selected version. rem If no perl is available, then set to blank. This will disable tools rem validation and command line validation. rem rem Use this if you want to use clearcase perl set PERL=ccperl set PERLDOS=ccperl rem Use this if you want to use active perl rem set PERL=//c/perl/bin/perl rem PERLDOS=c:\perl\bin\perl rem ************************** Environment Configuration ********************* rem Configure the environment variables for DSP builds rem ************************************************************************** rem MAKE_MODE=WINDOWS|UNIX tells GNU make to use CMD.EXE or SH.EXE set MAKE_MODE=WINDOWS rem CYGWIN sets default options for all cygnus gnu ports set CYGWIN= rem Set a defined path which has no other compilers or unix tools rem the makefiles will specify tools with their whole path, but the tools rem require themselves to be in the path to work right. rem rem This is done because windows does not hash the path, so path search rem performance is very poor. Lets avoid path searches. rem set PATH=c:\tools\c54x\ti-c\ccs1-20\cgtools\bin; set PATH=%PATH%;c:\tools\c5xx\ccs220\c5500\cgtools\bin; set PATH=%PATH%;c:\tools\c6xx\cgen436\c6000\cgtools\bin; set PATH=%PATH%;c:\tools;t:\gen\gnu\99-11-01\cygwin-b20\H-i586-cygwin32\bin; set PATH=%PATH%;c:\winnt\system32;c:\winnt;c:\windows;C:\windows\system32 set PATH=%PATH%;c:\apln\atria\bin;c:\progra~1\Rational\clearcase\bin rem r9.0 requires tools from ccs1-20. set TOOLC54XSRC=t:\c54x\ti-c\ccs1-20 set TOOLC54XDST=c:\tools\c54x\ti-c\ccs1-20 rem r9.1 requires C55X tools codegen 230. set TOOLC55XSRC=t:\c5xx\ccs220 set TOOLC55XDST=c:\tools\c5xx\ccs220 rem r9.0 requires linker from v3.65 set SRC365=t:\c54x\ti-c\3-65a set DST365=c:\tools\c54x\ti-c\3-65a rem currently tools ver 4.36 are being used for c64x set TOOLC64XSRC=T:\c6xx\cgen436\c6000 set TOOLC64XDST=c:\tools\c6xx\cgen436\c6000 rem following two lines is added to copy xdais&bios tools from ccs set TOOLCCSC64XSRC=T:\c6xx\ccs220\c6000 set TOOLCCSC64XDST=c:\tools\c6xx\ccs220\c6000 rem ************************* Tools Copy/Validation ************************** rem If the "bypass" option is not provided, validate/copy the tools rem ********************************************************************* if "%PERLDOS%" == "" goto environment rem ************************* Tools Copy/Validation ************************** rem If the "bypass" option is not provided, validate/copy the tools rem ********************************************************************* if "%1" == "bypass" goto environment rem check, but don't copy tools if "%1" == "" goto toolcheck rem copy tools if check fails if "%1" == "enable_write" goto toolcopy rem error: invalid argument echo =========================== INVALID ARGUMENT ============================ echo Option "%1" is invalid. Valid options are: echo "bypass": configure environment without checking tools echo "enable_write": *****ERASE***** all files in %TOOLDST%, echo and replace with correct tools echo =========================== INVALID ARGUMENT ============================ goto end :toolcheck echo Verifying local tools goto toolperl :toolcopy echo UPDATING local tools :toolperl %PERLDOS% cpytools.pl %TOOLC54XSRC% %TOOLC54XDST% %1 rem note: windows is stupid; "errorlevel 1" means "retval >= 1" if errorlevel 1 goto error %PERLDOS% cpytools.pl %TOOLC55XSRC% %TOOLC55XDST% %1 rem note: windows is stupid; "errorlevel 1" means "retval >= 1" if errorlevel 1 goto error %PERLDOS% cpytools.pl %SRC365% %DST365% %1 rem note: windows is stupid; "errorlevel 1" means "retval >= 1" if errorlevel 1 goto error %PERLDOS% cpytools.pl %TOOLC64XSRC% %TOOLC64XDST% %1 rem note: windows is stupid; "errorlevel 1" means "retval >= 1" if errorlevel 1 goto error %PERLDOS% cpytools.pl %TOOLCCSC64XSRC% %TOOLCCSC64XDST% %1 rem note: windows is stupid; "errorlevel 1" means "retval >= 1" if errorlevel 1 goto error echo Local tools are good. :environment rem Clean up variables which affect the tools to avoid side effects set C54X_A_DIR= set C54X_C_DIR= set C55X_A_DIR= set C55X_C_DIR= set C6X_C_DIR= set C6X_A_DIR= set A_DIR= set C_DIR= rem Path to tools, in unix format set TOOLSC54X=//c/tools/c54x/ti-c/ccs1-20 set TOOLSC55X=//c/tools/c5xx/ccs220/c5500 set TOOLSC64X=//c/tools/c6xx/cgen436/c6000 rem Path to tools, in DOS format set TOOLSC54XDOS=c:\tools\c54x\ti-c\ccs1-20 set TOOLSC55XDOS=c:\tools\c5xx\ccs220\c5500 set TOOLSC64XDOS=c:\tools\c6xx\cgen436\c6000 rem following line is added to use xdais&bios tools from ccs set TOOLSCCSC64XDOS=c:\tools\c6xx\ccs220\c6000 rem Path to 'makedep.exe', in UNIX format set TOOLSC54X365=//c/tools/c54x/ti-c/3-65a set TOOLSC54X365DOS=c:\tools\c54x\ti-c\3-65a set CYGWINPATH=//t/gen/gnu/99-11-01/cygwin-b20/H-i586-cygwin32/bin rem Generate path to makedep, then set it rm -f mkdeppath.bat sh -c "makedepdir=`pwd`;echo set MAKEDEPPATH=`dirname $makedepdir`/mkrel/makedep.exe" >mkdeppath.bat call mkdeppath.bat echo ================== ENVIRONMENT SUCESSFULLY CONFIGURED ================== goto end rem ************************** Bad Tools ************************************* rem Tools are bad; deconfigure environment and print error rem ************************************************************************** :error set TOOLS= set TOOLSDOS= set MAKEDEPPATH= echo ============================== BAD TOOLS ================================= echo * Build environment is NOT configured. You may rerun script with: echo * echo * %0 bypass echo * configure environment without checking tools. This option is echo * is used when the user will manually configure the tools. echo * echo * %0 enable_write echo * [*** DANGEROUS OPTION ***] echo * This option echo * 1) *** DANGER *** Recursively deletes all files in subdirectories echo * a. %DST365%, echo * b. %TOOLC54XDST%, echo * c. %TOOLC55XDST% and echo * d. %TOOLC64XDST% echo * 2) Copies correct tools from the subdirectories echo * a. %SRC365%, echo * b. %TOOLC54XSRC%, echo * c. %TOOLC55XSRC% and echo * d. %TOOLC64XSRC% echo * echo ============================== BAD TOOLS ================================= goto end :end rem remove unused environent variables set TOOLC54XDST= set TOOLC54XSRC= set TOOLC55XDST= set TOOLC55XSRC= set TOOLC64XSRC= set TOOLC64XDST= set TOOLCCSC64XSRC= set TOOLCCSC64XDST= set SRC365= set DST365= set TOOLS= set TOOLSDOS= set PERLDOS=
Varun,
Varun Rapelly said:1. If we use latest make, do we have to change the make file to support the latest make version?
Sorry, we cannot provide much insight here. We are not familiar with the SMV code and cannot make any comments about which make versions are compatible with the makefile provided
Varun Rapelly said:2. Is there any way to change this build procedure to use CCS IDE with the help of that make file?
The makefile support in CCSv2.2 is very limited. I suggest you build outside CCS and strictly use make and makefiles from the command line.
Thanks
ki