Command line compiler options for the fbc compiler:

@< file >
Read (additional) command-line options from the file

-a < name >
Add an object file to linker's list

-arch < type >
Set target architecture

-asm < format >
Sets the assembler format for Asm block

-b < name >
Add a source file to compilation

-buildprefix < name >
Set the internal buildprefix option

-c
Compile only, do not link

-C
Do not delete the object file(s)

-d < name=val >
Add a preprocessor's define

-dll
Create a DLL, including the import library. (Same as -dylib)

-dylib
Create a DLL, including the import library

-e
Add error checking

-earray
Enable array bounds checking

-eassert
Enable assert() and assertwarn() checking

-edebug
Enable __FB_DEBUG__

-edebuginfo
Add debug information

-elocation
Enable full error location reporting

-entry < name >
Override public exported name of implicit user main function

-enullptr
Enable null-pointer checking

-eunwind
Enable stack unwind information

-ex
Add error checking with RESUME support

-exx
Same as -ex, plus array bounds, null-pointer, and error location reporting

-export
Export symbols for dynamic linkage

-forcelang <name>
Select language compatibility, overriding #lang/$lang in code

-fpmode < type >
Select between fast and accurate floating-point operations (default: PRECISE)

-fpu < type >
Set the floating point arithmetics unit (default: FPU)

-g
Add debug info, enable##__FB_DEBUG__##, and enable asserts

-gen < backend >
Sets the compiler backend (default is 'gas' for x86 and 'gcc' for x86_64)

-i < name >
Add a path to search for include files

-include < name >
Include a header file on each source compiled

-l < name >
Add a library file to linker's list

-lang < name >
Select language compatibility: fb, fblite, qb, deprecated

-lib
Create a static library

-m < name >
Define main file (without extension), the entry point (default is the first .bas file on the command line)

-map < name >
Save the linking map to file name

-maxerr < val >
Only stop parsing if <val> errors occurred

-mt
Link with thread-safe runtime library

-nodeflibs
Do not include the default libraries

-nolib < name(s) >
Do not include specific library(s)

-noerrline
Do not show source line where error occurred

-noobjinfo
Do not read/write compile-time info from/to .o and .a files

-nostrip
Do not strip symbol information from the output file

-o < name >
Set object file path/name (must be passed after the .bas file)

-O < level >
Set the optimization level (-gen gcc)

-p < name >
Add a path to search for libraries

-pic
Generate position-independent code (non-x86 Unix shared libs)

-pp
Emit the preprocessed input file only, do not compile

-prefix < path >
Set the compiler prefix path

-print < option >
Let the compiler display certain information (fblibdir, host, target, x)

-profile
Enable function profiling

-r
Compile into *.asm / *.c / *.ll file(s) only, do not assemble or link

-R
Preserve intermediate *.asm / *.c / *.ll file(s) generated by compilation

-rr
Compile into *.asm file(s) only, do not assemble or link

-RR
Preserve intermediate *.asm files generated by compilation

-s < name >
Set subsystem (gui, console)

-showincludes
Display a tree of file names of #included files

-static
Prefer static libraries over dynamic ones when linking

-strip
Omit all symbol information from the output file

-t < value >
Set stack size in kbytes (default: 1 MB or 2 MB)

-target < platform >
Set the target platform for cross compilation

-v
Be verbose

-vec < level >
Set level of vector optimizations enabled by the compiler (default: 0)

-version
Show compiler version

-w < value >
Set min warning level: all, none, param, escape, pedantic, next, funcptr, constness, suffix, error, upcast or a value

-Wa < opt >
Pass options to GAS (separated by commas)

-Wc < opt >
Pass options to GCC (separated by commas)

-Wl < opt >
Pass options to LD (separated by commas)

-x < name >
Set executable/library path/name

-z < value >
Sets miscellaneous or experimental options