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.

CCS 5.5 Error Parser in Pre-Build makefile.targets

Hi

I am using CCS 5.5.

I have a makefile.targets which defines depandancies for the pre-build step. If this makefile.targets fails (because of no rule to make target for example), the error parser does not report the remark that I can quite clearly see is in my console output.

Can I get the error parser to parse the pre-build makefile.targets output?

Regards, Tony.

  • Hi,

    Is this a particularly knotty problem or has it just been missed?

    Regards, Tony =8¬)

  • Tony,

    By default we only have the error parsers on for the TI build tools (compiler, assembler, linker).  I bet that turning on an additional parser would pick up this error.

    These settings are a bit buried.

    Go to your project properties and click on show advanced settings at the bottom.

    Then go to C/C++ Build -> Settings.  You can then click on the error parser tab and enable the parser for gmake.

    Regards,

    John

  • Hi John,

    Turning on this error parser does indeed display errors/warnings from my pre-build batch file and makefile.targets in the problems window.

    Unfortunately, they are only visible until the TI build tool error parsers complete, at which point the problems window is refreshed and these gmake problems are lost.

    I can't see how to prevent this. I tried moving the gmake error parser to the top of the list you describe, but this made no difference.

    Regards, Tony

  • What if you select the option to stop on the first error?

  • Hi John,

    Interestingly, that has no effect! The build continues even if I report an error from the makefile.targets. I guess this setting only applies to the TI tools?

    Regards, Tony

  • Unfortunately it must only apply to what Eclipse calls the "toolchain".  Pre and post build steps are treated separately and I can't see anything that explicitly allows you to halt if these fail.  

  • Hi John,

    I don't really want to halt anyway. That technique would really only be applicable to errors, not warnings.

    Interesting.

    I had the binary TI Coff Parser selected for some reason. Disabling this doesn't have an impact either.

    I can't see any other settings that might affect this behaviour.

    Regards, Tony

  • Try upgrading to CCS v6.0.1.  The TI error parser now recognizes the "No rule to make target" make error.

    - Baltasar

  • Hi Baltasar,

    That would be a solution for one of my problems, specifically the "No rule to make target", but not the others.

    However, we've just tried CCS 6.0.1.00040 with only the three TI error parsers (C/C++, Link, ASM) turned on. We can see "No rule to make target" in the console window, but there is no problem or advice reported.

    I would still have the basic problem that I want custom errors/warning and remarks in my pre-build batch file and makefile.targets which still wouldn't be handled. I can get them parsed by the gmake parser but then they are overwritten.

    Regards, Tony

  • Hi,

    Lisa TI verified this answer, but unfortunately it didn't resolve my question (see subsequent post I made), so I have rejected it.

    Regards, Tony.

  • I think I am seeing the same problem with CCS 5.5.0.00077. I modify subdir_rules.mk to also run pc-lint when the TI 28x compiler runs. I format the lint output such that it matches the CDT GNU C/C++ Error Parser and enable this parser. The console window highlights the matched CDT messages but they don't show up in Problems and double clicking on the console line does not take me to the code. I tried changing the order of the CDT and TI parsers and it doesn't make a difference. If I disable the TI C/C++ Error parser the messages matched by CDT work fine, but I'd prefer to also run the TI error parser. (I plan to give the MISRA checker another chance.)

    Notice, I am running PC-LInt during the build, not the pre-build. The Console window highlighting shows that the error parsers are correctly matching. It seems like the error parsers aren't running in the correct order or the TI parser resets the Problems. 

    The project I am working on has multiple developers and I don't think changing to CCS6 is an option at this point in the development.

  • If you disable the TI Error Parser, the messages from the other parser will probably work fine or at least they did for me. The order of the parsers didn't matter but turning off the TI parser allowed the other one to work. Not a great solution, but for now it works for me. (Until I find a TI message that gives more info than the Lint message.)

  • Another improvement for the TI Error Parser would be to relax the message matching. I can get my other tool to spit out messages, but the TI Error Parser only

    1. matches "error" and "warning"with lower case 'e','w' and my tools uses 'E', 'W''. The CDT error parser uses a more forgiving regular expression [Ee], [Ww]

    2. matches filenames like ..\crc_load instead of ../crc_load. The CDT error parser uses (.*?) and will accept either slash, the TI Error Parser only works with /.

    Relaxing the match in the TI error parser would avoid the problems seen running multiple error parsers. 

  • I just noticed that when I don't run the TI Error Parser and build several times the errors matched by the CDT error parser don't clear out of the problem window. It looks to me like the TI error parser clears existing problems whenever it runs, which explains why previous parser output disappears. It also points the way to the fix.