Each of GHC's command line options is classified as static, dynamic or mode:
For example, --make or -E. There may only be a single mode flag on the command line. The available modes are listed in Section 4.4, “Modes of operation”.
Most non-mode flags fall into this category. A dynamic flag may be used on the command line, in a GHC_OPTIONS pragma in a source file, or set using :set in GHCi.
A few flags are "static", which means they can only be used on the command-line, and remain in force over the entire GHC/GHCi run.
The flag reference tables (Section 4.17, “Flag reference”) lists the status of each flag.
There are a few flags that are static except that they can also be used with GHCi's :set command; these are listed as “static/:set” in the table.