FSF GCC merge 02/23/03
[official-gcc.git] / gcc / ada / makeusg.adb
blob8ef255a369084ab776fc23d0f3016435e300b916
1 ------------------------------------------------------------------------------
2 -- --
3 -- GNAT COMPILER COMPONENTS --
4 -- --
5 -- M A K E U S G --
6 -- --
7 -- B o d y --
8 -- --
9 -- --
10 -- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
11 -- --
12 -- GNAT is free software; you can redistribute it and/or modify it under --
13 -- terms of the GNU General Public License as published by the Free Soft- --
14 -- ware Foundation; either version 2, or (at your option) any later ver- --
15 -- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
16 -- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
17 -- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License --
18 -- for more details. You should have received a copy of the GNU General --
19 -- Public License distributed with GNAT; see file COPYING. If not, write --
20 -- to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, --
21 -- MA 02111-1307, USA. --
22 -- --
23 -- GNAT was originally developed by the GNAT team at New York University. --
24 -- Extensive contributions were provided by Ada Core Technologies Inc. --
25 -- --
26 ------------------------------------------------------------------------------
28 with Osint; use Osint;
29 with Output; use Output;
30 with Usage;
32 procedure Makeusg is
34 -- Start of processing for Makeusg
36 begin
37 -- Usage line
39 Write_Str ("Usage: ");
40 Osint.Write_Program_Name;
41 Write_Str (" opts name ");
42 Write_Str ("{[-cargs opts] [-bargs opts] [-largs opts] [-margs opts]}");
43 Write_Eol;
44 Write_Eol;
45 Write_Str (" name is one or more file name from which you");
46 Write_Str (" can omit the .adb or .ads suffix");
47 Write_Eol;
48 Write_Eol;
50 -- GNATMAKE switches
52 Write_Str ("gnatmake switches:");
53 Write_Eol;
55 -- Line for -a
57 Write_Str (" -a Consider all files, even readonly ali files");
58 Write_Eol;
60 -- Line for -b
62 Write_Str (" -b Bind only");
63 Write_Eol;
65 -- Line for -c
67 Write_Str (" -c Compile only");
68 Write_Eol;
70 -- Line for -C
72 Write_Str (" -C Cache source mappings: " &
73 "invoke the compiler with a mapping file");
74 Write_Eol;
76 -- Line for -f
78 Write_Str (" -f Force recompilations of non predefined units");
79 Write_Eol;
81 -- Line for -i
83 Write_Str (" -i In place. Replace existing ali file, ");
84 Write_Str ("or put it with source");
85 Write_Eol;
87 -- Line for -jnnn
89 Write_Str (" -jnum Use nnn processes to compile");
90 Write_Eol;
92 -- Line for -k
94 Write_Str (" -k Keep going after compilation errors");
95 Write_Eol;
97 -- Line for -l
99 Write_Str (" -l Link only");
100 Write_Eol;
102 -- Line for -m
104 Write_Str (" -m Minimal recompilation");
105 Write_Eol;
107 -- Line for -M
109 Write_Str (" -M List object file dependences for Makefile");
110 Write_Eol;
112 -- Line for -n
114 Write_Str (" -n Check objects up to date, output next file ");
115 Write_Str ("to compile if not");
116 Write_Eol;
118 -- Line for -o
120 Write_Str (" -o name Choose an alternate executable name");
121 Write_Eol;
123 -- Line for -P
125 Write_Str (" -Pproj Use GNAT Project File proj");
126 Write_Eol;
128 -- Line for -q
130 Write_Str (" -q Be quiet/terse");
131 Write_Eol;
133 -- Line for -s
135 Write_Str (" -s Recompile if compiler switches have changed");
136 Write_Eol;
138 -- Line for -u
140 Write_Str (" -u Unique compilation. Only compile the given file.");
141 Write_Eol;
143 -- Line for -v
145 Write_Str (" -v Display reasons for all (re)compilations");
146 Write_Eol;
148 -- Line for -vPx
150 Write_Str (" -vPx Specify verbosity when parsing GNAT Project Files");
151 Write_Eol;
153 -- Line for -X
155 Write_Str (" -Xnm=val Specify an external reference for GNAT " &
156 "Project Files");
157 Write_Eol;
159 -- Line for -z
161 Write_Str (" -z No main subprogram (zero main)");
162 Write_Eol;
163 Write_Eol;
165 Write_Str (" --GCC=command Use this gcc command");
166 Write_Eol;
168 Write_Str (" --GNATBIND=command Use this gnatbind command");
169 Write_Eol;
171 Write_Str (" --GNATLINK=command Use this gnatlink command");
172 Write_Eol;
173 Write_Eol;
175 -- Source and Library search path switches
177 Write_Str ("Source and Library search path switches:");
178 Write_Eol;
180 -- Line for -aL
182 Write_Str (" -aLdir Skip missing library sources if ali in dir");
183 Write_Eol;
185 -- Line for -A
187 Write_Str (" -Adir like -aLdir -aIdir");
188 Write_Eol;
190 -- Line for -aO switch
192 Write_Str (" -aOdir Specify library/object files search path");
193 Write_Eol;
195 -- Line for -aI switch
197 Write_Str (" -aIdir Specify source files search path");
198 Write_Eol;
200 -- Line for -I switch
202 Write_Str (" -Idir Like -aIdir -aOdir");
203 Write_Eol;
205 -- Line for -I- switch
207 Write_Str (" -I- Don't look for sources & library files");
208 Write_Str (" in the default directory");
209 Write_Eol;
211 -- Line for -L
213 Write_Str (" -Ldir Look for program libraries also in dir");
214 Write_Eol;
216 -- Line for -nostdinc
218 Write_Str (" -nostdinc Don't look for sources");
219 Write_Str (" in the system default directory");
220 Write_Eol;
222 -- Line for -nostdlib
224 Write_Str (" -nostdlib Don't look for library files");
225 Write_Str (" in the system default directory");
226 Write_Eol;
228 -- Line for --RTS
230 Write_Str (" --RTS=dir specify the default source and object search"
231 & " path");
232 Write_Eol;
233 Write_Eol;
235 -- General Compiler, Binder, Linker switches
237 Write_Str ("To pass an arbitrary switch to the Compiler, ");
238 Write_Str ("Binder or Linker:");
239 Write_Eol;
241 -- Line for -cargs
243 Write_Str (" -cargs opts opts are passed to the compiler");
244 Write_Eol;
246 -- Line for -bargs
248 Write_Str (" -bargs opts opts are passed to the binder");
249 Write_Eol;
251 -- Line for -largs
253 Write_Str (" -largs opts opts are passed to the linker");
254 Write_Eol;
256 -- Line for -margs
258 Write_Str (" -margs opts opts are passed to gnatmake");
259 Write_Eol;
261 -- Add usage information for gcc
263 Usage;
265 end Makeusg;