If you want your program to call two or more preprocessors sequentially, you must separate them with vertical line (or pipe) characters (|):
-Pg "preproc1 [options] | preproc2 [options] ... "
The preprocessors are called in the order in which they appear in this list. The first preprocessor accepts its input from the source file submitted to the compiler. Each subsequent preprocessor accepts as its input the output produced by the previous preprocessor. The output of the last preprocessor is then compiled by the compiler.
Although the pipe notation suggests the use of UNIX-type pipes, the compiler actually stores the output of each preprocessor in a temporary file for use as input to the next preprocessor. The temporary files are erased when the compiler is finished with them.
This method of calling multiple preprocessors is incompatible with the standard method of calling the AcuSQL pre-compiler (with the -Pn or -Ps option). If the AcuSQL pre-compiler is to be called in conjunction with other preprocessors, it must be called with the -Pg option. See AcuSQL Pre-compiler for more information.