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.

CODECOMPOSER: Internal builder does not set name of output object files or assembler options

Part Number: CODECOMPOSER
Other Parts Discussed in Thread: TMS570LS1227, TMS570LS1224

I have set up a project to use the CCS internal builder.  I have a preference for the internal builder in Eclipse projects mostly since it prints concise output on the console, which is convenient for building large projects.

My project is set up using linked resources for all of the source code.  This is done because I will be building the source code using two separate compilers/IDE.  From the primary project folder I create a subfolder proj and then another folder below this for each IDE/compiler.  I do this because I am using the ARM DS and ARM compiler to build release firmware, but I am using CCS with a Linaro GCC compiler for development.

In my project I create a virtual folder src and linked folder to each directory in the parent that I want to build in my project.  I am also using the assembly source specified flag -xassembler-with-cpp to pre-compile the assembly so that I can use #define macros and #if/#elif/#else statements to switch behavior based on the specific project.

When I attempt to build this project with the internal builder, all of the source files are written to a file "%.o" in their respective output folder.  So basically every object file in the output folder is overwritten by the next with the filename %.o.  Additionally, I noticed that the assembly flag -xassembler-with-cpp is not being passed to the assembler.  Here is a sample of the output for a few files:

C:\Users\jsmith\gcc-linaro-7.5.0-2019.12-i686-mingw32_armeb-eabi\bin\armeb-eabi-gcc-7.5.0.exe -c -mcpu=cortex-r4 -march=armv7-r -marm -mfloat-abi=softfp -mfpu=vfpv3-d16 -fno-exceptions -DMCU_TMS570LS1227PGE -DTOOL_LINARO_GCC_ARM_7_5_0 -IC:/Users/jsmith/git/app_tms570_dev/tst_api/include -IC:/Users/jsmith/git/app_tms570_dev/lib/libc_common/include -IC:/Users/jsmith/git/app_tms570_dev/lib/libc_api/serial_tools/include -IC:/Users/jsmith/git/app_tms570_dev/lib/libc_common/include -IC:/Users/jsmith/git/app_tms570_dev/lib/libc_tms570/include -IC:/Users/jsmith/git/app_tms570_dev/lib/libc_tms570/reg_def -IC:/Users/jsmith/git/app_tms570_dev/lib/libc_arm/include -IC:/Users/jsmith/git/app_tms570_dev/lib/libc_util/include -IC:/Users/jsmith/gcc-linaro-7.5.0-2019.12-i686-mingw32_armeb-eabi/armeb-eabi/include -Og -ffunction-sections -fdata-sections -g -gdwarf-3 -gstrict-dwarf -Wall -specs=nosys.specs -mbig-endian -osrc\libc_util\c\%.o ..\..\..\lib\libc_util\src\c\u_random.c
C:\Users\jsmith\gcc-linaro-7.5.0-2019.12-i686-mingw32_armeb-eabi\bin\armeb-eabi-gcc-7.5.0.exe -c -mcpu=cortex-r4 -march=armv7-r -marm -mfloat-abi=softfp -mfpu=vfpv3-d16 -fno-exceptions -DMCU_TMS570LS1227PGE -DTOOL_LINARO_GCC_ARM_7_5_0 -IC:/Users/jsmith/git/app_tms570_dev/tst_api/include -IC:/Users/jsmith/git/app_tms570_dev/lib/libc_common/include -IC:/Users/jsmith/git/app_tms570_dev/lib/libc_api/serial_tools/include -IC:/Users/jsmith/git/app_tms570_dev/lib/libc_common/include -IC:/Users/jsmith/git/app_tms570_dev/lib/libc_tms570/include -IC:/Users/jsmith/git/app_tms570_dev/lib/libc_tms570/reg_def -IC:/Users/jsmith/git/app_tms570_dev/lib/libc_arm/include -IC:/Users/jsmith/git/app_tms570_dev/lib/libc_util/include -IC:/Users/jsmith/gcc-linaro-7.5.0-2019.12-i686-mingw32_armeb-eabi/armeb-eabi/include -Og -ffunction-sections -fdata-sections -g -gdwarf-3 -gstrict-dwarf -Wall -specs=nosys.specs -mbig-endian -osrc\libc_arm\s\%.o ..\..\..\lib\libc_arm\src\s\arm_init.s
C:\Users\jsmith\gcc-linaro-7.5.0-2019.12-i686-mingw32_armeb-eabi\bin\armeb-eabi-gcc-7.5.0.exe -c -mcpu=cortex-r4 -march=armv7-r -marm -mfloat-abi=softfp -mfpu=vfpv3-d16 -fno-exceptions -DMCU_TMS570LS1227PGE -DTOOL_LINARO_GCC_ARM_7_5_0 -IC:/Users/jsmith/git/app_tms570_dev/tst_api/include -IC:/Users/jsmith/git/app_tms570_dev/lib/libc_common/include -IC:/Users/jsmith/git/app_tms570_dev/lib/libc_api/serial_tools/include -IC:/Users/jsmith/git/app_tms570_dev/lib/libc_common/include -IC:/Users/jsmith/git/app_tms570_dev/lib/libc_tms570/include -IC:/Users/jsmith/git/app_tms570_dev/lib/libc_tms570/reg_def -IC:/Users/jsmith/git/app_tms570_dev/lib/libc_arm/include -IC:/Users/jsmith/git/app_tms570_dev/lib/libc_util/include -IC:/Users/jsmith/gcc-linaro-7.5.0-2019.12-i686-mingw32_armeb-eabi/armeb-eabi/include -Og -ffunction-sections -fdata-sections -g -gdwarf-3 -gstrict-dwarf -Wall -specs=nosys.specs -mbig-endian -osrc\libc_tms570\c\C:\Users\jsmith\gcc-linaro-7.5.0-2019.12-i686-mingw32_armeb-eabi\bin\armeb-eabi-gcc-7.5.0.exe -c -mcpu=cortex-r4 -march=armv7-r -marm -mfloat-abi=softfp -mfpu=vfpv3-d16 -fno-exceptions -DMCU_TMS570LS1227PGE -DTOOL_LINARO_GCC_ARM_7_5_0 -IC:/Users/jsmith/git/app_tms570_dev/tst_api/include -IC:/Users/jsmith/git/app_tms570_dev/lib/libc_common/include -IC:/Users/jsmith/git/app_tms570_dev/lib/libc_api/serial_tools/include -IC:/Users/jsmith/git/app_tms570_dev/lib/libc_common/include -IC:/Users/jsmith/git/app_tms570_dev/lib/libc_tms570/include -IC:/Users/jsmith/git/app_tms570_dev/lib/libc_tms570/reg_def -IC:/Users/jsmith/git/app_tms570_dev/lib/libc_arm/include -IC:/Users/jsmith/git/app_tms570_dev/lib/libc_util/include -IC:/Users/jsmith/gcc-linaro-7.5.0-2019.12-i686-mingw32_armeb-eabi/armeb-eabi/include -Og -ffunction-sections -fdata-sections -g -gdwarf-3 -gstrict-dwarf -Wall -specs=nosys.specs -mbig-endian -osrc\libc_util\c\%.o ..\..\..\lib\libc_util\src\c\u_random.c
C:\Users\jsmith\gcc-linaro-7.5.0-2019.12-i686-mingw32_armeb-eabi\bin\armeb-eabi-gcc-7.5.0.exe -c -mcpu=cortex-r4 -march=armv7-r -marm -mfloat-abi=softfp -mfpu=vfpv3-d16 -fno-exceptions -DMCU_TMS570LS1227PGE -DTOOL_LINARO_GCC_ARM_7_5_0 -IC:/Users/jsmith/git/app_tms570_dev/tst_api/include -IC:/Users/jsmith/git/app_tms570_dev/lib/libc_common/include -IC:/Users/jsmith/git/app_tms570_dev/lib/libc_api/serial_tools/include -IC:/Users/jsmith/git/app_tms570_dev/lib/libc_common/include -IC:/Users/jsmith/git/app_tms570_dev/lib/libc_tms570/include -IC:/Users/jsmith/git/app_tms570_dev/lib/libc_tms570/reg_def -IC:/Users/jsmith/git/app_tms570_dev/lib/libc_arm/include -IC:/Users/jsmith/git/app_tms570_dev/lib/libc_util/include -IC:/Users/jsmith/gcc-linaro-7.5.0-2019.12-i686-mingw32_armeb-eabi/armeb-eabi/include -Og -ffunction-sections -fdata-sections -g -gdwarf-3 -gstrict-dwarf -Wall -specs=nosys.specs -mbig-endian -osrc\libc_arm\s\%.o ..\..\..\lib\libc_arm\src\s\arm_init.s
C:\Users\jsmith\gcc-linaro-7.5.0-2019.12-i686-mingw32_armeb-eabi\bin\armeb-eabi-gcc-7.5.0.exe -c -mcpu=cortex-r4 -march=armv7-r -marm -mfloat-abi=softfp -mfpu=vfpv3-d16 -fno-exceptions -DMCU_TMS570LS1227PGE -DTOOL_LINARO_GCC_ARM_7_5_0 -IC:/Users/jsmith/git/app_tms570_dev/tst_api/include -IC:/Users/jsmith/git/app_tms570_dev/lib/libc_common/include -IC:/Users/jsmith/git/app_tms570_dev/lib/libc_api/serial_tools/include -IC:/Users/jsmith/git/app_tms570_dev/lib/libc_common/include -IC:/Users/jsmith/git/app_tms570_dev/lib/libc_tms570/include -IC:/Users/jsmith/git/app_tms570_dev/lib/libc_tms570/reg_def -IC:/Users/jsmith/git/app_tms570_dev/lib/libc_arm/include -IC:/Users/jsmith/git/app_tms570_dev/lib/libc_util/include -IC:/Users/jsmith/gcc-linaro-7.5.0-2019.12-i686-mingw32_armeb-eabi/armeb-eabi/include -Og -ffunction-sections -fdata-sections -g -gdwarf-3 -gstrict-dwarf -Wall -specs=nosys.specs -mbig-endian -osrc\libc_tms570\c\%.o ..\..\..\lib\libc_tms570\src\c\hal_can.c
 ..\..\..\lib\libc_tms570\src\c\hal_can.c

However, when I switch to the external builder, the program builds with no problem.  For now I will use the external builder, but it would be good if this bug could be fixed in some future iteration of CCS.