397 lines
9.6 KiB
Ada
397 lines
9.6 KiB
Ada
------------------------------------------------------------------------------
|
|
-- --
|
|
-- GNAT COMPILER COMPONENTS --
|
|
-- --
|
|
-- M A K E U S G --
|
|
-- --
|
|
-- B o d y --
|
|
-- --
|
|
-- Copyright (C) 1992-2020, Free Software Foundation, Inc. --
|
|
-- --
|
|
-- GNAT is free software; you can redistribute it and/or modify it under --
|
|
-- terms of the GNU General Public License as published by the Free Soft- --
|
|
-- ware Foundation; either version 3, or (at your option) any later ver- --
|
|
-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
|
|
-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
|
|
-- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License --
|
|
-- for more details. You should have received a copy of the GNU General --
|
|
-- Public License distributed with GNAT; see file COPYING3. If not, go to --
|
|
-- http://www.gnu.org/licenses for a complete copy of the license. --
|
|
-- --
|
|
-- GNAT was originally developed by the GNAT team at New York University. --
|
|
-- Extensive contributions were provided by Ada Core Technologies Inc. --
|
|
-- --
|
|
------------------------------------------------------------------------------
|
|
|
|
with Make_Util;
|
|
with Osint;
|
|
with Output; use Output;
|
|
with Switch; use Switch;
|
|
with Usage;
|
|
|
|
procedure Makeusg is
|
|
|
|
-- Start of processing for Makeusg
|
|
|
|
begin
|
|
-- Usage line
|
|
|
|
Write_Str ("Usage: ");
|
|
Osint.Write_Program_Name;
|
|
Write_Str (" opts name ");
|
|
Write_Str ("{[-cargs opts] [-bargs opts] [-largs opts] [-margs opts]}");
|
|
Write_Eol;
|
|
Write_Eol;
|
|
Write_Str (" name is one or more file name from which you");
|
|
Write_Str (" can omit the .adb or .ads suffix");
|
|
Write_Eol;
|
|
Write_Eol;
|
|
|
|
-- GNATMAKE switches
|
|
|
|
Write_Str ("gnatmake switches:");
|
|
Write_Eol;
|
|
|
|
Display_Usage_Version_And_Help;
|
|
|
|
-- Line for -a
|
|
|
|
Write_Str (" -a Consider all files, even readonly ali files");
|
|
Write_Eol;
|
|
|
|
-- Line for -b
|
|
|
|
Write_Str (" -b Bind only");
|
|
Write_Eol;
|
|
|
|
-- Line for -B
|
|
|
|
Write_Str (" -B Build, bind and link full project");
|
|
Write_Eol;
|
|
|
|
-- Line for -c
|
|
|
|
Write_Str (" -c Compile only");
|
|
Write_Eol;
|
|
|
|
-- Line for -C
|
|
|
|
Write_Str (" -C Cache source mappings: " &
|
|
"invoke compiler with temp mapping file");
|
|
Write_Eol;
|
|
|
|
-- Line for -C=<mapping file>
|
|
|
|
Write_Str (" -C=mapp Cache source mappings: " &
|
|
"invoke compiler with mapping file mapp");
|
|
Write_Eol;
|
|
|
|
-- Line for -d
|
|
|
|
Write_Str (" -d Display compilation progress");
|
|
Write_Eol;
|
|
|
|
-- Line for -D
|
|
|
|
Write_Str (" -D dir Specify dir as the object directory");
|
|
Write_Eol;
|
|
|
|
-- Line for -eI
|
|
|
|
Write_Str (" -eI Index of unit in multi-unit source file");
|
|
Write_Eol;
|
|
|
|
-- Line for -eL
|
|
|
|
Write_Str (" -eL Follow symbolic links when processing " &
|
|
"project files");
|
|
Write_Eol;
|
|
|
|
-- Line for -eS
|
|
|
|
Write_Str (" -eS Echo commands to stdout instead of stderr");
|
|
Write_Eol;
|
|
|
|
-- Line for -f
|
|
|
|
Write_Str (" -f Force recompilations of non predefined units");
|
|
Write_Eol;
|
|
|
|
-- Line for -F
|
|
|
|
Write_Str (" -F Full project path name in brief error messages");
|
|
Write_Eol;
|
|
|
|
-- Line for -i
|
|
|
|
Write_Str (" -i In place. Replace existing ali file, ");
|
|
Write_Str ("or put it with source");
|
|
Write_Eol;
|
|
|
|
-- Line for -jnnn
|
|
|
|
Write_Str (" -jnum Use nnn processes to compile");
|
|
Write_Eol;
|
|
|
|
-- Line for -k
|
|
|
|
Write_Str (" -k Keep going after compilation errors");
|
|
Write_Eol;
|
|
|
|
-- Line for -l
|
|
|
|
Write_Str (" -l Link only");
|
|
Write_Eol;
|
|
|
|
-- Line for -m
|
|
|
|
Write_Str (" -m Minimal recompilation");
|
|
Write_Eol;
|
|
|
|
-- Line for -M
|
|
|
|
Write_Str (" -M List object file dependences for Makefile");
|
|
Write_Eol;
|
|
|
|
-- Line for -n
|
|
|
|
Write_Str (" -n Check objects up to date, output next file ");
|
|
Write_Str ("to compile if not");
|
|
Write_Eol;
|
|
|
|
-- Line for -o
|
|
|
|
Write_Str (" -o name Choose an alternate executable name");
|
|
Write_Eol;
|
|
|
|
-- Line for -p
|
|
|
|
Write_Str (" -p Create missing obj, lib and exec dirs");
|
|
Write_Eol;
|
|
|
|
-- Line for -P
|
|
|
|
Write_Str (" -Pproj Use GNAT Project File proj");
|
|
Write_Eol;
|
|
|
|
-- Line for -q
|
|
|
|
Write_Str (" -q Be quiet/terse");
|
|
Write_Eol;
|
|
|
|
-- Line for -R
|
|
|
|
Write_Str (" -R Do not use a run_path_option when linking");
|
|
Write_Eol;
|
|
|
|
-- Line for -s
|
|
|
|
Write_Str (" -s Recompile if compiler switches have changed");
|
|
Write_Eol;
|
|
|
|
-- Line for -u
|
|
|
|
Write_Str (" -u Unique compilation, only compile the given files");
|
|
Write_Eol;
|
|
|
|
-- Line for -U
|
|
|
|
Write_Str (" -U Unique compilation for all sources of all projects");
|
|
Write_Eol;
|
|
|
|
-- Line for -v
|
|
|
|
Write_Str (" -v Display reasons for all (re)compilations");
|
|
Write_Eol;
|
|
|
|
-- Line for -vl
|
|
|
|
Write_Str (" -vl Verbose output (low verbosity)");
|
|
Write_Eol;
|
|
|
|
-- Line for -vm
|
|
|
|
Write_Str (" -vm Verbose output (medium verbosity)");
|
|
Write_Eol;
|
|
|
|
-- Line for -vh
|
|
|
|
Write_Str (" -vh Equivalent to -v (high verbosity)");
|
|
Write_Eol;
|
|
|
|
-- Line for -vPx
|
|
|
|
Write_Str (" -vPx Specify verbosity when parsing GNAT Project Files");
|
|
Write_Eol;
|
|
|
|
-- Line for -we
|
|
|
|
Write_Str (" -we Treat all warnings as errors");
|
|
Write_Eol;
|
|
|
|
-- Line for -wn
|
|
|
|
Write_Str (" -wn Normal warning mode (cancels -we/-ws)");
|
|
Write_Eol;
|
|
|
|
-- Line for -ws
|
|
|
|
Write_Str (" -ws Suppress all warnings");
|
|
Write_Eol;
|
|
|
|
-- Line for -x
|
|
|
|
Write_Str (" -x " &
|
|
"Allow compilation of needed units external to the projects");
|
|
Write_Eol;
|
|
|
|
-- Line for -X
|
|
|
|
Write_Str (" -Xnm=val Specify an external reference for GNAT " &
|
|
"Project Files");
|
|
Write_Eol;
|
|
|
|
-- Line for -z
|
|
|
|
Write_Str (" -z No main subprogram (zero main)");
|
|
Write_Eol;
|
|
Write_Eol;
|
|
|
|
Write_Str (" --create-map-file Create map file mainprog.map");
|
|
Write_Eol;
|
|
|
|
Write_Str (" --create-map-file=mapfile");
|
|
Write_Eol;
|
|
Write_Str (" Create map file mapfile");
|
|
Write_Eol;
|
|
|
|
Write_Str (" --keep-temp-files Keep temporary files");
|
|
Write_Eol;
|
|
|
|
Write_Str (" --GCC=command Use this gcc command");
|
|
Write_Eol;
|
|
|
|
Write_Str (" --GNATBIND=command Use this gnatbind command");
|
|
Write_Eol;
|
|
|
|
Write_Str (" --GNATLINK=command Use this gnatlink command");
|
|
Write_Eol;
|
|
Write_Eol;
|
|
|
|
-- Source and Library search path switches
|
|
|
|
Write_Str ("Project, Source and Library search path switches:");
|
|
Write_Eol;
|
|
|
|
-- Line for -aP
|
|
|
|
Write_Str (" -aPdir Add directory dir to project search path");
|
|
Write_Eol;
|
|
|
|
-- Line for -aL
|
|
|
|
Write_Str (" -aLdir Skip missing library sources if ali in dir");
|
|
Write_Eol;
|
|
|
|
-- Line for -A
|
|
|
|
Write_Str (" -Adir like -aLdir -aIdir");
|
|
Write_Eol;
|
|
|
|
-- Line for -aO switch
|
|
|
|
Write_Str (" -aOdir Specify library/object files search path");
|
|
Write_Eol;
|
|
|
|
-- Line for -aI switch
|
|
|
|
Write_Str (" -aIdir Specify source files search path");
|
|
Write_Eol;
|
|
|
|
-- Line for -I switch
|
|
|
|
Write_Str (" -Idir Like -aIdir -aOdir");
|
|
Write_Eol;
|
|
|
|
-- Line for -I- switch
|
|
|
|
Write_Str (" -I- Don't look for sources & library files");
|
|
Write_Str (" in the default directory");
|
|
Write_Eol;
|
|
|
|
-- Line for -L
|
|
|
|
Write_Str (" -Ldir Look for program libraries also in dir");
|
|
Write_Eol;
|
|
|
|
-- Line for -nostdinc
|
|
|
|
Write_Str (" -nostdinc Don't look for sources");
|
|
Write_Str (" in the system default directory");
|
|
Write_Eol;
|
|
|
|
-- Line for -nostdlib
|
|
|
|
Write_Str (" -nostdlib Don't look for library files");
|
|
Write_Str (" in the system default directory");
|
|
Write_Eol;
|
|
|
|
-- Line for --RTS
|
|
|
|
Write_Str (" --RTS=dir specify the default source and object search"
|
|
& " path");
|
|
Write_Eol;
|
|
|
|
-- Line for --subdirs=
|
|
|
|
Write_Str (" --subdirs=dir real obj/lib/exec dirs are subdirs");
|
|
Write_Eol;
|
|
|
|
-- Line for --source-info=
|
|
|
|
Write_Str (" ");
|
|
Write_Str (Make_Util.Source_Info_Option);
|
|
Write_Str ("file specify a source info file");
|
|
Write_Eol;
|
|
|
|
-- Line for --unchecked-shared-lib-imports
|
|
|
|
Write_Str (" ");
|
|
Write_Str (Make_Util.Unchecked_Shared_Lib_Imports);
|
|
Write_Eol;
|
|
Write_Str (" Allow shared libraries to import static libraries");
|
|
Write_Eol;
|
|
Write_Eol;
|
|
|
|
-- General Compiler, Binder, Linker switches
|
|
|
|
Write_Str ("To pass an arbitrary switch to the Compiler, ");
|
|
Write_Str ("Binder or Linker:");
|
|
Write_Eol;
|
|
|
|
-- Line for -cargs
|
|
|
|
Write_Str (" -cargs opts opts are passed to the compiler");
|
|
Write_Eol;
|
|
|
|
-- Line for -bargs
|
|
|
|
Write_Str (" -bargs opts opts are passed to the binder");
|
|
Write_Eol;
|
|
|
|
-- Line for -largs
|
|
|
|
Write_Str (" -largs opts opts are passed to the linker");
|
|
Write_Eol;
|
|
|
|
-- Line for -margs
|
|
|
|
Write_Str (" -margs opts opts are passed to gnatmake");
|
|
Write_Eol;
|
|
|
|
-- Add usage information for gcc
|
|
|
|
Usage;
|
|
|
|
end Makeusg;
|