the command-line compiler has built-in make logic to aid in project maintenance. the -m option instructs command-line compiler to check all units upon which the file being compiled depends. using this option results in a much quicker compile time.
a unit is recompiled under the following conditions:
the source file for that unit has been modified since the unit file was created.
any file included with the $i directive, any .obj file linked in by the $l directive, or any .res file referenced by the $r directive, is newer than the unit file.
the interface section of a unit referenced in a uses statement has changed.
units compiled with the -z option are excluded from the make logic.
if you were applying this option to the previous example, the command would be:
dcc32 mystuff -m
build all (-b) option
instead of relying on the -m option to determine what needs to be updated, you can tell command-line compiler to update all units upon which your program depends using the -b option. you can't use -m and -b at the same time. the -b option is slower than the -m option and is usually unnecessary.
if you were using this option in the previous example, the command would be
dcc32 mystuff -b
find error (-f) option
when a program terminates due to a runtime error, it displays an error code and the address at which the error occurred. by specifying that address in a -faddress option, you can locate the statement in the source text that caused the error, provided your program and units were compiled with debug information enabled (via the $d compiler directive).
in order for the command-line compiler to find the runtime error with -f, you must compile the program with all the same command-line parameters you used the first time you compiled it.
as mentioned previously, you must compile your program and units with debug information enabled for the command-line compiler to be able to find runtime errors. by default, all programs and units are compiled with debug information enabled, but if you turn it off, using a {$d-} compiler directive or a -$d- option, the command-line compiler will not be able to locate runtime errors.
generate object file (-j) option