I've run into a bit of awkwardness when moving an example project from Linux to Windows (CCS 6.2) Here is what I did:
1) Import the project from the /opt/ti/... directory tree. I was careful to check the box to "copy the files to the project directory." I checked the source files and found that the C file which included main() had not been copied. I did this manually and then deleted the file from Project Explorer. After deleting the reference from the project, CCS picked up the file from the project directory and built without difficulty. I did not bother with support files such as F2837xD_CodeStartBranch.asm because I had no intention of modifying them.
2) Move the project to Windows (via git/bitbucket) and try to build. I get errors like:
gmake: *** No rule to make target 'C:/opt/ti/controlSUITE/device_support/F2837xD/v190/F2837xD_common/source/F2837xD_CodeStartBranch.asm', needed by 'F2837xD_CodeStartBranch.obj'.
This occurs for all support sources. Since the path starts with "C:/opt/ti/..." it is obvious that CCS did not create an installation independent reference for the files. Examining the file properties I see the file path is
PROJECT_LOC\..\..\..\..\..\..\..\opt\ti\controlSUITE\device_support\F2837xD\v190\F2837xD_common\source\F2837xD_CodeStartBranch.asm
It baffles me that the file is located relative to the project directory and not the installation directory since the file is in the installation path. It also hard codes part of the path that is system specific. Both of these make the project highly non-portable.
My knee jerk reaction is to suggest submitting two bug reports:
- Have CCS copy all source files to the project directory when the check box to copy sources is checked.
- Have CCS locate all files that are in the CCS install directory using a macro that specifies the install directory. ("PROJECT_LOC\..\..\..\..\..\..\..\" is ugly beyond words.)
If there are reasons for the behavior I have encountered, I'd be happy to hear them.
best,
hank