| ------------------------------------------------------------------------------ |
| -- -- |
| -- GNAT COMPILER COMPONENTS -- |
| -- -- |
| -- M A K E U S G -- |
| -- -- |
| -- B o d y -- |
| -- -- |
| -- Copyright (C) 1992-2022, 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; |