|Define alternate prefix path for cpp(1), ccom(1), as(1), or ld(1) executables.|
|-C||Passed to the cpp(1) preprocessor to not discard comments.|
|-c||Only compile or assemble and then stop. Do not link. The resulting object output is saved as a filename with a ".o" suffix unless -o option is used. Note: cannot be combined with -o if multiple files are given.|
|Passed to the cpp(1) preprocessor to define macro.|
|Passed to the as(1) assembler.|
|-E||Stop after preprocessing with cpp(1). Do not compile, assemble, or link. Output is sent to standard output unless the -o option is used.|
|-fPIC||Generate PIC code.|
|-fpic||Tells C compiler to generate PIC code and tells assembler that PIC code has been generated.|
|-g||Send -g flag to ccom(1) to create debug output. This unsets the -O option.|
|Passed to the cpp(1) preprocessor to add header search directory to override system defaults.|
|Tells the cpp(1) preprocessor to include the file during preprocessing.|
|Defines path as a system header directory for the cpp(1) preprocessor.|
|-k||Generate PIC code. See -fpic option.|
|-M||Pass -M flag to cpp(1) to generate dependencies for make(1).|
|ARM||-mlittle-endian -mbig-endian -mfpe=fpa -mfpe=vpf -msoft-float -march=armv1 -march=armv2 -march=armv2a -march=armv3 -march=armv4 -march=armv4t -march=armv4tej -march=armv5 -march=armv6 -march=armv6t2 -march=armv6kz -march=armv6k -march=armv7|
|-mlittle-endian -mbig-endian -mhard-float -msoft-float|
|Do not link with the system startup files (crt0.c, etc.)|
|Do not use the system include paths (/usr/include, etc.)|
|Do not link with the system C library (libc).|
|-O||Enable optimizations. Currently passes -xdeljumps and -xtemps to ccom(1). Note: this is unset if the -g option is used.|
|Save result to outfile.|
|-pg||Enable profiling on the generated executable.|
|Defines _PTHREADS preprocessor directive for cpp(1). Uses -lpthread for the ld(1) linker.|
|-S||Stop after compilation by ccom(1). Do not assemble and do not link. The resulting assembler-language output is saved as a filename with a ".s" suffix unless the -o option is used. Note: cannot be combined with -o if multiple files are given.|
|Do not use dynamic linkage. By default, it will link using the dynamic linker options and/or shared objects for the platform.|
|Create a shared object of the result. Tells the linker not to generate an executable.|
|-t||Passes -t to cpp(1) for traditional C preprocessor syntax.|
|Passes to the cpp(1) preprocessor to remove the initial macro definition.|
|-v||Outputs the version of cc and shows what commands will be run with their command line arguments.|
|Options for the linker.|
|-X||Dont remove temporary files on exit.|
|-x||May be used to give separate optimization flags to ccom, see -O for options.|
|-x c||Gcc compatibility option; specify that the language in use is c.|
A few macros are predefined by cc when sent to cpp(1).
__PCC__ Set to the major version of pcc(1). These macros can be used to select code based on pcc(1) compatibility. See the -v option. __PCC_MINOR__ Set to the minor version. __PCC_MINORMINOR__ Set to the minor-minor version the number after the minor version. _PTHREADS Defined when -pthread switch is used.
Also system- and/or machine-dependent macros may also be predefined; for example: __NetBSD__, __ELF__, and __i386__.
The cc command comes from the original Portable C Compiler by S. C. Johnson, written in the late 70s.
This product includes software developed or owned by Caldera International, Inc.