The c99 utility is an interface to the standard C compilation
system; it shall accept source code conforming to the ISO C
standard. The system conceptually consists of a compiler and link
editor. The input files referenced by pathname operands and -l
option-arguments shall be compiled and linked to produce an
executable file. (It is unspecified whether the linking occurs
entirely within the operation of c99; some implementations may
produce objects that are not fully resolved until the file is
executed.)
If the -c
option is specified, for all pathname operands of the
form file.c
, the files:
$(basename pathname .c).o
shall be created as the result of successful compilation. If the
-c
option is not specified, it is unspecified whether such .o
files are created or deleted for the file.c
operands.
If there are no options that prevent link editing (such as -c
or
-E
), and all input files compile and link without error, the
resulting executable file shall be written according to the -o
outfile option (if present) or to the file a.out
.
The executable file shall be created as specified in Section
1.1.1.4, File Read, Write, and Creation, except that the file
permission bits shall be set to: S_IRWXO | S_IRWXG | S_IRWXU
and the bits specified by the umask of the process shall be
cleared.