You copied the Doc URL to your clipboard.

Minimizing compilation build time with a single armcc invocation

The following type of script incurs multiple loads and unloads of the compiler and multiple license checkouts:

armcc file1.c ...
armcc file2.c ...
armcc file3.c ...

Instead, you can try modifying your script to compile multiple files within a single invocation of armcc. For example, armcc file1.c file2.c file3.c ...

For convenience, you can also list all your .c files in a single via file invoked with armcc -via sources.txt.

Although this mechanism can dramatically reduce license checkouts and loading and unloading of the compiler to give significant improvements in build time, the following limitations apply:

  • All files are compiled with the same options.

  • Converting existing build systems could be difficult.

  • Usability depends on source file structure and dependencies.

  • An IDE might be unable to report which file had compilation errors.

  • After detecting an error, the compiler does not compile subsequent files.

  • Compiling these files at optimization level -O3 enables multifile compilation, which might increase build times. Use --no_multifile to disable multifile compilation.