diff --git a/tools/qfcc/doc/man/qfcc.1 b/tools/qfcc/doc/man/qfcc.1 index f8b649873..5e7e3f285 100644 --- a/tools/qfcc/doc/man/qfcc.1 +++ b/tools/qfcc/doc/man/qfcc.1 @@ -35,6 +35,7 @@ qfcc \- The QuakeForge Code Compiler .SH SYNOPSIS .B qfcc .RI [ options ] +.RI [ files ] .SH DESCRIPTION \fBqfcc\fP compiles Ruamoko source into a form that the QuakeForge server can understand. @@ -50,14 +51,35 @@ Inhibit some of qfcc's normal output. .B \-v, \-\-verbose Display more output than usual. .TP -.B \-\-code OPTION,... +.B \-g +Generate debugging info. Synonym for \fB\-\-code debug\fP. +.TP +.B \-o, \-\0output\-file FILE +Secify output file name. +.TP +.B \-P, \-\-progs\-src FILE +File to use instead of progs.src +.TP +.B \-F, \-\-files +Generate files.dat. This list is created by checking the parameters to the +precache_* functions. +.TP +.B \-t, \-\-traditional +Use traditional QuakeC syntax, semantics and "bugs". Also implies v6only. +.TP +.B \-p, \-\-strip\-path NUM +Strip NUM leading path elements from file names. eg. -p 3 will strip the +../../.. from ../../../src/foo.r when embedding the source file name in the +output code. +.TP +.B \-C, \-\-code OPTION,... Set code generation options. See \fBCODE GENERATION OPTIONS\fP for details. .TP -.B \-\-warn OPTION,... +.B \-W, \-\-warn OPTION,... Set warning options. See \fBWARNING OPTIONS\fP for details. .TP -.B \-g, \-\-debug -Synonym for \fB\-\-code debug\fP. +.B \-N, \-\-notice OPTION,... +Set notice options. See \fBNOTICE OPTIONS\fP for details. .TP .B \-h, \-\-help Show summary of options. @@ -65,6 +87,9 @@ Show summary of options. .B \-V, \-\-version Show the version of qfcc. .TP +.B \-S, \-\-save\-temps +Do not delete temporary files. +.TP .B \-D, \-\-define SYMBOL[=VAL],... Define symbols for the preprocessor, if it is in use. .TP @@ -74,6 +99,30 @@ for include files. .TP .B \-U, \-\-undefine SYMBOL,... Undefine preprocessor symbols, if the preprocessor is in use. +.TP +.B \-\-cpp CPPSPEC +cpp execution command line. See \fBCPP NAME\fP for details. +.TP +.B \-L DIR +Add DIR to the search path used for -l. +.TP +.B \-l LIB +Add libLIB.a to the list of libraries to be used for resolving undefined +symbols. \fBqfcc\fP's libraries are really \fBpak\fP files of \fBqfcc\fP +object files built using the \fBpak\fP utility. +.TP +.B \-c +Compile only, do not link. Can be used in either progs.src or separate +compilation modes. +.TP +.B \-r +Incremental linking. Generate a larger object files from other object files +and libraries. +.TP +.B \-z +Compress object files when writing them. This is especially useful when +creating libraries, especially if using the object oriented features, but can +be quite slow. .SH "CODE GENERATION OPTIONS" Code generation options are processed in the order of their appearance on the command line. Unsupported options are ignored. The following options are @@ -132,6 +181,40 @@ Turns on all warning options except \fBerror\fP. .TP .B none Turns off all warning options except \fBerror\fP. +.SH "NOTICE OPTIONS" +Notices are used to flag code constructs that may have changed semantics but +shouldn't be treated as warnings. They are also used for internal debugging +purposes, so if you see any cryptic notices, please report them as a bug +(normal notices will be fairly self explanatory). +.TP +.B none +Silences all notice messages. +.TP +.B warn +Promote notices to warnings. If warnings are being treated as errors, so will +notices. +.SH "CPP NAME" +When preprocessing source files, \fBqfcc\fP calls cpp (the C preprocessor) +with a configurable command line. This is useful when wishing to use an +alternative preprocessor (though it must be command line compatable with cpp) +and when \fBqfcc\fP has been mis-configured to call cpp incorrectly for your +operating system. If the latter is the case, please report the details +(operating system, detection methods, correct execution specificaiton). The +base default execution spec (on most Linux systems) is \fBcpp %d -o %o %i\fP. +This spec is similar in concept to a printf string. The name of the program +may be either absolute (eg /lib/cpp) or relative as the PATH will be searched. +Available substituions: +.TP +.B %d +Mainly for defines (-D, -U and -I) but %d will be replaced by all cpp options +that \fBqfcc\fP will be passing. +.TP +.B %o +This will be replaced by the output file path. Could be either absolute or +relative, depending on whether \fBqfcc\fP is deleting temporary files or not. +.TP +.B %i +This will be replaced by the input file path. Generally as given to \fBqfcc\fP. .SH "FAQ" .TP .B Where did the name Ruamoko come from? @@ -154,7 +237,7 @@ like that. To disable the warning, pass \fBno-cow\fP to \fB\-\-warn\fP. .SH "FILES" progs.src .SH "SEE ALSO" -.BR quakeforge (1) +.BR quakeforge (1), pak (1) .SH AUTHORS The original \fBqcc\fP program, for compiling the QuakeC language, was written by Id Software, Inc. The members of the QuakeForge Project have modified it to