home *** CD-ROM | disk | FTP | other *** search
- CC: a unix-like compiler driver for amiga lattice-c (that also
- filters out stupid messages!)
-
- USAGE:
- cc [args] file...
-
- Arguments are ([x] means x is optional):
-
- file A file to compile or link. Currently, only .c and .o
- are understood, although supporting .s files would
- probably be pretty simple.
-
- -o execfile Write the resulting executable to EXECFILE (only
- meaningful when linking).
-
- -c Don't link the object file, just leave it there.
-
- -g[num] Compile in debugging info, using debug-level NUM.
- -O Use the global optimizer (incompatible with -g).
- -P Just pre-process the file, creating a .pp file.
-
- -l libname Add LIBNAME.lib to the list of libraries.
-
- -I dir Add the directory DIR to the path searched for include
- files.
- -D define Add DEFINE a pre-processor define; it can be just a name
- or name=value.
- -U undefin Undefine the symbol UNDEFINE (this really doesn't work).
- -L libdir Add the directory LIBDIR to the path searched for
- libraries.
- -B bindir Add the directory BINDIR to the path searched for
- binaries.
-
- -px string Put STRING on the command line of compiler pass X, where
- X is one of: 1-- pass1; 2-- pass2; o-- optimizer;
- and l-- linker. This switch can be used to get at
- compiler features that cc doesn't directly support,
- although it'd be better to just add the feature to cc
- (it shouldn't be too hard)-- and send the change
- back to me (bader+@andrew.cmu.edu)!
-
- -t tempdir Use TEMPDIR as the place to put temporary files.
-
- +ansi Enforce ansi fascism.
- +cpp Compat with c++.
- +trad Use traditional style cpp.
-
- +[no-]abs-code Use long (absolute) addressing for function
- calls.
- +[no-]abs-data Use long (absolute) addressing for data.
-
- +[no-]reload-a4 Reload reg a4 in each function.
- +[no-]short-ints Use short integers.
- +[no-]reg-args Use register argument passing.
- +[no-]long-align Align everything to long boundaries.
- +[no-]stack-check Put stack-checking into the func prolog.
- +[no-]pure-strings Put strings in the text segment.
-
- +ffp Use motorola fast floating point.
- +881 Compile for a 68881.
- +ieee Ieee floating point.
-
- +68k Compile for a 68000 and up.
- +020 Compile for a 68020 and up.
- +030 Compile for a 68030.
-
- +[no-]detach Make a program that runs in the background.
- +[no-]tiny-main Use tinymain (this doesn't work).
- +[no-]resident Try and make resident-able.
- +[no-]catch Compile in code to try and catch exceptions.
-
- +[no-]optimize Optimize the obj module.
- +[no-]link Link the object modules.
- +[no-]compile (Otherwise, just pre-process).
- +[no-]assemble Emit object-modules (else assembly).
- +[no-]debug Produce debugging info.
-
- +[no-]echo Echo what we execute.
- +[no-]filter Filter out yucky message from passes.
- +[no-]exec Actually run each pass.
-
- +[no-]big-lc1 Run lc1b instead of lc1.
-
- DEFAULTS:
- The default options are: +compile +link +stack-check +exec +filter
-
- The default output file is "a.out".
-
- The default temp directory is "t:".
-
- The default debug level when just -g (or +debug) is specified is 3.
-
- The default libraries are: "-lc", "-lamiga".
-
- NOTES:
- The library -lm is replaced by whichever math library is appropiate
- given other switches (like +ieee or +ffp), and -lc is replaced by
- the appropiate c library-- so be and sure to pass the same set of
- switches to cc when linking as you do when compiling (with -c) the
- object files!
-
- This version of cc is intended for use with lattice c version 5.
-
- BUGS:
- I haven't nearly tested all the possible combinations of options.
-
- The libraries supplied by lattice aren't complete, so some combos
- of switches may not be possible (e.g., +reg-args and +ieee-- lattice
- doesn't supply a libieeer.lib, and so linking fails in this case).
-
- -U doesn't work.
-
- -S doesn't work (and isn't ever likely too unless lattice makes
- omd a much better program).
-
- Compiling .s (assembly) files isn't implemented, even though it's
- probably pretty simple, using asm. I just never needed it...
-
- AUTHOR:
- Miles Bader (bader+@andrew.cmu.edu)
- from an earlier program by Fred Fish.
-