5.1.3 Options concerning files and directories

-exxx
xxx specifies the directory where the compiler can find the executables as (the assembler) and ld (the linker).
-FaXYZ
loads units XYZ after the system unit, but before any other unit is loaded. XYZ is a comma-separated list of unit names. This can only be used for programs, and has the same effect as if XYZ were inserted as the first item in the program’s uses clause.
-FcXXX
set the input codepage to XXX. Experimental.
-FD
same as -e.
-Fexxx
This option tells the compiler to write errors, etc. to the file named xxx.
-FExxx
tells the compiler to write the executable and units in directory xxx instead of the current directory. If this option is followed by a -o option (-o (see page 5.1.4)), and this option contains a path component, then it will override the -FE setting.
-Fixxx
Adds xxx to the include file search path.
-Flxxx
Adds xxx to the library searching path, and is passed to the linker.
-FLxxx
(linux only) Tells the compiler to use xxx as the dynamic linker. Default this is /lib/ld-linux.so.2, or /Hlib/ld-linux.so.1, depending on which one is found first.
-Foxxx
Adds xxx to the object file search path. This path is used when looking for files that need to be linked in.
-Frxxx
xxx specifies the file which contain the compiler messages. Default the compiler has built-in messages. Specifying this option will override the default messages.
-Fuxxx
Add xxx to the unit search path. Units are first searched in the current directory. If they are not found there then the compiler searches them in the unit path. You must always supply the path to the system unit. The xxx path can contain a single wildcard (*) which will be expanded to all possible directory names found at that location.
-FUxxx
Tells the compiler to write units in directory xxx instead of the current directory. It overrides the -FE option.
-Ixxx
Add xxx to the include file search path. This option has the same effect as -Fi.