1------------------------------------------------------------------------------ 2-- -- 3-- GNAT COMPILER COMPONENTS -- 4-- -- 5-- M A K E U S G -- 6-- -- 7-- B o d y -- 8-- -- 9-- Copyright (C) 1992-2003 Free Software Foundation, Inc. -- 10-- -- 11-- GNAT is free software; you can redistribute it and/or modify it under -- 12-- terms of the GNU General Public License as published by the Free Soft- -- 13-- ware Foundation; either version 2, or (at your option) any later ver- -- 14-- sion. GNAT is distributed in the hope that it will be useful, but WITH- -- 15-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -- 16-- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -- 17-- for more details. You should have received a copy of the GNU General -- 18-- Public License distributed with GNAT; see file COPYING. If not, write -- 19-- to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, -- 20-- MA 02111-1307, USA. -- 21-- -- 22-- GNAT was originally developed by the GNAT team at New York University. -- 23-- Extensive contributions were provided by Ada Core Technologies Inc. -- 24-- -- 25------------------------------------------------------------------------------ 26 27with Osint; use Osint; 28with Output; use Output; 29with Usage; 30 31procedure Makeusg is 32 33-- Start of processing for Makeusg 34 35begin 36 -- Usage line 37 38 Write_Str ("Usage: "); 39 Osint.Write_Program_Name; 40 Write_Str (" opts name "); 41 Write_Str ("{[-cargs opts] [-bargs opts] [-largs opts] [-margs opts]}"); 42 Write_Eol; 43 Write_Eol; 44 Write_Str (" name is one or more file name from which you"); 45 Write_Str (" can omit the .adb or .ads suffix"); 46 Write_Eol; 47 Write_Eol; 48 49 -- GNATMAKE switches 50 51 Write_Str ("gnatmake switches:"); 52 Write_Eol; 53 54 -- Line for -a 55 56 Write_Str (" -a Consider all files, even readonly ali files"); 57 Write_Eol; 58 59 -- Line for -b 60 61 Write_Str (" -b Bind only"); 62 Write_Eol; 63 64 -- Line for -B 65 66 Write_Str (" -B Build, bind and link full project"); 67 Write_Eol; 68 69 -- Line for -c 70 71 Write_Str (" -c Compile only"); 72 Write_Eol; 73 74 -- Line for -C 75 76 Write_Str (" -C Cache source mappings: " & 77 "invoke compiler with temp mapping file"); 78 Write_Eol; 79 80 -- Line for -C=<mapping file> 81 82 Write_Str (" -C=mapp Cache source mappings: " & 83 "invoke compiler with mapping file mapp"); 84 Write_Eol; 85 86 -- Line for -D 87 88 Write_Str (" -D dir Specify dir as the object directory"); 89 Write_Eol; 90 91 -- Line for -f 92 93 Write_Str (" -f Force recompilations of non predefined units"); 94 Write_Eol; 95 96 -- Line for -F 97 98 Write_Str (" -F Full project path name in brief error messages"); 99 Write_Eol; 100 101 -- Line for -i 102 103 Write_Str (" -i In place. Replace existing ali file, "); 104 Write_Str ("or put it with source"); 105 Write_Eol; 106 107 -- Line for -jnnn 108 109 Write_Str (" -jnum Use nnn processes to compile"); 110 Write_Eol; 111 112 -- Line for -k 113 114 Write_Str (" -k Keep going after compilation errors"); 115 Write_Eol; 116 117 -- Line for -l 118 119 Write_Str (" -l Link only"); 120 Write_Eol; 121 122 -- Line for -m 123 124 Write_Str (" -m Minimal recompilation"); 125 Write_Eol; 126 127 -- Line for -M 128 129 Write_Str (" -M List object file dependences for Makefile"); 130 Write_Eol; 131 132 -- Line for -n 133 134 Write_Str (" -n Check objects up to date, output next file "); 135 Write_Str ("to compile if not"); 136 Write_Eol; 137 138 -- Line for -o 139 140 Write_Str (" -o name Choose an alternate executable name"); 141 Write_Eol; 142 143 -- Line for -P 144 145 Write_Str (" -Pproj Use GNAT Project File proj"); 146 Write_Eol; 147 148 -- Line for -q 149 150 Write_Str (" -q Be quiet/terse"); 151 Write_Eol; 152 153 -- Line for -R 154 155 Write_Str (" -R Do not use a run_path_option when linking"); 156 Write_Eol; 157 158 -- Line for -s 159 160 Write_Str (" -s Recompile if compiler switches have changed"); 161 Write_Eol; 162 163 -- Line for -u 164 165 Write_Str (" -u Unique compilation. Only compile the given files."); 166 Write_Eol; 167 168 -- Line for -U 169 170 Write_Str (" -U Unique compilation for all sources of all projects"); 171 Write_Eol; 172 173 -- Line for -v 174 175 Write_Str (" -v Display reasons for all (re)compilations"); 176 Write_Eol; 177 178 -- Line for -vPx 179 180 Write_Str (" -vPx Specify verbosity when parsing GNAT Project Files"); 181 Write_Eol; 182 183 -- Line for -X 184 185 Write_Str (" -Xnm=val Specify an external reference for GNAT " & 186 "Project Files"); 187 Write_Eol; 188 189 -- Line for -z 190 191 Write_Str (" -z No main subprogram (zero main)"); 192 Write_Eol; 193 Write_Eol; 194 195 Write_Str (" --GCC=command Use this gcc command"); 196 Write_Eol; 197 198 Write_Str (" --GNATBIND=command Use this gnatbind command"); 199 Write_Eol; 200 201 Write_Str (" --GNATLINK=command Use this gnatlink command"); 202 Write_Eol; 203 Write_Eol; 204 205 -- Source and Library search path switches 206 207 Write_Str ("Source and Library search path switches:"); 208 Write_Eol; 209 210 -- Line for -aL 211 212 Write_Str (" -aLdir Skip missing library sources if ali in dir"); 213 Write_Eol; 214 215 -- Line for -A 216 217 Write_Str (" -Adir like -aLdir -aIdir"); 218 Write_Eol; 219 220 -- Line for -aO switch 221 222 Write_Str (" -aOdir Specify library/object files search path"); 223 Write_Eol; 224 225 -- Line for -aI switch 226 227 Write_Str (" -aIdir Specify source files search path"); 228 Write_Eol; 229 230 -- Line for -I switch 231 232 Write_Str (" -Idir Like -aIdir -aOdir"); 233 Write_Eol; 234 235 -- Line for -I- switch 236 237 Write_Str (" -I- Don't look for sources & library files"); 238 Write_Str (" in the default directory"); 239 Write_Eol; 240 241 -- Line for -L 242 243 Write_Str (" -Ldir Look for program libraries also in dir"); 244 Write_Eol; 245 246 -- Line for -nostdinc 247 248 Write_Str (" -nostdinc Don't look for sources"); 249 Write_Str (" in the system default directory"); 250 Write_Eol; 251 252 -- Line for -nostdlib 253 254 Write_Str (" -nostdlib Don't look for library files"); 255 Write_Str (" in the system default directory"); 256 Write_Eol; 257 258 -- Line for --RTS 259 260 Write_Str (" --RTS=dir specify the default source and object search" 261 & " path"); 262 Write_Eol; 263 Write_Eol; 264 265 -- General Compiler, Binder, Linker switches 266 267 Write_Str ("To pass an arbitrary switch to the Compiler, "); 268 Write_Str ("Binder or Linker:"); 269 Write_Eol; 270 271 -- Line for -cargs 272 273 Write_Str (" -cargs opts opts are passed to the compiler"); 274 Write_Eol; 275 276 -- Line for -bargs 277 278 Write_Str (" -bargs opts opts are passed to the binder"); 279 Write_Eol; 280 281 -- Line for -largs 282 283 Write_Str (" -largs opts opts are passed to the linker"); 284 Write_Eol; 285 286 -- Line for -margs 287 288 Write_Str (" -margs opts opts are passed to gnatmake"); 289 Write_Eol; 290 291 -- Add usage information for gcc 292 293 Usage; 294 295end Makeusg; 296