scc.1 (2855B)
1 .TH SCC 1 scc\-VERSION 2 .SH NAME 3 scc \- simple C compiler with magic 4 .SH SYNOPSIS 5 .B scc 6 .RB [ \-cdgkqQsw ] 7 .RB [ \-M | \-E | \-S ] 8 .RB [ \-D 9 .IR def[=val] ] ... 10 .RB [ \-I 11 .IR dir ] ... 12 .RB [ \-L 13 .IR dir ] ... 14 .RB [ \-U 15 .IR def ] ... 16 .RB [ \-l 17 .IR lib ] 18 .RB [ \-m 19 .IR arch ] 20 .RB [ \-o 21 .IR outfile ] 22 .RB [ \-O 23 .IR level ] 24 .RB [ \-t 25 .IR sys ] 26 .RB [ \-W 27 .IR warn ] 28 .RB sourcefile ... 29 .SH DESCRIPTION 30 .B scc 31 is a simple C compiler which takes several 32 .I sourcefiles 33 and compiles them to an executable. The default output file is 34 .B a.out, 35 which can be changed by defining some 36 .I outfile. 37 .SH OPTIONS 38 .TP 39 .B \-c 40 Do not run the linker. 41 .TP 42 .B \-d 43 Do output internal tool messages. 44 .TP 45 .BI \-D " define[=value]" 46 Specify a 47 .I define 48 for the preprocessor. 49 .TP 50 .B \-E 51 Stop after the preprocessing stage, do not run the compiler and output the then 52 resulting source. 53 .TP 54 .B \-g 55 Do generate debug information. 56 .TP 57 .BI \-I " directory" 58 Define a include 59 .I directory 60 to get header files from. This directory is searched for before standard 61 include directories. 62 .TP 63 .B \-k 64 Do keep temporary objects. 65 .TP 66 .BI \-l " library" 67 Link against this 68 .I library. 69 .TP 70 .BI \-L " directory" 71 Define a library 72 .I directory 73 to resolve dependencies from. This directory is used before the standard 74 paths. 75 .TP 76 .BI \-m " architecture" 77 Define the 78 .I architecture 79 to compile for (i.e. amd64, i386 ...). 80 .TP 81 .B \-M 82 Output a rule for 83 .B make 84 describing the dependencies of the main source file. 85 .TP 86 .BI \-o " outfile" 87 Define the name of the 88 .I outfile. 89 .TP 90 .BI \-O " level" 91 Define the optimisation 92 .I level 93 to compile with. (This is a stub for compatibility reasons.) 94 .TP 95 .B \-q 96 Do not use 97 .I QBE. 98 .TP 99 .B \-Q 100 Do use the 101 .I QBE. 102 .TP 103 .B \-s 104 Strip all symbol tables and relocation information from the resulting executable. 105 .TP 106 .B \-S 107 Stop after the compilation stage, do not assemble and output the assembler 108 source. 109 .TP 110 .BI \-t " system" 111 Define the 112 .I system 113 to compile for (i.e. linux, openbsd ...). 114 .TP 115 .BI \-U " define" 116 Undefine a previously defined 117 .I define 118 by the -D parameter. 119 .TP 120 .B \-w 121 Do show warning messages. 122 .TP 123 .BI \-W " warnings" 124 This option only activates -w and is otherwise ignored for compatibility 125 reasons. 126 .SH ENVIRONMENT VARIABLES 127 Certain environment variables control the behaviour of scc. 128 .TP 129 .B ARCH 130 defines the 131 .I architecture 132 to compile for (i.e. amd64, i386 ...). 133 .TP 134 .B SYS 135 defines the 136 .I system 137 to compile for (i.e. linux, openbsd ...). 138 .TP 139 .B ABI 140 defines the 141 .I application binary interface 142 to compile for (i.e. sysv ...). 143 .TP 144 .B FORMAT 145 defines the format of the output executable. 146 .TP 147 .B SCCPREFIX 148 defines the path prefix scc will search the scc suite in. 149 .SH AUTHORS 150 See the LICENSE file for the authors. 151 .SH LICENSE 152 See the LICENSE file for the terms of redistribution. 153 .SH SEE ALSO 154 .BR scpp (1), 155 .BR make (1) 156 .SH BUGS 157 See the TODO file in the distribution.