A
makefile could use
target := $(shell $(FBC) -print target) to find out the compilation target, which would even work when cross-compiling, with
FBC set to something like
fbc -target foo.
fbc -print x alone will print out the executable file extension for the target system.
fbc -print x -dll on the other hand will print out the dynamic library file name format.
fbc -print x -m foo will print out the executable file name that would be used when compiling a module called foo.bas.
fbc 1.bas 2.bas -lib -print x will compile 1.bas and 2.bas into a library, whose file name will be displayed.