Tool/software: Code Composer Studio
Affected Version: CCSv8 (Version: 8.1.0.201805221500 Build id: N201805221500)
Summary: "Rebuild Project" won't 'clean' prior to 'all' with external makefile
Steps to Reproduce:
1) Create a new CCS project in CCSv8 (empty with main.c)
2) Build it to generate the makefiles
3) In project properties, go to 'Build' and deselect "Generate Makefiles automatically"
4) Right click on the project in the Project Explorer and select "Rebuild Project"
Expected Results:
"C:\\ti\ccsv8\\utils\\bin\\gmake" -k -j 8 clean -O
"C:\\ti\ccsv8\\utils\\bin\\gmake" -k -j 8 all -O
Actual Results:
"C:\\ti\\ccsv8\\utils\\bin\\gmake" -k -j 8 all -O
Comments:
It seems that CCSv8 tries to do some smart things here and detect whether a 'clean' actually is needed.
It can be seen via a project that generates makefiles automatically by running: "Clean Project" followed by a "Rebuild Project".
The result is that the rebuild step only calls the 'all' recipe, and never the 'clean'.
However, when we use an external makefile it does not know how to detect whether the project is already 'clean'ed, and therefore
takes the wrong action of not 'clean'ing it.
Our team is currently running CCSv6 and are looking into upgrading to CCSv8. This regression is currently stopping us from upgrading
since it affects our workflow. The expected result from "Rebuild Project" is that it should always do a 'clean' first,
or at least be very smart about skipping it.
Another way to solve this might be giving the user some way of indicating to CCS whether it actually needs a clean,
like calling a script to determine this.
This seems to work correctly in CCSv6. I have not tried CCSv7.