| # Makefile for GNU Ada Compiler (GNAT). | 
 | #   Copyright (C) 1994-2005 Free Software Foundation, Inc. | 
 |  | 
 | #This file is part of GCC. | 
 |  | 
 | #GCC is free software; you can redistribute it and/or modify | 
 | #it under the terms of the GNU General Public License as published by | 
 | #the Free Software Foundation; either version 2, or (at your option) | 
 | #any later version. | 
 |  | 
 | #GCC is distributed in the hope that it will be useful, | 
 | #but WITHOUT 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 | 
 | #along with GCC; see the file COPYING.  If not, write to | 
 | #the Free Software Foundation, 51 Franklin Street, Fifth Floor, | 
 | #Boston, MA 02110-1301, USA. | 
 |  | 
 | # The makefile built from this file lives in the language subdirectory. | 
 | # Its purpose is to provide support for: | 
 | # | 
 | # 1) recursion where necessary, and only then (building .o's), and | 
 | # 2) building and debugging cc1 from the language subdirectory, and | 
 | # 3) nothing else. | 
 | # | 
 | # The parent makefile handles all other chores, with help from the | 
 | # language makefile fragment, of course. | 
 | # | 
 | # The targets for external use are: | 
 | # all, TAGS, ???mostlyclean, ???clean. | 
 |  | 
 | # This makefile will only work with Gnu make. | 
 | # The rules are written assuming a minimum subset of tools are available: | 
 | # | 
 | # Required: | 
 | #      MAKE:    Only Gnu make will work. | 
 | #      MV:      Must accept (at least) one, maybe wildcard, source argument, | 
 | #               a file or directory destination, and support creation/ | 
 | #               modification date preservation.  Gnu mv -f works. | 
 | #      RM:      Must accept an arbitrary number of space separated file | 
 | #               arguments, or one wildcard argument. Gnu rm works. | 
 | #      RMDIR:   Must delete a directory and all its contents. Gnu rm -rf works. | 
 | #      ECHO:    Must support command line redirection. Any Unix-like | 
 | #               shell will typically provide this, otherwise a custom version | 
 | #               is trivial to write. | 
 | #      AR:      Gnu ar works. | 
 | #      MKDIR:   Gnu mkdir works. | 
 | #      CHMOD:   Gnu chmod works. | 
 | #      true:    Does nothing and returns a normal successful return code. | 
 | #      pwd:     Prints the current directory on stdout. | 
 | #      cd:      Change directory. | 
 | # | 
 | # Optional: | 
 | #      BISON:   Gnu bison works. | 
 | #      FLEX:    Gnu flex works. | 
 | #      Other miscellaneous tools for obscure targets. | 
 |  | 
 | # Tell GNU make 3.79 not to run this directory in parallel. | 
 | # Not all of the required dependencies are present. | 
 | .NOTPARALLEL: | 
 |  | 
 | # Suppress smart makes who think they know how to automake Yacc files | 
 | .y.c: | 
 |  | 
 | # Variables that exist for you to override. | 
 | # See below for how to change them for certain systems. | 
 |  | 
 | # Various ways of specifying flags for compilations:   | 
 | # CFLAGS is for the user to override to, e.g., do a bootstrap with -O2. | 
 | # BOOT_CFLAGS is the value of CFLAGS to pass | 
 | # to the stage2 and stage3 compilations | 
 | # XCFLAGS is used for most compilations but not when using the GCC just built. | 
 | XCFLAGS = | 
 | CFLAGS = -g | 
 | BOOT_CFLAGS = -O $(CFLAGS) | 
 | # These exists to be overridden by the x-* and t-* files, respectively. | 
 | X_CFLAGS = | 
 | T_CFLAGS = | 
 |  | 
 | X_CPPFLAGS = | 
 | T_CPPFLAGS = | 
 |  | 
 | X_ADA_CFLAGS = | 
 | T_ADA_CFLAGS = | 
 |  | 
 | X_ADAFLAGS = | 
 | T_ADAFLAGS = | 
 |  | 
 | CC = cc | 
 | BISON = bison | 
 | BISONFLAGS = | 
 | ECHO = echo | 
 | LEX = flex | 
 | LEXFLAGS = | 
 | CHMOD = chmod | 
 | LN = ln | 
 | LN_S = ln -s | 
 | CP = cp -p | 
 | MV = mv -f | 
 | RM = rm -f | 
 | RMDIR = rm -rf | 
 | MKDIR = mkdir -p | 
 | AR = ar | 
 | AR_FLAGS = rc | 
 | LS = ls | 
 | RANLIB = @RANLIB@ | 
 | RANLIB_FLAGS = @ranlib_flags@ | 
 |  | 
 | SHELL = @SHELL@ | 
 | PWD_COMMAND = $${PWDCMD-pwd} | 
 | # How to copy preserving the date | 
 | INSTALL_DATA_DATE = cp -p | 
 | MAKEINFO = makeinfo | 
 | TEXI2DVI = texi2dvi | 
 | TEXI2PDF = texi2pdf | 
 | GNATBIND = $(STAGE_PREFIX)gnatbind | 
 | GNATBIND_FLAGS = -static -x | 
 | ADA_CFLAGS = | 
 | ADAFLAGS = -W -Wall -gnatpg -gnata | 
 | SOME_ADAFLAGS =-gnata | 
 | FORCE_DEBUG_ADAFLAGS = -g | 
 | GNATLIBFLAGS = -gnatpg -nostdinc | 
 | GNATLIBCFLAGS = -g -O2 | 
 | # LLVM local begin | 
 | GNATLIBCFLAGS_FOR_C = $(GNATLIBCFLAGS) $(TARGET_LIBGCC2_CFLAGS) -fexceptions \ | 
 | 	-DIN_RTS -DIN_TARGET_LIBS | 
 | # LLVM local end | 
 | ALL_ADA_CFLAGS = $(X_ADA_CFLAGS) $(T_ADA_CFLAGS) $(ADA_CFLAGS) | 
 | ALL_ADAFLAGS = $(CFLAGS) $(ALL_ADA_CFLAGS) $(X_ADAFLAGS) $(T_ADAFLAGS) \ | 
 | 	$(ADAFLAGS) | 
 | MOST_ADAFLAGS = $(CFLAGS) $(ALL_ADA_CFLAGS) $(X_ADAFLAGS) $(T_ADAFLAGS) \ | 
 | 	$(SOME_ADAFLAGS) | 
 | THREAD_KIND = native | 
 | THREADSLIB = | 
 | GMEM_LIB = | 
 | MISCLIB = | 
 | SYMDEPS = $(LIBINTL_DEP) | 
 | OUTPUT_OPTION = @OUTPUT_OPTION@ | 
 |  | 
 | objext = .o | 
 | exeext = | 
 | arext  = .a | 
 | soext  = .so | 
 | shext  = | 
 | hyphen = - | 
 |  | 
 | # Define this as & to perform parallel make on a Sequent. | 
 | # Note that this has some bugs, and it seems currently necessary  | 
 | # to compile all the gen* files first by hand to avoid erroneous results. | 
 | P = | 
 |  | 
 | # This is used instead of ALL_CFLAGS when compiling with GCC_FOR_TARGET. | 
 | # It omits XCFLAGS, and specifies -B./. | 
 | # It also specifies -B$(tooldir)/ to find as and ld for a cross compiler. | 
 | GCC_CFLAGS = $(INTERNAL_CFLAGS) $(X_CFLAGS) $(T_CFLAGS) $(CFLAGS) | 
 |  | 
 | # Tools to use when building a cross-compiler. | 
 | # These are used because `configure' appends `cross-make' | 
 | # to the makefile when making a cross-compiler. | 
 |  | 
 | # We don't use cross-make.  Instead we use the tools from the build tree, | 
 | # if they are available. | 
 | # program_transform_name and objdir are set by configure.in. | 
 | program_transform_name = | 
 | objdir = . | 
 |  | 
 | target_alias=@target_alias@ | 
 | target=@target@ | 
 | xmake_file = @xmake_file@ | 
 | tmake_file = @tmake_file@ | 
 | host_canonical=@host@ | 
 | #version=`sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/' < $(srcdir)/version.c` | 
 | #mainversion=`sed -e 's/.*\"\([0-9]*\.[0-9]*\).*/\1/' < $(srcdir)/version.c` | 
 |  | 
 | # Directory where sources are, from where we are. | 
 | srcdir = @srcdir@ | 
 | VPATH = $(srcdir) | 
 |  | 
 | fsrcdir := $(shell cd $(srcdir);${PWD_COMMAND}) | 
 | fsrcpfx := $(shell cd $(srcdir);${PWD_COMMAND})/ | 
 | fcurdir := $(shell ${PWD_COMMAND}) | 
 | fcurpfx := $(shell ${PWD_COMMAND})/ | 
 |  | 
 | # Top build directory, relative to here. | 
 | top_builddir = ../.. | 
 |  | 
 | # Internationalization library. | 
 | LIBINTL = @LIBINTL@ | 
 | LIBINTL_DEP = @LIBINTL_DEP@ | 
 |  | 
 | # Any system libraries needed just for GNAT. | 
 | SYSLIBS = @GNAT_LIBEXC@ | 
 |  | 
 | # List of extra object files linked in with various programs. | 
 | EXTRA_GNATTOOLS_OBJS = ../../prefix.o ../../version.o | 
 |  | 
 | # List of target dependent sources, overridden below as necessary | 
 | TARGET_ADA_SRCS = | 
 |  | 
 | # Type of tools build we are doing; default is not compiling tools. | 
 | TOOLSCASE = | 
 |  | 
 | # End of variables for you to override. | 
 |  | 
 | all: all.indirect | 
 |  | 
 | # This tells GNU Make version 3 not to put all variables in the environment. | 
 | .NOEXPORT: | 
 |  | 
 | # tmake_file and xmake_file expand to lists with entries of the form | 
 | # $(srcdir)/config/...  but here $(srcdir) is the ada subdirectory so we | 
 | # need to adjust the paths.  There can't be spaces in the subst arguments | 
 | # or we get spurious spaces in the actual list of files to include. | 
 |  | 
 | # target overrides | 
 | ifneq ($(tmake_file),) | 
 | include $(subst /config,/../config,$(tmake_file)) | 
 | endif | 
 |  | 
 | # host overrides | 
 | ifneq ($(xmake_file),) | 
 | include $(subst /config,/../config,$(xmake_file)) | 
 | endif | 
 |  | 
 | # Now figure out from those variables how to compile and link. | 
 |  | 
 | all.indirect: Makefile ../gnat1$(exeext) | 
 |  | 
 | # IN_GCC distinguishes between code compiled into GCC itself and other | 
 | # programs built during a bootstrap. | 
 | # autoconf inserts -DCROSS_DIRECTORY_STRUCTURE if we are building a cross | 
 | # compiler which does not use the native libraries and headers. | 
 | INTERNAL_CFLAGS = @CROSS@ -DIN_GCC | 
 |  | 
 | # This is the variable actually used when we compile. | 
 | LOOSE_CFLAGS = `echo $(CFLAGS) $(WARN2_CFLAGS)|sed -e 's/-pedantic//g' -e 's/-Wtraditional//g'` | 
 | ALL_CFLAGS = $(INTERNAL_CFLAGS) $(X_CFLAGS) $(T_CFLAGS) $(LOOSE_CFLAGS) \ | 
 | 	$(XCFLAGS) | 
 |  | 
 | # Likewise. | 
 | ALL_CPPFLAGS = $(CPPFLAGS) $(X_CPPFLAGS) $(T_CPPFLAGS) | 
 |  | 
 | # This is where we get libiberty.a from. | 
 | LIBIBERTY = ../../libiberty/libiberty.a | 
 |  | 
 | # How to link with both our special library facilities | 
 | # and the system's installed libraries. | 
 | LIBS = $(LIBINTL) $(LIBIBERTY) $(SYSLIBS) | 
 | LIBDEPS = $(LIBINTL_DEP) $(LIBIBERTY) | 
 | # Default is no TGT_LIB; one might be passed down or something | 
 | TGT_LIB = | 
 | TOOLS_LIBS = $(EXTRA_GNATTOOLS_OBJS) targext.o link.o $(LIBGNAT) ../../../libiberty/libiberty.a $(SYSLIBS) $(TGT_LIB) | 
 |  | 
 | # Specify the directories to be searched for header files. | 
 | # Both . and srcdir are used, in that order, | 
 | # so that tm.h and config.h will be found in the compilation | 
 | # subdirectory rather than in the source directory. | 
 | INCLUDES = -I- -I. -I.. -I$(srcdir) -I$(srcdir)/.. -I$(srcdir)/../config \ | 
 | 	-I$(srcdir)/../../include | 
 |  | 
 | ADA_INCLUDES = -I- -I. -I$(srcdir) | 
 |  | 
 | INCLUDES_FOR_SUBDIR = -I. -I.. -I../.. -I$(fsrcdir) -I$(fsrcdir)/../config \ | 
 | 	-I$(fsrcdir)/../../include -I$(fsrcdir)/.. | 
 | ADA_INCLUDES_FOR_SUBDIR = -I. -I$(fsrcdir) | 
 |  | 
 | # Avoid a lot of time thinking about remaking Makefile.in and *.def. | 
 | .SUFFIXES: .in .def | 
 |  | 
 | # Say how to compile Ada programs. | 
 | .SUFFIXES: .ada .adb .ads .asm | 
 |  | 
 | # Always use -I$(srcdir)/config when compiling. | 
 | .asm.o: | 
 | 	$(CC) -c -x assembler $< $(OUTPUT_OPTION) | 
 |  | 
 | .c.o: | 
 | 	$(CC) -c $(ALL_CFLAGS) $(ADA_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< \ | 
 | 	  $(OUTPUT_OPTION) | 
 |  | 
 | .adb.o: | 
 | 	$(CC) -c $(ALL_ADAFLAGS) $(ADA_INCLUDES) $< $(OUTPUT_OPTION) | 
 |  | 
 | .ads.o: | 
 | 	$(CC) -c $(ALL_ADAFLAGS) $(ADA_INCLUDES) $< $(OUTPUT_OPTION) | 
 |  | 
 | # how to regenerate this file | 
 | Makefile: ../config.status $(srcdir)/Makefile.in $(srcdir)/../version.c | 
 | 	cd ..; \ | 
 | 	LANGUAGES="$(CONFIG_LANGUAGES)" \ | 
 | 	CONFIG_HEADERS= \ | 
 | 	CONFIG_FILES=ada/Makefile $(SHELL) config.status | 
 |  | 
 | # This tells GNU make version 3 not to export all the variables | 
 | # defined in this file into the environment. | 
 | .NOEXPORT: | 
 |  | 
 | # Lists of files for various purposes. | 
 |  | 
 | GNATLINK_OBJS = gnatlink.o \ | 
 |  a-except.o ali.o alloc.o butil.o casing.o csets.o debug.o fmap.o fname.o \ | 
 |  gnatvsn.o hostparm.o indepsw.o interfac.o i-c.o i-cstrin.o namet.o opt.o \ | 
 |  osint.o output.o rident.o s-exctab.o s-secsta.o s-stalib.o s-stoele.o \ | 
 |  sdefault.o snames.o stylesw.o switch.o system.o table.o targparm.o tree_io.o \ | 
 |  types.o validsw.o widechar.o | 
 |  | 
 | GNATMAKE_OBJS = a-except.o ali.o ali-util.o s-casuti.o \ | 
 |  alloc.o atree.o binderr.o butil.o casing.o csets.o debug.o elists.o einfo.o\ | 
 |  erroutc.o errutil.o err_vars.o fmap.o fname.o fname-uf.o fname-sf.o \ | 
 |  gnatmake.o gnatvsn.o hostparm.o interfac.o i-c.o i-cstrin.o krunch.o lib.o \ | 
 |  make.o makeusg.o makeutl.o mlib.o mlib-fil.o mlib-prj.o mlib-tgt.o mlib-utl.o \ | 
 |  namet.o nlists.o opt.o osint.o osint-m.o output.o \ | 
 |  prj.o prj-attr.o prj-attr-pm.o prj-com.o prj-dect.o prj-env.o prj-err.o prj-ext.o prj-nmsc.o \ | 
 |  prj-pars.o prj-part.o prj-proc.o prj-strt.o prj-tree.o prj-util.o \ | 
 |  rident.o s-exctab.o s-secsta.o s-stalib.o s-stoele.o \ | 
 |  scans.o scng.o sdefault.o sfn_scan.o s-purexc.o s-htable.o \ | 
 |  sinfo.o sinput.o sinput-c.o sinput-p.o \ | 
 |  snames.o stand.o stringt.o styleg.o stylesw.o system.o validsw.o switch.o switch-m.o \ | 
 |  table.o targparm.o tempdir.o tree_io.o types.o \ | 
 |  uintp.o  uname.o urealp.o usage.o widechar.o \ | 
 |  $(EXTRA_GNATMAKE_OBJS) | 
 |  | 
 | # Convert the target variable into a space separated list of architecture, | 
 | # manufacturer, and operating system and assign each of those to its own | 
 | # variable. | 
 |  | 
 | host:=$(subst -, ,$(host_canonical)) | 
 | targ:=$(subst -, ,$(target)) | 
 | arch:=$(word 1,$(targ)) | 
 | ifeq ($(words $(targ)),2) | 
 |   manu:= | 
 |   osys:=$(word 2,$(targ)) | 
 | else | 
 |   manu:=$(word 2,$(targ)) | 
 |   osys:=$(word 3,$(targ)) | 
 | endif | 
 |  | 
 | # LIBGNAT_TARGET_PAIRS is a list of pairs of filenames. | 
 | # The members of each pair must be separated by a '<' and no whitespace. | 
 | # Each pair must be separated by some amount of whitespace from the following | 
 | # pair. | 
 |  | 
 | # Non-tasking case: | 
 |  | 
 | LIBGNAT_TARGET_PAIRS = \ | 
 | a-intnam.ads<a-intnam-dummy.ads \ | 
 | s-inmaop.adb<s-inmaop-dummy.adb \ | 
 | s-intman.adb<s-intman-dummy.adb \ | 
 | s-osinte.ads<s-osinte-dummy.ads \ | 
 | s-osprim.adb<s-osprim-posix.adb \ | 
 | s-taprop.adb<s-taprop-dummy.adb \ | 
 | s-taspri.ads<s-taspri-dummy.ads | 
 |  | 
 | # When using the GCC exception handling mechanism, we need to use an | 
 | # alternate body for a-exexpr.adb (a-exexpr-gcc.adb) | 
 |  | 
 | EH_MECHANISM= | 
 |  | 
 | # Default shared object option. Note that we rely on the fact that the "soname" | 
 | # option will always be present and last in this flag, so that we can have | 
 | # $(SO_OPTS)libgnat-x.xx | 
 |  | 
 | SO_OPTS = -Wl,-soname, | 
 |  | 
 | # Default gnatlib-shared target. | 
 | # By default, equivalent to gnatlib. | 
 | # Set to gnatlib-shared-default, gnatlib-shared-dual, or a platform specific | 
 | # target when supported. | 
 | GNATLIB_SHARED = gnatlib | 
 |  | 
 | # default value for gnatmake's target dependent file | 
 | MLIB_TGT = mlib-tgt | 
 |  | 
 | # By default, do not distribute prefix.o (in libgccprefix), since it is only | 
 | # needed by external GNAT tools such as gnatdist and Glide. | 
 | # Override this variable on native platforms when needed. | 
 | PREFIX_OBJS = | 
 |  | 
 | # To avoid duplicate code, use this variable to set PREFIX_OBJS when needed: | 
 | PREFIX_REAL_OBJS = ../prefix.o \ | 
 |   ../../libiberty/concat.o     \ | 
 |   ../../libiberty/xmalloc.o    \ | 
 |   ../../libiberty/xstrdup.o    \ | 
 |   ../../libiberty/xexit.o | 
 |  | 
 | LIB_VERSION = $(strip $(shell grep ' Library_Version :' $(fsrcpfx)gnatvsn.ads | sed -e 's/.*"\(.*\)".*/\1/')) | 
 |  | 
 | # $(filter-out PATTERN...,TEXT) removes all PATTERN words from TEXT. | 
 | # $(strip STRING) removes leading and trailing spaces from STRING. | 
 | # If what's left is null then it's a match. | 
 |  | 
 | ifeq ($(strip $(filter-out m68k% wrs vx%,$(targ))),) | 
 |   LIBGNAT_TARGET_PAIRS = \ | 
 |   a-intnam.ads<a-intnam-vxworks.ads \ | 
 |   a-numaux.ads<a-numaux-vxworks.ads \ | 
 |   s-inmaop.adb<s-inmaop-posix.adb \ | 
 |   s-interr.adb<s-interr-vxworks.adb \ | 
 |   s-intman.ads<s-intman-vxworks.ads \ | 
 |   s-intman.adb<s-intman-vxworks.adb \ | 
 |   s-osinte.adb<s-osinte-vxworks.adb \ | 
 |   s-osinte.ads<s-osinte-vxworks.ads \ | 
 |   s-osprim.adb<s-osprim-vxworks.adb \ | 
 |   s-parame.ads<s-parame-vxworks.ads \ | 
 |   s-parame.adb<s-parame-vxworks.adb \ | 
 |   s-stchop.adb<s-stchop-vxworks.adb \ | 
 |   s-taprop.adb<s-taprop-vxworks.adb \ | 
 |   s-taspri.ads<s-taspri-vxworks.ads \ | 
 |   s-tpopsp.adb<s-tpopsp-vxworks.adb \ | 
 |   s-vxwork.ads<s-vxwork-m68k.ads \ | 
 |   g-soccon.ads<g-soccon-vxworks.ads \ | 
 |   g-socthi.ads<g-socthi-vxworks.ads \ | 
 |   g-socthi.adb<g-socthi-vxworks.adb \ | 
 |   system.ads<system-vxworks-m68k.ads | 
 |  | 
 |   TOOLS_TARGET_PAIRS=mlib-tgt.adb<mlib-tgt-vxworks.adb | 
 |  | 
 |   EXTRA_GNATRTL_NONTASKING_OBJS=i-vxwork.o i-vxwoio.o | 
 |   EXTRA_GNATRTL_TASKING_OBJS=s-vxwork.o | 
 |  | 
 |   ifeq ($(strip $(filter-out yes,$(TRACE))),) | 
 |     LIBGNAT_TARGET_PAIRS += \ | 
 |     s-traces.adb<s-traces-default.adb \ | 
 |     s-tratas.adb<s-tratas-default.adb \ | 
 |     s-trafor.adb<s-trafor-default.adb \ | 
 |     s-trafor.ads<s-trafor-default.ads \ | 
 |     s-tfsetr.adb<s-tfsetr-vxworks.adb  | 
 |   endif | 
 | endif | 
 |  | 
 | ifeq ($(strip $(filter-out powerpc% wrs vxworks,$(targ))),) | 
 |   LIBGNAT_TARGET_PAIRS = \ | 
 |   a-intnam.ads<a-intnam-vxworks.ads \ | 
 |   a-numaux.ads<a-numaux-vxworks.ads \ | 
 |   s-inmaop.adb<s-inmaop-posix.adb \ | 
 |   s-interr.adb<s-interr-vxworks.adb \ | 
 |   s-intman.ads<s-intman-vxworks.ads \ | 
 |   s-intman.adb<s-intman-vxworks.adb \ | 
 |   s-osinte.ads<s-osinte-vxworks.ads \ | 
 |   s-osprim.adb<s-osprim-vxworks.adb \ | 
 |   s-parame.ads<s-parame-vxworks.ads \ | 
 |   s-parame.adb<s-parame-vxworks.adb \ | 
 |   s-stchop.adb<s-stchop-vxworks.adb \ | 
 |   s-taprop.adb<s-taprop-vxworks.adb \ | 
 |   s-taspri.ads<s-taspri-vxworks.ads \ | 
 |   s-vxwork.ads<s-vxwork-ppc.ads \ | 
 |   g-soccon.ads<g-soccon-vxworks.ads \ | 
 |   g-socthi.ads<g-socthi-vxworks.ads \ | 
 |   g-socthi.adb<g-socthi-vxworks.adb | 
 |  | 
 |   TOOLS_TARGET_PAIRS=mlib-tgt.adb<mlib-tgt-vxworks.adb | 
 |  | 
 |   ifeq ($(strip $(filter-out yes,$(TRACE))),) | 
 |     LIBGNAT_TARGET_PAIRS += \ | 
 |     s-traces.adb<s-traces-default.adb \ | 
 |     s-trafor.adb<s-trafor-default.adb \ | 
 |     s-trafor.ads<s-trafor-default.ads \ | 
 |     s-tratas.adb<s-tratas-default.adb \ | 
 |     s-tfsetr.adb<s-tfsetr-vxworks.adb  | 
 |   endif | 
 |  | 
 |   ifeq ($(strip $(filter-out rtp,$(THREAD_KIND))),) | 
 |     LIBGNAT_TARGET_PAIRS += \ | 
 |     s-osinte.adb<s-osinte-vxworks-rtp.adb \ | 
 |     s-tpopsp.adb<s-tpopsp-vxworks-rtp.adb \ | 
 |     system.ads<system-vxworks-ppc-rtp.ads | 
 |  | 
 |     EXTRA_GNATRTL_NONTASKING_OBJS=s-vxwexc.o | 
 |   else | 
 |     LIBGNAT_TARGET_PAIRS += \ | 
 |     s-osinte.adb<s-osinte-vxworks.adb \ | 
 |     s-tpopsp.adb<s-tpopsp-vxworks.adb \ | 
 |     system.ads<system-vxworks-ppc.ads | 
 |  | 
 |     EXTRA_GNATRTL_NONTASKING_OBJS=i-vxwork.o i-vxwoio.o s-vxwexc.o | 
 |   endif | 
 |  | 
 |   EXTRA_GNATRTL_TASKING_OBJS=s-vxwork.o | 
 | endif | 
 |  | 
 | # vxworksae / vxworks 653 | 
 | ifeq ($(strip $(filter-out powerpc% wrs vxworksae,$(targ))),) | 
 |   # target pairs for kernel + vthreads runtime | 
 |   LIBGNAT_TARGET_PAIRS = \ | 
 |   a-elchha.adb<a-elchha-vxworks-ppc-full.adb \ | 
 |   a-intnam.ads<a-intnam-vxworks.ads \ | 
 |   a-numaux.ads<a-numaux-vxworks.ads \ | 
 |   g-io.adb<g-io-vxworks-ppc-cert.adb \ | 
 |   g-io.ads<g-io-vxworks-ppc-cert.ads \ | 
 |   s-inmaop.adb<s-inmaop-posix.adb \ | 
 |   s-interr.adb<s-interr-vxworks.adb \ | 
 |   s-intman.ads<s-intman-vxworks.ads \ | 
 |   s-intman.adb<s-intman-vxworks.adb \ | 
 |   s-osinte.adb<s-osinte-vxworks.adb \ | 
 |   s-osinte.ads<s-osinte-vxworks.ads \ | 
 |   s-osprim.adb<s-osprim-vxworks.adb \ | 
 |   s-parame.ads<s-parame-ae653.ads \ | 
 |   s-parame.adb<s-parame-vxworks.adb \ | 
 |   s-taprop.adb<s-taprop-vxworks.adb \ | 
 |   s-taspri.ads<s-taspri-vxworks.ads \ | 
 |   s-tpopsp.adb<s-tpopsp-vxworks.adb \ | 
 |   s-vxwork.ads<s-vxwork-ppc.ads \ | 
 |   g-soccon.ads<g-soccon-vxworks.ads \ | 
 |   g-socthi.ads<g-socthi-vxworks.ads \ | 
 |   g-socthi.adb<g-socthi-vxworks.adb \ | 
 |   system.ads<system-vxworks-ppc-vthread.ads | 
 |  | 
 |   TOOLS_TARGET_PAIRS=mlib-tgt.adb<mlib-tgt-vxworks.adb | 
 |  | 
 |   EXTRA_GNATRTL_NONTASKING_OBJS=i-vxwork.o i-vxwoio.o s-vxwexc.o | 
 |   EXTRA_GNATRTL_TASKING_OBJS=s-vxwork.o | 
 |  | 
 |   # Extra pairs for the vthreads runtime | 
 |   ifeq ($(strip $(filter-out vthreads,$(THREAD_KIND))),) | 
 |     LIBGNAT_TARGET_PAIRS += \ | 
 |     s-thread.adb<s-thread-ae653.adb | 
 |     EXTRA_GNATRTL_NONTASKING_OBJS += s-thread.o | 
 |   endif | 
 |  | 
 |   ifeq ($(strip $(filter-out yes,$(TRACE))),) | 
 |     LIBGNAT_TARGET_PAIRS += \ | 
 |     s-traces.adb<s-traces-default.adb \ | 
 |     s-trafor.adb<s-trafor-default.adb \ | 
 |     s-trafor.ads<s-trafor-default.ads \ | 
 |     s-tratas.adb<s-tratas-default.adb \ | 
 |     s-tfsetr.adb<s-tfsetr-vxworks.adb | 
 |   endif | 
 | endif | 
 |  | 
 | ifeq ($(strip $(filter-out sparc% wrs vx%,$(targ))),) | 
 |   LIBGNAT_TARGET_PAIRS = \ | 
 |   a-intnam.ads<a-intnam-vxworks.ads \ | 
 |   a-numaux.ads<a-numaux-vxworks.ads \ | 
 |   s-inmaop.adb<s-inmaop-posix.adb \ | 
 |   s-interr.adb<s-interr-vxworks.adb \ | 
 |   s-intman.ads<s-intman-vxworks.ads \ | 
 |   s-intman.adb<s-intman-vxworks.adb \ | 
 |   s-osinte.adb<s-osinte-vxworks.adb \ | 
 |   s-osinte.ads<s-osinte-vxworks.ads \ | 
 |   s-osprim.adb<s-osprim-vxworks.adb \ | 
 |   s-parame.ads<s-parame-vxworks.ads \ | 
 |   s-parame.adb<s-parame-vxworks.adb \ | 
 |   s-stchop.adb<s-stchop-vxworks.adb \ | 
 |   s-taprop.adb<s-taprop-vxworks.adb \ | 
 |   s-taspri.ads<s-taspri-vxworks.ads \ | 
 |   s-tpopsp.adb<s-tpopsp-vxworks.adb \ | 
 |   s-vxwork.ads<s-vxwork-sparcv9.ads \ | 
 |   g-soccon.ads<g-soccon-vxworks.ads \ | 
 |   g-socthi.ads<g-socthi-vxworks.ads \ | 
 |   g-socthi.adb<g-socthi-vxworks.adb \ | 
 |   system.ads<system-vxworks-sparcv9.ads   \ | 
 |  | 
 |   TOOLS_TARGET_PAIRS=mlib-tgt.adb<mlib-tgt-vxworks.adb | 
 |  | 
 |   EXTRA_GNATRTL_NONTASKING_OBJS=i-vxwork.o i-vxwoio.o | 
 |   EXTRA_GNATRTL_TASKING_OBJS=s-vxwork.o | 
 | endif | 
 |  | 
 | ifeq ($(strip $(filter-out %86 wrs vxworks,$(targ))),) | 
 |   LIBGNAT_TARGET_PAIRS = \ | 
 |   a-intnam.ads<a-intnam-vxworks.ads \ | 
 |   i-vxwork.ads<i-vxwork-x86.ads \ | 
 |   s-inmaop.adb<s-inmaop-posix.adb \ | 
 |   s-interr.adb<s-interr-vxworks.adb \ | 
 |   s-intman.ads<s-intman-vxworks.ads \ | 
 |   s-intman.adb<s-intman-vxworks.adb \ | 
 |   a-numaux.adb<a-numaux-x86.adb \ | 
 |   a-numaux.ads<a-numaux-x86.ads \ | 
 |   s-osinte.ads<s-osinte-vxworks.ads \ | 
 |   s-osprim.adb<s-osprim-vxworks.adb \ | 
 |   s-parame.ads<s-parame-vxworks.ads \ | 
 |   s-parame.adb<s-parame-vxworks.adb \ | 
 |   s-stchop.adb<s-stchop-vxworks.adb \ | 
 |   s-taprop.adb<s-taprop-vxworks.adb \ | 
 |   s-taspri.ads<s-taspri-vxworks.ads \ | 
 |   s-vxwork.ads<s-vxwork-x86.ads \ | 
 |   g-soccon.ads<g-soccon-vxworks.ads \ | 
 |   g-socthi.ads<g-socthi-vxworks.ads \ | 
 |   g-socthi.adb<g-socthi-vxworks.adb | 
 |  | 
 |   TOOLS_TARGET_PAIRS=mlib-tgt.adb<mlib-tgt-vxworks.adb | 
 |  | 
 |   ifeq ($(strip $(filter-out yes,$(TRACE))),) | 
 |     LIBGNAT_TARGET_PAIRS += \ | 
 |     s-traces.adb<s-traces-default.adb \ | 
 |     s-trafor.adb<s-trafor-default.adb \ | 
 |     s-trafor.ads<s-trafor-default.ads \ | 
 |     s-tratas.adb<s-tratas-default.adb \ | 
 |     s-tfsetr.adb<s-tfsetr-vxworks.adb | 
 |   endif | 
 |  | 
 |   ifeq ($(strip $(filter-out rtp,$(THREAD_KIND))),) | 
 |     LIBGNAT_TARGET_PAIRS += \ | 
 |     s-osinte.adb<s-osinte-vxworks-rtp.adb \ | 
 |     s-tpopsp.adb<s-tpopsp-vxworks-rtp.adb \ | 
 |     system.ads<system-vxworks-x86-rtp.ads | 
 |  | 
 |     EXTRA_GNATRTL_NONTASKING_OBJS=s-vxwexc.o | 
 |   else | 
 |     LIBGNAT_TARGET_PAIRS += \ | 
 |     s-osinte.adb<s-osinte-vxworks.adb \ | 
 |     s-tpopsp.adb<s-tpopsp-vxworks.adb \ | 
 |     system.ads<system-vxworks-x86.ads | 
 |  | 
 |     EXTRA_GNATRTL_NONTASKING_OBJS=i-vxwork.o i-vxwoio.o s-vxwexc.o | 
 |   endif | 
 |  | 
 |   EXTRA_GNATRTL_TASKING_OBJS=s-vxwork.o | 
 | endif | 
 |  | 
 | ifeq ($(strip $(filter-out arm% coff wrs vx%,$(targ))),) | 
 |   LIBGNAT_TARGET_PAIRS = \ | 
 |   a-intnam.ads<a-intnam-vxworks.ads \ | 
 |   a-numaux.ads<a-numaux-vxworks.ads \ | 
 |   s-inmaop.adb<s-inmaop-posix.adb \ | 
 |   s-interr.adb<s-interr-vxworks.adb \ | 
 |   s-intman.ads<s-intman-vxworks.ads \ | 
 |   s-intman.adb<s-intman-vxworks.adb \ | 
 |   s-osinte.adb<s-osinte-vxworks.adb \ | 
 |   s-osinte.ads<s-osinte-vxworks.ads \ | 
 |   s-osprim.adb<s-osprim-vxworks.adb \ | 
 |   s-parame.ads<s-parame-vxworks.ads \ | 
 |   s-parame.adb<s-parame-vxworks.adb \ | 
 |   s-stchop.adb<s-stchop-vxworks.adb \ | 
 |   s-taprop.adb<s-taprop-vxworks.adb \ | 
 |   s-taspri.ads<s-taspri-vxworks.ads \ | 
 |   s-tpopsp.adb<s-tpopsp-vxworks.adb \ | 
 |   s-vxwork.ads<s-vxwork-arm.ads \ | 
 |   g-soccon.ads<g-soccon-vxworks.ads \ | 
 |   g-socthi.ads<g-socthi-vxworks.ads \ | 
 |   g-socthi.adb<g-socthi-vxworks.adb \ | 
 |   system.ads<system-vxworks-arm.ads | 
 |  | 
 |   TOOLS_TARGET_PAIRS=mlib-tgt.adb<mlib-tgt-vxworks.adb | 
 |  | 
 |   EXTRA_GNATRTL_NONTASKING_OBJS=i-vxwork.o i-vxwoio.o | 
 |   EXTRA_GNATRTL_TASKING_OBJS=s-vxwork.o | 
 | endif | 
 |  | 
 | ifeq ($(strip $(filter-out mips% wrs vx%,$(targ))),) | 
 |   LIBGNAT_TARGET_PAIRS = \ | 
 |   a-intnam.ads<a-intnam-vxworks.ads \ | 
 |   a-numaux.ads<a-numaux-vxworks.ads \ | 
 |   s-inmaop.adb<s-inmaop-posix.adb \ | 
 |   s-interr.adb<s-interr-vxworks.adb \ | 
 |   s-intman.ads<s-intman-vxworks.ads \ | 
 |   s-intman.adb<s-intman-vxworks.adb \ | 
 |   s-osinte.adb<s-osinte-vxworks.adb \ | 
 |   s-osinte.ads<s-osinte-vxworks.ads \ | 
 |   s-osprim.adb<s-osprim-vxworks.adb \ | 
 |   s-parame.ads<s-parame-vxworks.ads \ | 
 |   s-parame.adb<s-parame-vxworks.adb \ | 
 |   s-stchop.adb<s-stchop-vxworks.adb \ | 
 |   s-taprop.adb<s-taprop-vxworks.adb \ | 
 |   s-taspri.ads<s-taspri-vxworks.ads \ | 
 |   s-tpopsp.adb<s-tpopsp-vxworks.adb \ | 
 |   s-vxwork.ads<s-vxwork-mips.ads \ | 
 |   g-soccon.ads<g-soccon-vxworks.ads \ | 
 |   g-socthi.ads<g-socthi-vxworks.ads \ | 
 |   g-socthi.adb<g-socthi-vxworks.adb \ | 
 |   system.ads<system-vxworks-mips.ads | 
 |  | 
 |   TOOLS_TARGET_PAIRS=mlib-tgt.adb<mlib-tgt-vxworks.adb | 
 |  | 
 |   EXTRA_GNATRTL_NONTASKING_OBJS=i-vxwork.o i-vxwoio.o | 
 |   EXTRA_GNATRTL_TASKING_OBJS=s-vxwork.o | 
 | endif | 
 |  | 
 | ifeq ($(strip $(filter-out sparc% sun solaris%,$(targ))),) | 
 |   LIBGNAT_TARGET_PAIRS_32 = \ | 
 |   a-intnam.ads<a-intnam-solaris.ads \ | 
 |   s-inmaop.adb<s-inmaop-posix.adb \ | 
 |   s-intman.adb<s-intman-solaris.adb \ | 
 |   s-osinte.adb<s-osinte-solaris.adb \ | 
 |   s-osinte.ads<s-osinte-solaris.ads \ | 
 |   s-osprim.adb<s-osprim-solaris.adb \ | 
 |   s-taprop.adb<s-taprop-solaris.adb \ | 
 |   s-tasinf.adb<s-tasinf-solaris.adb \ | 
 |   s-tasinf.ads<s-tasinf-solaris.ads \ | 
 |   s-taspri.ads<s-taspri-solaris.ads \ | 
 |   s-tpopsp.adb<s-tpopsp-solaris.adb \ | 
 |   g-soccon.ads<g-soccon-solaris.ads \ | 
 |   g-soliop.ads<g-soliop-solaris.ads \ | 
 |   system.ads<system-solaris-sparc.ads | 
 |  | 
 |   LIBGNAT_TARGET_PAIRS_64 = \ | 
 |   a-intnam.ads<a-intnam-solaris.ads \ | 
 |   s-inmaop.adb<s-inmaop-posix.adb \ | 
 |   s-intman.adb<s-intman-solaris.adb \ | 
 |   s-osinte.adb<s-osinte-solaris.adb \ | 
 |   s-osinte.ads<s-osinte-solaris.ads \ | 
 |   s-osprim.adb<s-osprim-solaris.adb \ | 
 |   s-taprop.adb<s-taprop-solaris.adb \ | 
 |   s-tasinf.adb<s-tasinf-solaris.adb \ | 
 |   s-tasinf.ads<s-tasinf-solaris.ads \ | 
 |   s-taspri.ads<s-taspri-solaris.ads \ | 
 |   s-tpopsp.adb<s-tpopsp-solaris.adb \ | 
 |   g-soccon.ads<g-soccon-solaris-64.ads \ | 
 |   g-soliop.ads<g-soliop-solaris.ads \ | 
 |   system.ads<system-solaris-sparcv9.ads | 
 |  | 
 |   ifeq ($(strip $(filter-out sparc sun solaris%,$(targ))),) | 
 |     LIBGNAT_TARGET_PAIRS = $(LIBGNAT_TARGET_PAIRS_32) | 
 |   else | 
 |     LIBGNAT_TARGET_PAIRS = $(LIBGNAT_TARGET_PAIRS_64) | 
 |   endif | 
 |    | 
 |   TOOLS_TARGET_PAIRS=mlib-tgt.adb<mlib-tgt-solaris.adb | 
 |  | 
 |   EH_MECHANISM=-gcc | 
 |   THREADSLIB = -lposix4 -lthread | 
 |   MISCLIB = -lposix4 -lnsl -lsocket | 
 |   SO_OPTS = -Wl,-h, | 
 |   GNATLIB_SHARED = gnatlib-shared-dual | 
 |   GMEM_LIB = gmemlib | 
 |   PREFIX_OBJS = $(PREFIX_REAL_OBJS) | 
 |   LIBRARY_VERSION := $(LIB_VERSION) | 
 |  | 
 |   ifeq ($(strip $(filter-out pthread PTHREAD,$(THREAD_KIND))),) | 
 |     LIBGNAT_TARGET_PAIRS = \ | 
 |     a-intnam.ads<a-intnam-solaris.ads \ | 
 |     s-inmaop.adb<s-inmaop-posix.adb \ | 
 |     s-intman.adb<s-intman-posix.adb \ | 
 |     s-osinte.adb<s-osinte-posix.adb \ | 
 |     s-osinte.ads<s-osinte-solaris-posix.ads \ | 
 |     s-osprim.adb<s-osprim-solaris.adb \ | 
 |     s-taprop.adb<s-taprop-posix.adb \ | 
 |     s-taspri.ads<s-taspri-posix.ads \ | 
 |     s-tpopsp.adb<s-tpopsp-posix-foreign.adb \ | 
 |     g-soccon.ads<g-soccon-solaris.ads \ | 
 |     g-soliop.ads<g-soliop-solaris.ads \ | 
 |     system.ads<system-solaris-sparc.ads | 
 |  | 
 |     THREADSLIB = -lposix4 -lpthread | 
 |   endif | 
 |  | 
 |   ifeq ($(strip $(filter-out m64,$(THREAD_KIND))),) | 
 |     LIBGNAT_TARGET_PAIRS = $(LIBGNAT_TARGET_PAIRS_64) | 
 |   endif | 
 | endif | 
 |  | 
 | ifeq ($(strip $(filter-out %86 solaris2%,$(arch) $(osys))),) | 
 |   LIBGNAT_TARGET_PAIRS = \ | 
 |   a-numaux.adb<a-numaux-x86.adb \ | 
 |   a-numaux.ads<a-numaux-x86.ads \ | 
 |   a-intnam.ads<a-intnam-solaris.ads \ | 
 |   s-inmaop.adb<s-inmaop-posix.adb \ | 
 |   s-intman.adb<s-intman-solaris.adb \ | 
 |   s-osinte.adb<s-osinte-solaris.adb \ | 
 |   s-osinte.ads<s-osinte-solaris.ads \ | 
 |   s-osprim.adb<s-osprim-solaris.adb \ | 
 |   s-taprop.adb<s-taprop-solaris.adb \ | 
 |   s-tasinf.adb<s-tasinf-solaris.adb \ | 
 |   s-tasinf.ads<s-tasinf-solaris.ads \ | 
 |   s-taspri.ads<s-taspri-solaris.ads \ | 
 |   s-tpopsp.adb<s-tpopsp-solaris.adb \ | 
 |   g-soccon.ads<g-soccon-solaris.ads \ | 
 |   g-soliop.ads<g-soliop-solaris.ads \ | 
 |   system.ads<system-solaris-x86.ads | 
 |  | 
 |   TOOLS_TARGET_PAIRS=mlib-tgt.adb<mlib-tgt-solaris.adb | 
 |  | 
 |   THREADSLIB = -lposix4 -lthread | 
 |   MISCLIB = -lposix4 -lnsl -lsocket | 
 |   SO_OPTS = -Wl,-h, | 
 |   GNATLIB_SHARED = gnatlib-shared-dual | 
 |   GMEM_LIB = gmemlib | 
 |   PREFIX_OBJS = $(PREFIX_REAL_OBJS) | 
 |   LIBRARY_VERSION := $(LIB_VERSION) | 
 | endif | 
 |  | 
 | ifeq ($(strip $(filter-out %86 linux%,$(arch) $(osys))),) | 
 |   LIBGNAT_TARGET_PAIRS = \ | 
 |   a-intnam.ads<a-intnam-linux.ads \ | 
 |   a-numaux.adb<a-numaux-x86.adb \ | 
 |   a-numaux.ads<a-numaux-x86.ads \ | 
 |   g-soccon.ads<g-soccon-linux-x86.ads \ | 
 |   s-inmaop.adb<s-inmaop-posix.adb \ | 
 |   s-intman.adb<s-intman-posix.adb \ | 
 |   s-osinte.adb<s-osinte-posix.adb \ | 
 |   s-osinte.ads<s-osinte-linux.ads \ | 
 |   s-osprim.adb<s-osprim-posix.adb \ | 
 |   s-taprop.adb<s-taprop-linux.adb \ | 
 |   s-taspri.ads<s-taspri-posix.ads \ | 
 |   s-tpopsp.adb<s-tpopsp-posix-foreign.adb \ | 
 |   system.ads<system-linux-x86.ads | 
 |  | 
 |   TOOLS_TARGET_PAIRS =  \ | 
 |     mlib-tgt.adb<mlib-tgt-linux.adb \ | 
 |     indepsw.adb<indepsw-gnu.adb | 
 |  | 
 |   EH_MECHANISM=-gcc | 
 |   THREADSLIB = -lpthread | 
 |   GNATLIB_SHARED = gnatlib-shared-dual | 
 |   GMEM_LIB = gmemlib | 
 |   PREFIX_OBJS = $(PREFIX_REAL_OBJS) | 
 |   LIBRARY_VERSION := $(LIB_VERSION) | 
 | endif | 
 |  | 
 | ifeq ($(strip $(filter-out %86 kfreebsd%,$(arch) $(osys))),) | 
 |   LIBGNAT_TARGET_PAIRS = \ | 
 |   a-intnam.ads<a-intnam-freebsd.ads \ | 
 |   a-numaux.adb<a-numaux-x86.adb \ | 
 |   a-numaux.ads<a-numaux-x86.ads \ | 
 |   s-inmaop.adb<s-inmaop-posix.adb \ | 
 |   s-intman.adb<s-intman-posix.adb \ | 
 |   g-soccon.ads<g-soccon-freebsd.ads \ | 
 |   s-osinte.adb<s-osinte-posix.adb \ | 
 |   s-osinte.ads<s-osinte-kfreebsd-gnu.ads \ | 
 |   s-osprim.adb<s-osprim-posix.adb \ | 
 |   s-taprop.adb<s-taprop-linux.adb \ | 
 |   s-taspri.ads<s-taspri-posix.ads \ | 
 |   s-tpopsp.adb<s-tpopsp-posix-foreign.adb \ | 
 |   system.ads<system-freebsd-x86.ads | 
 |  | 
 |   TOOLS_TARGET_PAIRS =  \ | 
 |     mlib-tgt.adb<mlib-tgt-linux.adb \ | 
 |     indepsw.adb<indepsw-gnu.adb | 
 |  | 
 |   SYMLIB = -laddr2line -lbfd -liberty $(LIBINTL) | 
 |   THREADSLIB = -lpthread | 
 |   GNATLIB_SHARED = gnatlib-shared-dual | 
 |   GMEM_LIB = gmemlib | 
 |   PREFIX_OBJS = $(PREFIX_REAL_OBJS) | 
 |   LIBRARY_VERSION := $(LIB_VERSION) | 
 | endif | 
 |  | 
 | ifeq ($(strip $(filter-out %86 freebsd%,$(arch) $(osys))),) | 
 |   LIBGNAT_TARGET_PAIRS = \ | 
 |   a-intnam.ads<a-intnam-freebsd.ads \ | 
 |   a-numaux.adb<a-numaux-x86.adb \ | 
 |   a-numaux.ads<a-numaux-x86.ads \ | 
 |   g-soccon.ads<g-soccon-freebsd.ads \ | 
 |   s-inmaop.adb<s-inmaop-posix.adb \ | 
 |   s-intman.adb<s-intman-posix.adb \ | 
 |   s-osinte.adb<s-osinte-freebsd.adb \ | 
 |   s-osinte.ads<s-osinte-freebsd.ads \ | 
 |   s-osprim.adb<s-osprim-posix.adb \ | 
 |   s-taprop.adb<s-taprop-posix.adb \ | 
 |   s-taspri.ads<s-taspri-posix.ads \ | 
 |   s-tpopsp.adb<s-tpopsp-posix.adb \ | 
 |   system.ads<system-freebsd-x86.ads | 
 |  | 
 |   TOOLS_TARGET_PAIRS = \ | 
 |   mlib-tgt.adb<mlib-tgt-linux.adb | 
 |   GNATLIB_SHARED = gnatlib-shared-dual | 
 |  | 
 |   THREADSLIB= -lc_r | 
 |   GMEM_LIB = gmemlib | 
 |   PREFIX_OBJS = $(PREFIX_REAL_OBJS) | 
 |   LIBRARY_VERSION := $(LIB_VERSION) | 
 | endif | 
 |  | 
 | ifeq ($(strip $(filter-out s390% linux%,$(arch) $(osys))),) | 
 |   ifeq ($(strip $(filter-out s390x,$(arch))),) | 
 |     LIBGNAT_TARGET_PAIRS = \ | 
 |     a-intnam.ads<a-intnam-linux.ads \ | 
 |     s-inmaop.adb<s-inmaop-posix.adb \ | 
 |     s-intman.adb<s-intman-posix.adb \ | 
 |     s-osinte.adb<s-osinte-posix.adb \ | 
 |     s-osinte.ads<s-osinte-linux.ads \ | 
 |     s-osprim.adb<s-osprim-posix.adb \ | 
 |     s-taprop.adb<s-taprop-linux.adb \ | 
 |     s-taspri.ads<s-taspri-posix.ads \ | 
 |     s-tpopsp.adb<s-tpopsp-posix-foreign.adb \ | 
 |     system.ads<system-linux-s390x.ads | 
 |   else | 
 |     LIBGNAT_TARGET_PAIRS = \ | 
 |     a-intnam.ads<a-intnam-linux.ads \ | 
 |     s-inmaop.adb<s-inmaop-posix.adb \ | 
 |     s-intman.adb<s-intman-posix.adb \ | 
 |     s-osinte.adb<s-osinte-posix.adb \ | 
 |     s-osinte.ads<s-osinte-linux.ads \ | 
 |     s-osprim.adb<s-osprim-posix.adb \ | 
 |     s-taprop.adb<s-taprop-linux.adb \ | 
 |     s-taspri.ads<s-taspri-posix.ads \ | 
 |     s-tpopsp.adb<s-tpopsp-posix-foreign.adb \ | 
 |     system.ads<system-linux-s390.ads | 
 |   endif | 
 |  | 
 |   TOOLS_TARGET_PAIRS =  \ | 
 |     mlib-tgt.adb<mlib-tgt-linux.adb | 
 |  | 
 |   EH_MECHANISM=-gcc | 
 |   THREADSLIB = -lpthread | 
 |   GNATLIB_SHARED = gnatlib-shared-dual | 
 |   PREFIX_OBJS = $(PREFIX_REAL_OBJS) | 
 |   LIBRARY_VERSION := $(LIB_VERSION) | 
 | endif | 
 |  | 
 | ifeq ($(strip $(filter-out mips sgi irix%,$(targ))),) | 
 |   ifeq ($(strip $(filter-out mips sgi irix6%,$(targ))),) | 
 |     LIBGNAT_TARGET_PAIRS = \ | 
 |     a-intnam.ads<a-intnam-irix.ads \ | 
 |     s-inmaop.adb<s-inmaop-posix.adb \ | 
 |     s-intman.adb<s-intman-irix.adb \ | 
 |     s-mastop.adb<s-mastop-irix.adb \ | 
 |     s-osinte.adb<s-osinte-irix.adb \ | 
 |     s-osinte.ads<s-osinte-irix.ads \ | 
 |     s-osprim.adb<s-osprim-posix.adb \ | 
 |     s-proinf.adb<s-proinf-irix-athread.adb \ | 
 |     s-proinf.ads<s-proinf-irix-athread.ads \ | 
 |     s-taprop.adb<s-taprop-irix.adb \ | 
 |     s-tasinf.ads<s-tasinf-irix.ads \ | 
 |     s-taspri.ads<s-taspri-posix.ads \ | 
 |     s-tpopsp.adb<s-tpopsp-posix.adb \ | 
 |     s-traceb.adb<s-traceb-mastop.adb \ | 
 |     g-soccon.ads<g-soccon-irix.ads \ | 
 |     system.ads<system-irix-n32.ads | 
 |  | 
 |     THREADSLIB = -lpthread | 
 |     GNATLIB_SHARED = gnatlib-shared-default | 
 |  | 
 |   else | 
 |     LIBGNAT_TARGET_PAIRS += \ | 
 |     s-mastop.adb<s-mastop-irix.adb \ | 
 |     s-osprim.adb<s-osprim-posix.adb \ | 
 |     s-traceb.adb<s-traceb-mastop.adb \ | 
 |     g-soccon.ads<g-soccon-irix.ads \ | 
 |     system.ads<system-irix-o32.ads | 
 |   endif | 
 |  | 
 |   EH_MECHANISM=-gcc | 
 |   TOOLS_TARGET_PAIRS = mlib-tgt.adb<mlib-tgt-irix.adb | 
 |   TGT_LIB = -lexc | 
 |   MISCLIB = -lexc | 
 |   PREFIX_OBJS = $(PREFIX_REAL_OBJS) | 
 |   LIBRARY_VERSION := $(LIB_VERSION) | 
 | endif | 
 |  | 
 | ifeq ($(strip $(filter-out hppa% hp hpux10%,$(targ))),) | 
 |   LIBGNAT_TARGET_PAIRS = \ | 
 |   a-excpol.adb<a-excpol-abort.adb \ | 
 |   a-intnam.ads<a-intnam-hpux.ads \ | 
 |   s-inmaop.adb<s-inmaop-posix.adb \ | 
 |   s-interr.adb<s-interr-sigaction.adb \ | 
 |   s-intman.adb<s-intman-posix.adb \ | 
 |   s-osinte.adb<s-osinte-hpux-dce.adb \ | 
 |   s-osinte.ads<s-osinte-hpux-dce.ads \ | 
 |   s-parame.ads<s-parame-hpux.ads \ | 
 |   s-osprim.adb<s-osprim-posix.adb \ | 
 |   s-taprop.adb<s-taprop-hpux-dce.adb \ | 
 |   s-taspri.ads<s-taspri-hpux-dce.ads \ | 
 |   s-tpopsp.adb<s-tpopsp-posix.adb \ | 
 |   g-soccon.ads<g-soccon-hpux.ads \ | 
 |   system.ads<system-hpux.ads | 
 |  | 
 |   EH_MECHANISM=-gcc | 
 |   PREFIX_OBJS = $(PREFIX_REAL_OBJS) | 
 | endif | 
 |  | 
 | ifeq ($(strip $(filter-out hppa% hp hpux11%,$(targ))),) | 
 |   LIBGNAT_TARGET_PAIRS = \ | 
 |   a-intnam.ads<a-intnam-hpux.ads \ | 
 |   s-inmaop.adb<s-inmaop-posix.adb \ | 
 |   s-intman.adb<s-intman-posix.adb \ | 
 |   s-osinte.adb<s-osinte-posix.adb \ | 
 |   s-osinte.ads<s-osinte-hpux.ads \ | 
 |   s-parame.ads<s-parame-hpux.ads \ | 
 |   s-osprim.adb<s-osprim-posix.adb \ | 
 |   s-traceb.adb<s-traceb-hpux.adb \ | 
 |   s-taprop.adb<s-taprop-posix.adb \ | 
 |   s-taspri.ads<s-taspri-posix.ads \ | 
 |   s-tpopsp.adb<s-tpopsp-posix-foreign.adb \ | 
 |   g-soccon.ads<g-soccon-hpux.ads \ | 
 |   system.ads<system-hpux.ads | 
 |  | 
 |   TOOLS_TARGET_PAIRS = mlib-tgt.adb<mlib-tgt-hpux.adb | 
 |   EH_MECHANISM=-gcc | 
 |   TGT_LIB = /usr/lib/libcl.a | 
 |   THREADSLIB = -lpthread | 
 |   GMEM_LIB = gmemlib | 
 |   soext = .sl | 
 |   SO_OPTS = -Wl,+h, | 
 |   PREFIX_OBJS = $(PREFIX_REAL_OBJS) | 
 |   GNATLIB_SHARED = gnatlib-shared-dual | 
 |   LIBRARY_VERSION := $(LIB_VERSION) | 
 | endif | 
 |  | 
 | ifeq ($(strip $(filter-out ibm aix%,$(manu) $(osys))),) | 
 |   LIBGNAT_TARGET_PAIRS = \ | 
 |   a-intnam.ads<a-intnam-aix.ads \ | 
 |   s-inmaop.adb<s-inmaop-posix.adb \ | 
 |   s-intman.adb<s-intman-posix.adb \ | 
 |   s-osinte.adb<s-osinte-aix.adb \ | 
 |   s-osinte.ads<s-osinte-aix.ads \ | 
 |   s-osprim.adb<s-osprim-posix.adb \ | 
 |   s-taprop.adb<s-taprop-posix.adb \ | 
 |   s-taspri.ads<s-taspri-posix.ads \ | 
 |   s-tpopsp.adb<s-tpopsp-posix.adb \ | 
 |   g-soccon.ads<g-soccon-aix.ads \ | 
 |   system.ads<system-aix.ads | 
 |  | 
 |   THREADSLIB = -lpthreads | 
 |   PREFIX_OBJS=$(PREFIX_REAL_OBJS) | 
 |  | 
 |   TOOLS_TARGET_PAIRS = \ | 
 |   mlib-tgt.adb<mlib-tgt-aix.adb \ | 
 |   indepsw.adb<indepsw-aix.adb | 
 |  | 
 |   GMEM_LIB = gmemlib | 
 | endif | 
 |  | 
 | ifeq ($(strip $(filter-out lynxos,$(osys))),) | 
 |   TOOLS_TARGET_PAIRS = \ | 
 |   mlib-tgt.adb<mlib-tgt-lynxos.adb \ | 
 |   indepsw.adb<indepsw-gnu.adb | 
 |  | 
 |   ifeq ($(strip $(filter-out %86 lynxos,$(arch) $(osys))),) | 
 |     LIBGNAT_TARGET_PAIRS = \ | 
 |     a-numaux.adb<a-numaux-x86.adb \ | 
 |     a-numaux.ads<a-numaux-x86.ads \ | 
 |     a-intnam.ads<a-intnam-lynxos.ads \ | 
 |     s-inmaop.adb<s-inmaop-posix.adb \ | 
 |     s-intman.adb<s-intman-posix.adb \ | 
 |     s-osinte.adb<s-osinte-lynxos.adb \ | 
 |     s-osinte.ads<s-osinte-lynxos.ads \ | 
 |     s-osprim.adb<s-osprim-posix.adb \ | 
 |     s-taprop.adb<s-taprop-lynxos.adb \ | 
 |     s-taspri.ads<s-taspri-lynxos.ads \ | 
 |     s-tpopsp.adb<s-tpopsp-lynxos.adb \ | 
 |     system.ads<system-lynxos-x86.ads | 
 |  | 
 |     PREFIX_OBJS=$(PREFIX_REAL_OBJS) | 
 |  | 
 |   else | 
 |     LIBGNAT_TARGET_PAIRS = \ | 
 |     a-intnam.ads<a-intnam-lynxos.ads \ | 
 |     s-inmaop.adb<s-inmaop-posix.adb \ | 
 |     s-intman.adb<s-intman-posix.adb \ | 
 |     s-osinte.adb<s-osinte-lynxos.adb \ | 
 |     s-osinte.ads<s-osinte-lynxos.ads \ | 
 |     s-osprim.adb<s-osprim-posix.adb \ | 
 |     s-taprop.adb<s-taprop-lynxos.adb \ | 
 |     s-taspri.ads<s-taspri-lynxos.ads \ | 
 |     s-tpopsp.adb<s-tpopsp-lynxos.adb \ | 
 |     system.ads<system-lynxos-ppc.ads | 
 |   endif | 
 | endif | 
 |  | 
 | ifeq ($(strip $(filter-out rtems%,$(osys))),) | 
 |   LIBGNAT_TARGET_PAIRS = \ | 
 |   a-intnam.ads<a-intnam-rtems.ads \ | 
 |   s-inmaop.adb<s-inmaop-posix.adb \ | 
 |   s-intman.adb<s-intman-posix.adb \ | 
 |   s-osinte.adb<s-osinte-rtems.adb \ | 
 |   s-osinte.ads<s-osinte-rtems.ads \ | 
 |   s-osprim.adb<s-osprim-posix.adb \ | 
 |   s-parame.adb<s-parame-rtems.adb \ | 
 |   s-taprop.adb<s-taprop-posix.adb \ | 
 |   s-taspri.ads<s-taspri-posix.ads \ | 
 |   s-auxdec.ads<s-auxdec-empty.ads \ | 
 |   s-auxdec.adb<s-auxdec-empty.adb \ | 
 |   s-tpopsp.adb<s-tpopsp-rtems.adb | 
 | endif | 
 |  | 
 | ifeq ($(strip $(filter-out alpha% dec osf%,$(targ))),) | 
 |   LIBGNAT_TARGET_PAIRS = \ | 
 |   a-intnam.ads<a-intnam-tru64.ads \ | 
 |   s-inmaop.adb<s-inmaop-posix.adb \ | 
 |   s-intman.adb<s-intman-posix.adb \ | 
 |   s-mastop.adb<s-mastop-tru64.adb \ | 
 |   s-osinte.adb<s-osinte-tru64.adb \ | 
 |   s-osinte.ads<s-osinte-tru64.ads \ | 
 |   s-osprim.adb<s-osprim-unix.adb \ | 
 |   s-taprop.adb<s-taprop-tru64.adb \ | 
 |   s-tasinf.ads<s-tasinf-tru64.ads \ | 
 |   s-taspri.ads<s-taspri-tru64.ads \ | 
 |   s-tpopsp.adb<s-tpopsp-posix-foreign.adb \ | 
 |   s-traceb.adb<s-traceb-mastop.adb \ | 
 |   g-soccon.ads<g-soccon-tru64.ads \ | 
 |   system.ads<system-tru64.ads | 
 |  | 
 |   TOOLS_TARGET_PAIRS=mlib-tgt.adb<mlib-tgt-tru64.adb | 
 |  | 
 |   EH_MECHANISM=-gcc | 
 |   GMEM_LIB=gmemlib | 
 |   THREADSLIB = -lpthread -lmach -lexc -lrt | 
 |   PREFIX_OBJS = $(PREFIX_REAL_OBJS) | 
 |   GNATLIB_SHARED = gnatlib-shared-default | 
 |   LIBRARY_VERSION := $(LIB_VERSION) | 
 | endif | 
 |  | 
 | ifeq ($(strip $(filter-out alpha64 ia64 dec hp vms% openvms% alphavms%,$(host))),) | 
 |  | 
 | soext  = .exe | 
 | hyphen = _ | 
 | LN = cp -p | 
 | LN_S = cp -p | 
 |  | 
 | .SUFFIXES: .sym | 
 |  | 
 | .o.sym:  | 
 | 	@ gnu:[bin]vmssymvec $< | 
 | endif | 
 |  | 
 | ifeq ($(strip $(filter-out alpha64 ia64 dec hp vms% openvms% alphavms%,$(targ))),) | 
 | ifeq ($(strip $(filter-out ia64 hp vms% openvms%,$(targ))),) | 
 |   LIBGNAT_TARGET_PAIRS_AUX1 = \ | 
 |   g-enblsp.adb<g-enblsp-vms-ia64.adb \ | 
 |   g-trasym.adb<g-trasym-vms-ia64.adb \ | 
 |   s-auxdec.ads<s-auxdec-vms_64.ads \ | 
 |   s-crtl.ads<s-crtl-vms64.ads \ | 
 |   s-osinte.adb<s-osinte-vms-ia64.adb \ | 
 |   s-osinte.ads<s-osinte-vms-ia64.ads \ | 
 |   s-vaflop.adb<s-vaflop-vms-ia64.adb \ | 
 |   system.ads<system-vms_64.ads | 
 |  | 
 |   LIBGNAT_TARGET_PAIRS_AUX2 = \ | 
 |   s-parame.ads<s-parame-vms-ia64.ads | 
 | else | 
 | ifeq ($(strip $(filter-out alpha64 dec vms% openvms% alphavms%,$(targ))),) | 
 |   LIBGNAT_TARGET_PAIRS_AUX1 = \ | 
 |   g-enblsp.adb<g-enblsp-vms-alpha.adb \ | 
 |   g-trasym.adb<g-trasym-vms-alpha.adb \ | 
 |   s-asthan.adb<s-asthan-vms-alpha.adb \ | 
 |   s-auxdec.ads<s-auxdec-vms_64.ads \ | 
 |   s-crtl.ads<s-crtl-vms64.ads \ | 
 |   s-osinte.adb<s-osinte-vms.adb \ | 
 |   s-osinte.ads<s-osinte-vms.ads \ | 
 |   s-vaflop.adb<s-vaflop-vms-alpha.adb \ | 
 |   system.ads<system-vms_64.ads | 
 |  | 
 | ifeq ($(strip $(filter-out express EXPRESS,$(THREAD_KIND))),) | 
 |   LIBGNAT_TARGET_PAIRS_AUX2 = \ | 
 |   s-parame.ads<s-parame-vms-restrict.ads | 
 | else | 
 |   LIBGNAT_TARGET_PAIRS_AUX2 = \ | 
 |   s-parame.ads<s-parame-vms-alpha.ads | 
 | endif | 
 | endif | 
 | endif | 
 |  | 
 |   LIBGNAT_TARGET_PAIRS = \ | 
 |   a-caldel.adb<a-caldel-vms.adb \ | 
 |   a-calend.adb<a-calend-vms.adb \ | 
 |   a-calend.ads<a-calend-vms.ads \ | 
 |   a-dirval.adb<a-dirval-vms.adb \ | 
 |   a-excpol.adb<a-excpol-abort.adb \ | 
 |   a-intnam.ads<a-intnam-vms.ads \ | 
 |   a-numaux.ads<a-numaux-vms.ads \ | 
 |   g-expect.adb<g-expect-vms.adb \ | 
 |   g-soccon.ads<g-soccon-vms.ads \ | 
 |   g-socthi.ads<g-socthi-vms.ads \ | 
 |   g-socthi.adb<g-socthi-vms.adb \ | 
 |   i-c.ads<i-c-vms_64.ads \ | 
 |   i-cstrin.ads<i-cstrin-vms_64.ads \ | 
 |   i-cstrin.adb<i-cstrin-vms_64.adb \ | 
 |   i-cpoint.ads<i-cpoint-vms_64.ads \ | 
 |   i-cpoint.adb<i-cpoint-vms_64.adb \ | 
 |   i-cstrea.adb<i-cstrea-vms.adb \ | 
 |   s-inmaop.adb<s-inmaop-vms.adb \ | 
 |   s-interr.adb<s-interr-vms.adb \ | 
 |   s-intman.adb<s-intman-vms.adb \ | 
 |   s-intman.ads<s-intman-vms.ads \ | 
 |   s-osprim.adb<s-osprim-vms.adb \ | 
 |   s-osprim.ads<s-osprim-vms.ads \ | 
 |   s-taprop.adb<s-taprop-vms.adb \ | 
 |   s-taspri.ads<s-taspri-vms.ads \ | 
 |   s-tpopsp.adb<s-tpopsp-posix-foreign.adb \ | 
 |   s-tpopde.adb<s-tpopde-vms.adb \ | 
 |   s-tpopde.ads<s-tpopde-vms.ads \ | 
 |   s-traent.adb<s-traent-vms.adb \ | 
 |   s-traent.ads<s-traent-vms.ads \ | 
 |   $(LIBGNAT_TARGET_PAIRS_AUX1) \ | 
 |   $(LIBGNAT_TARGET_PAIRS_AUX2) | 
 |  | 
 | ifeq ($(strip $(filter-out ia64 hp vms% openvms%,$(targ))),) | 
 |   TOOLS_TARGET_PAIRS= \ | 
 |   mlib-tgt.adb<mlib-tgt-vms-ia64.adb \ | 
 |   symbols.adb<symbols-vms.adb \ | 
 |   symbols-processing.adb<symbols-processing-vms-ia64.adb | 
 | else | 
 |   TOOLS_TARGET_PAIRS= \ | 
 |   mlib-tgt.adb<mlib-tgt-vms-alpha.adb \ | 
 |   symbols.adb<symbols-vms.adb \ | 
 |   symbols-processing.adb<symbols-processing-vms-alpha.adb | 
 | endif | 
 |  | 
 |  | 
 |   GMEM_LIB = gmemlib | 
 |   EH_MECHANISM=-gcc | 
 |   GNATLIB_SHARED=gnatlib-shared-vms | 
 | ifeq ($(strip $(filter-out alpha64 dec vms% openvms% alphavms%,$(targ))),) | 
 |   EXTRA_LIBGNAT_SRCS=vmshandler.asm | 
 |   EXTRA_LIBGNAT_OBJS=vmshandler.o | 
 | endif | 
 |   EXTRA_GNATRTL_TASKING_OBJS=s-tpopde.o | 
 |   EXTRA_GNATTOOLS = \ | 
 |      ../../gnatlbr$(exeext)  \ | 
 |      ../../gnatsym$(exeext)  \ | 
 |      ../../vms_help$(exeext) \ | 
 |      ../../gnat.hlp | 
 |   # This command transforms (YYYYMMDD) into YY,MMDD | 
 |   GSMATCH_VERSION := $(shell grep "^ *Gnat_Static_Version_String" $(fsrcpfx)gnatvsn.ads | sed -e 's/.*(\(.*\)).*/\1/' -e 's/\(..\)\(..\)\(....\)/\2,\3/') | 
 |   TOOLS_LIBS_LO := --for-linker=sys\\$$\$$library:trace.exe | 
 |   LIBRARY_VERSION := $(subst .,_,$(LIB_VERSION)) | 
 | endif | 
 |  | 
 | ifeq ($(strip $(filter-out cygwin32% mingw32% pe,$(osys))),) | 
 |   LIBGNAT_TARGET_PAIRS = \ | 
 |   a-calend.adb<a-calend-mingw.adb \ | 
 |   a-dirval.adb<a-dirval-mingw.adb \ | 
 |   a-excpol.adb<a-excpol-abort.adb \ | 
 |   a-intnam.ads<a-intnam-mingw.ads \ | 
 |   a-numaux.adb<a-numaux-x86.adb \ | 
 |   a-numaux.ads<a-numaux-x86.ads \ | 
 |   s-gloloc.adb<s-gloloc-mingw.adb \ | 
 |   s-inmaop.adb<s-inmaop-dummy.adb \ | 
 |   s-interr.adb<s-interr-sigaction.adb \ | 
 |   s-intman.adb<s-intman-mingw.adb \ | 
 |   s-memory.adb<s-memory-mingw.adb \ | 
 |   s-osinte.ads<s-osinte-mingw.ads \ | 
 |   s-osprim.adb<s-osprim-mingw.adb \ | 
 |   s-taprop.adb<s-taprop-mingw.adb \ | 
 |   s-taspri.ads<s-taspri-mingw.ads \ | 
 |   g-socthi.ads<g-socthi-mingw.ads \ | 
 |   g-socthi.adb<g-socthi-mingw.adb \ | 
 |   g-soccon.ads<g-soccon-mingw.ads \ | 
 |   g-soliop.ads<g-soliop-mingw.ads \ | 
 |   system.ads<system-mingw.ads | 
 |  | 
 |   TOOLS_TARGET_PAIRS= \ | 
 |   mlib-tgt.adb<mlib-tgt-mingw.adb \ | 
 |   indepsw.adb<indepsw-mingw.adb | 
 |  | 
 |   MISCLIB = -lwsock32 | 
 |   GMEM_LIB = gmemlib | 
 |   PREFIX_OBJS = $(PREFIX_REAL_OBJS) | 
 |   EXTRA_GNATTOOLS = ../../gnatdll$(exeext) | 
 |   EXTRA_GNATMAKE_OBJS = mdll.o mdll-utl.o mdll-fil.o | 
 |   EXTRA_GNATRTL_NONTASKING_OBJS = g-regist.o | 
 |   soext = .dll | 
 | # ??? This will be replaced by gnatlib-shared-dual-win32 when GNAT auto-import | 
 | # support for array/record will be done. | 
 |   GNATLIB_SHARED = gnatlib-shared-win32 | 
 |   LIBRARY_VERSION := $(LIB_VERSION) | 
 | endif | 
 |  | 
 | ifeq ($(strip $(filter-out powerpc% linux%,$(arch) $(osys))),) | 
 |   LIBGNAT_TARGET_PAIRS = \ | 
 |   a-intnam.ads<a-intnam-linux.ads \ | 
 |   g-soccon.ads<g-soccon-linux-ppc.ads \ | 
 |   s-inmaop.adb<s-inmaop-posix.adb \ | 
 |   s-intman.adb<s-intman-posix.adb \ | 
 |   s-osinte.adb<s-osinte-posix.adb \ | 
 |   s-osinte.ads<s-osinte-linux.ads \ | 
 |   s-osprim.adb<s-osprim-posix.adb \ | 
 |   s-taprop.adb<s-taprop-linux.adb \ | 
 |   s-taspri.ads<s-taspri-posix.ads \ | 
 |   s-tpopsp.adb<s-tpopsp-posix-foreign.adb \ | 
 |   system.ads<system-linux-ppc.ads | 
 |  | 
 |   TOOLS_TARGET_PAIRS =  \ | 
 |     mlib-tgt.adb<mlib-tgt-linux.adb \ | 
 |     indepsw.adb<indepsw-gnu.adb | 
 |  | 
 |   EH_MECHANISM=-gcc | 
 |   THREADSLIB = -lpthread | 
 |   GNATLIB_SHARED = gnatlib-shared-dual | 
 |   GMEM_LIB = gmemlib | 
 |   PREFIX_OBJS = $(PREFIX_REAL_OBJS) | 
 |   LIBRARY_VERSION := $(LIB_VERSION) | 
 | endif | 
 |  | 
 | ifeq ($(strip $(filter-out sparc% linux%,$(arch) $(osys))),) | 
 |   LIBGNAT_TARGET_PAIRS = \ | 
 |   a-intnam.ads<a-intnam-linux.ads \ | 
 |   s-inmaop.adb<s-inmaop-posix.adb \ | 
 |   s-intman.adb<s-intman-posix.adb \ | 
 |   s-osinte.adb<s-osinte-posix.adb \ | 
 |   s-osinte.ads<s-osinte-linux.ads \ | 
 |   s-osprim.adb<s-osprim-posix.adb \ | 
 |   s-taprop.adb<s-taprop-linux.adb \ | 
 |   s-taspri.ads<s-taspri-posix.ads \ | 
 |   s-tpopsp.adb<s-tpopsp-posix-foreign.adb \ | 
 |   system.ads<system-linux-sparc.ads | 
 |  | 
 |   TOOLS_TARGET_PAIRS =  \ | 
 |     mlib-tgt.adb<mlib-tgt-linux.adb \ | 
 |     indepsw.adb<indepsw-gnu.adb | 
 |  | 
 |   EH_MECHANISM=-gcc | 
 |   THREADSLIB = -lpthread | 
 |   GNATLIB_SHARED = gnatlib-shared-dual | 
 |   GMEM_LIB = gmemlib | 
 |   PREFIX_OBJS = $(PREFIX_REAL_OBJS) | 
 |   LIBRARY_VERSION := $(LIB_VERSION) | 
 | endif | 
 |  | 
 | ifeq ($(strip $(filter-out hppa% linux%,$(arch) $(osys))),) | 
 |   LIBGNAT_TARGET_PAIRS = \ | 
 |   a-intnam.ads<a-intnam-linux.ads \ | 
 |   s-inmaop.adb<s-inmaop-posix.adb \ | 
 |   s-intman.adb<s-intman-posix.adb \ | 
 |   s-osinte.adb<s-osinte-posix.adb \ | 
 |   s-osinte.ads<s-osinte-linux-hppa.ads \ | 
 |   s-osprim.adb<s-osprim-posix.adb \ | 
 |   s-taprop.adb<s-taprop-linux.adb \ | 
 |   s-taspri.ads<s-taspri-posix.ads \ | 
 |   s-tpopsp.adb<s-tpopsp-posix-foreign.adb \ | 
 |   system.ads<system-linux-hppa.ads | 
 |  | 
 |   TOOLS_TARGET_PAIRS =  \ | 
 |     mlib-tgt.adb<mlib-tgt-linux.adb \ | 
 |     indepsw.adb<indepsw-gnu.adb | 
 |  | 
 |   EH_MECHANISM=-gcc | 
 |   THREADSLIB = -lpthread | 
 |   GNATLIB_SHARED = gnatlib-shared-dual | 
 |   GMEM_LIB = gmemlib | 
 |   PREFIX_OBJS = $(PREFIX_REAL_OBJS) | 
 |   LIBRARY_VERSION := $(LIB_VERSION) | 
 | endif | 
 |  | 
 | ifeq ($(strip $(filter-out %ia64 linux%,$(arch) $(osys))),) | 
 |   LIBGNAT_TARGET_PAIRS = \ | 
 |   a-intnam.ads<a-intnam-linux.ads \ | 
 |   a-numaux.ads<a-numaux-libc-x86.ads \ | 
 |   g-soccon.ads<g-soccon-linux-64.ads \ | 
 |   s-inmaop.adb<s-inmaop-posix.adb \ | 
 |   s-intman.adb<s-intman-posix.adb \ | 
 |   s-osinte.ads<s-osinte-linux.ads \ | 
 |   s-osinte.adb<s-osinte-posix.adb \ | 
 |   s-osprim.adb<s-osprim-posix.adb \ | 
 |   s-taprop.adb<s-taprop-linux.adb \ | 
 |   s-tpopsp.adb<s-tpopsp-posix-foreign.adb \ | 
 |   s-taspri.ads<s-taspri-posix.ads \ | 
 |   system.ads<system-linux-ia64.ads | 
 |  | 
 |   TOOLS_TARGET_PAIRS =  \ | 
 |     mlib-tgt.adb<mlib-tgt-linux.adb \ | 
 |     indepsw.adb<indepsw-gnu.adb | 
 |  | 
 |   EH_MECHANISM=-gcc | 
 |   MISCLIB= | 
 |   THREADSLIB=-lpthread | 
 |   GNATLIB_SHARED=gnatlib-shared-dual | 
 |   GMEM_LIB = gmemlib | 
 |   PREFIX_OBJS=$(PREFIX_REAL_OBJS) | 
 |   LIBRARY_VERSION := $(LIB_VERSION) | 
 | endif | 
 |  | 
 | ifeq ($(strip $(filter-out alpha% linux%,$(arch) $(osys))),) | 
 |   LIBGNAT_TARGET_PAIRS = \ | 
 |   a-intnam.ads<a-intnam-linux.ads \ | 
 |   s-inmaop.adb<s-inmaop-posix.adb \ | 
 |   s-intman.adb<s-intman-posix.adb \ | 
 |   s-osinte.ads<s-osinte-linux-alpha.ads \ | 
 |   s-osinte.adb<s-osinte-posix.adb \ | 
 |   s-osprim.adb<s-osprim-posix.adb \ | 
 |   s-taprop.adb<s-taprop-linux.adb \ | 
 |   s-tpopsp.adb<s-tpopsp-posix-foreign.adb \ | 
 |   s-taspri.ads<s-taspri-posix.ads \ | 
 |   system.ads<system-linux-alpha.ads | 
 |  | 
 |   TOOLS_TARGET_PAIRS =  \ | 
 |     mlib-tgt.adb<mlib-tgt-linux.adb \ | 
 |     indepsw.adb<indepsw-gnu.adb | 
 |  | 
 |   EH_MECHANISM=-gcc | 
 |   MISCLIB= | 
 |   THREADSLIB=-lpthread | 
 |   GNATLIB_SHARED=gnatlib-shared-dual | 
 |   PREFIX_OBJS=$(PREFIX_REAL_OBJS) | 
 |   LIBRARY_VERSION := $(LIB_VERSION) | 
 | endif | 
 |  | 
 | ifeq ($(strip $(filter-out %x86_64 linux%,$(arch) $(osys))),) | 
 |   LIBGNAT_TARGET_PAIRS = \ | 
 |   a-intnam.ads<a-intnam-linux.ads \ | 
 |   a-numaux.adb<a-numaux-x86.adb \ | 
 |   a-numaux.ads<a-numaux-x86.ads \ | 
 |   g-soccon.ads<g-soccon-linux-64.ads \ | 
 |   s-inmaop.adb<s-inmaop-posix.adb \ | 
 |   s-intman.adb<s-intman-posix.adb \ | 
 |   s-osinte.ads<s-osinte-linux.ads \ | 
 |   s-osinte.adb<s-osinte-posix.adb \ | 
 |   s-osprim.adb<s-osprim-posix.adb \ | 
 |   s-taprop.adb<s-taprop-linux.adb \ | 
 |   s-tpopsp.adb<s-tpopsp-posix-foreign.adb \ | 
 |   s-taspri.ads<s-taspri-posix.ads \ | 
 |   system.ads<system-linux-x86_64.ads | 
 |  | 
 |   TOOLS_TARGET_PAIRS =  \ | 
 |     mlib-tgt.adb<mlib-tgt-linux.adb \ | 
 |     indepsw.adb<indepsw-gnu.adb | 
 |  | 
 |   EH_MECHANISM=-gcc | 
 |   THREADSLIB=-lpthread | 
 |   GNATLIB_SHARED=gnatlib-shared-dual | 
 |   GMEM_LIB = gmemlib | 
 |   PREFIX_OBJS=$(PREFIX_REAL_OBJS) | 
 |   LIBRARY_VERSION := $(LIB_VERSION) | 
 | endif | 
 |  | 
 | ifeq ($(strip $(filter-out powerpc darwin%,$(arch) $(osys))),) | 
 |   LIBGNAT_TARGET_PAIRS = \ | 
 |   a-intnam.ads<a-intnam-darwin.ads \ | 
 |   s-inmaop.adb<s-inmaop-posix.adb \ | 
 |   s-intman.adb<s-intman-posix.adb \ | 
 |   s-osinte.adb<s-osinte-darwin.adb \ | 
 |   s-osinte.ads<s-osinte-darwin.ads \ | 
 |   s-osprim.adb<s-osprim-posix.adb \ | 
 |   s-taprop.adb<s-taprop-posix.adb \ | 
 |   s-taspri.ads<s-taspri-posix.ads \ | 
 |   s-tpopsp.adb<s-tpopsp-posix-foreign.adb \ | 
 |   g-soccon.ads<g-soccon-darwin.ads \ | 
 |   a-numaux.ads<a-numaux-darwin.ads \ | 
 |   a-numaux.adb<a-numaux-darwin.adb \ | 
 |   system.ads<system-darwin-ppc.ads | 
 |  | 
 |   TOOLS_TARGET_PAIRS =  \ | 
 |     mlib-tgt.adb<mlib-tgt-darwin.adb | 
 |  | 
 |   EH_MECHANISM=-gcc | 
 |   GNATLIB_SHARED = gnatlib-shared-darwin | 
 |   SO_OPTS = -Wl,-flat_namespace -shared-libgcc | 
 |   RANLIB = ranlib -c | 
 |   GMEM_LIB = gmemlib | 
 |   PREFIX_OBJS=$(PREFIX_REAL_OBJS) | 
 |   LIBRARY_VERSION := $(LIB_VERSION) | 
 |   soext = .dylib | 
 | endif | 
 |  | 
 | ifneq ($(EH_MECHANISM),) | 
 |   LIBGNAT_TARGET_PAIRS += a-exexpr.adb<a-exexpr$(EH_MECHANISM).adb | 
 |   EXTRA_LIBGNAT_SRCS+=raise$(EH_MECHANISM).c | 
 |   EXTRA_LIBGNAT_OBJS+=raise$(EH_MECHANISM).o | 
 | endif | 
 |  | 
 | # Use the Ada 2005 version of Ada.Exceptions by default, unless specified | 
 | # explicitely already. The base files (a-except.ad?) are used only for building | 
 | # the compiler and other basic tools. | 
 | # These base versions lack Ada 2005 additions which would cause bootstrap | 
 | # problems if included in the compiler and other basic tools. | 
 |  | 
 | ifeq ($(filter-out a-except%,$(LIBGNAT_TARGET_PAIRS)),$(LIBGNAT_TARGET_PAIRS)) | 
 |   LIBGNAT_TARGET_PAIRS += \ | 
 |     a-except.ads<a-except-2005.ads \ | 
 |     a-except.adb<a-except-2005.adb | 
 | endif | 
 |  | 
 | # The runtime library for gnat comprises two directories.  One contains the | 
 | # Ada source files that the compiler (gnat1) needs -- these files are listed | 
 | # by ADA_INCLUDE_SRCS -- and the other contains the object files and their | 
 | # corresponding .ali files for the parts written in Ada, libgnat.a for | 
 | # the parts of the runtime written in C, and libgthreads.a for the pthreads | 
 | # emulation library.  LIBGNAT_OBJS lists the objects that go into libgnat.a, | 
 | # while GNATRTL_OBJS lists the object files compiled from Ada sources that | 
 | # go into the directory.  The pthreads emulation is built in the threads | 
 | # subdirectory and copied. | 
 | LIBGNAT_SRCS = ada.h adaint.c adaint.h argv.c cio.c cstreams.c \ | 
 |   errno.c exit.c cal.c ctrl_c.c env.c env.h \ | 
 |   raise.h raise.c sysdep.c aux-io.c init.c initialize.c seh_init.c \ | 
 |   final.c tracebak.c tb-alvms.c tb-alvxw.c tb-gcc.c expect.c mkdir.c \ | 
 |   socket.c gsocket.h targext.c $(EXTRA_LIBGNAT_SRCS) | 
 |  | 
 | LIBGNAT_OBJS = adaint.o argv.o cio.o cstreams.o ctrl_c.o errno.o exit.o env.o \ | 
 |   raise.o sysdep.o aux-io.o init.o initialize.o seh_init.o cal.o \ | 
 |   final.o tracebak.o expect.o mkdir.o socket.o targext.o $(EXTRA_LIBGNAT_OBJS) | 
 |  | 
 | # NOTE ??? - when the -I option for compiling Ada code is made to work, | 
 | #  the library installation will change and there will be a | 
 | #  GNAT_RTL_SRCS.  Right now we count on being able to build GNATRTL_OBJS | 
 | #  from ADA_INCLUDE_SRCS. | 
 |  | 
 | # GNATRTL_NONTASKING_OBJS and GNATRTL_TASKING_OBJS can be found in | 
 | # the following include file: | 
 |  | 
 | include $(fsrcdir)/Makefile.rtl | 
 |  | 
 | GNATRTL_OBJS = $(GNATRTL_NONTASKING_OBJS) $(GNATRTL_TASKING_OBJS) \ | 
 |   g-trasym.o memtrack.o | 
 |  | 
 | # Default run time files | 
 |  | 
 | ADA_INCLUDE_SRCS =\ | 
 |  ada.ads calendar.ads directio.ads gnat.ads interfac.ads ioexcept.ads \ | 
 |  machcode.ads text_io.ads unchconv.ads unchdeal.ads \ | 
 |  sequenio.ads system.ads memtrack.adb \ | 
 |  a-[a-o]*.adb a-[p-z]*.adb a-[a-o]*.ads a-[p-z]*.ads g-*.ad? i-*.ad? \ | 
 |  s-[a-o]*.adb s-[p-z]*.adb s-[a-o]*.ads s-[p-z]*.ads   | 
 |  | 
 | LIBGNAT=../rts/libgnat.a  | 
 | GCC_LINK=$(CC) -static-libgcc $(ADA_INCLUDES) | 
 |  | 
 | # when compiling the tools, the runtime has to be first on the path so that | 
 | # it hides the runtime files lying with the rest of the sources | 
 | ifeq ($(TOOLSCASE),native) | 
 |   vpath %.ads ../rts ../ | 
 |   vpath %.adb ../rts ../ | 
 |   vpath %.c   ../rts ../ | 
 |   vpath %.h   ../rts ../ | 
 | endif | 
 |  | 
 | # in the cross tools case, everything is compiled with the native  | 
 | # gnatmake/link. Therefore only -I needs to be modified in ADA_INCLUDES | 
 | ifeq ($(TOOLSCASE),cross) | 
 |   vpath %.ads ../ | 
 |   vpath %.adb ../ | 
 |   vpath %.c   ../ | 
 |   vpath %.h   ../ | 
 | endif | 
 |  | 
 |  | 
 | ../../gnatchop$(exeext):  | 
 | 	$(GNATMAKE) -c $(ADA_INCLUDES) gnatchop --GCC="$(CC) $(ALL_ADAFLAGS)" | 
 | 	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatchop  | 
 | 	$(GNATLINK) -v gnatchop -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS) | 
 |  | 
 | ../../gnat$(exeext):  | 
 | 	$(GNATMAKE) -c $(ADA_INCLUDES) gnatcmd --GCC="$(CC) $(ALL_ADAFLAGS)" | 
 | 	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatcmd  | 
 | 	$(GNATLINK) -v gnatcmd -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS) | 
 |  | 
 | ../../gnatkr$(exeext):  | 
 | 	$(GNATMAKE) -c $(ADA_INCLUDES) gnatkr --GCC="$(CC) $(ALL_ADAFLAGS)" | 
 | 	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatkr  | 
 | 	$(GNATLINK) -v gnatkr -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS) | 
 |  | 
 | ../../gnatls$(exeext):  | 
 | 	$(GNATMAKE) -c $(ADA_INCLUDES) gnatls --GCC="$(CC) $(ALL_ADAFLAGS)" | 
 | 	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatls  | 
 | 	$(GNATLINK) -v gnatls -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS) | 
 |  | 
 | ../../gnatname$(exeext):  | 
 | 	$(GNATMAKE) -c $(ADA_INCLUDES) gnatname --GCC="$(CC) $(ALL_ADAFLAGS)" | 
 | 	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatname  | 
 | 	$(GNATLINK) -v gnatname -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS) | 
 |  | 
 | ../../gprmake$(exeext):  | 
 | 	$(GNATMAKE) -c $(ADA_INCLUDES) gprmake --GCC="$(CC) $(ALL_ADAFLAGS)" | 
 | 	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gprmake | 
 | 	$(GNATLINK) -v gprmake -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS) | 
 |  | 
 | ../../gnatprep$(exeext):  | 
 | 	$(GNATMAKE) -c $(ADA_INCLUDES) gnatprep --GCC="$(CC) $(ALL_ADAFLAGS)" | 
 | 	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatprep  | 
 | 	$(GNATLINK) -v gnatprep -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS) | 
 |  | 
 | ../../gnatxref$(exeext):  | 
 | 	$(GNATMAKE) -c $(ADA_INCLUDES) gnatxref --GCC="$(CC) $(ALL_ADAFLAGS)" | 
 | 	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatxref  | 
 | 	$(GNATLINK) -v gnatxref -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS) | 
 |  | 
 | ../../gnatfind$(exeext):  | 
 | 	$(GNATMAKE) -c $(ADA_INCLUDES) gnatfind --GCC="$(CC) $(ALL_ADAFLAGS)" | 
 | 	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatfind  | 
 | 	$(GNATLINK) -v gnatfind -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS) | 
 |  | 
 | ../../gnatclean$(exeext):  | 
 | 	$(GNATMAKE) -c $(ADA_INCLUDES) gnatclean --GCC="$(CC) $(ALL_ADAFLAGS)" | 
 | 	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatclean | 
 | 	$(GNATLINK) -v gnatclean -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS) | 
 |  | 
 | ../../gnatsym$(exeext):  | 
 | 	$(GNATMAKE) -c $(ADA_INCLUDES) gnatsym --GCC="$(CC) $(ALL_ADAFLAGS)" | 
 | 	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatsym | 
 | 	$(GNATLINK) -v gnatsym -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS) | 
 |  | 
 | ../../gnatdll$(exeext):  | 
 | 	$(GNATMAKE) -c $(ADA_INCLUDES) gnatdll --GCC="$(CC) $(ALL_ADAFLAGS)" | 
 | 	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) $(GNATBIND_FLAGS) gnatdll | 
 | 	$(GNATLINK) -v gnatdll -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS) | 
 |  | 
 | ../../vxaddr2line$(exeext): targext.o | 
 | 	$(GNATMAKE) -c  $(ADA_INCLUDES) vxaddr2line --GCC="$(CC) $(ALL_ADAFLAGS)" | 
 | 	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) vxaddr2line  | 
 | 	$(GNATLINK) -v vxaddr2line -o $@ --GCC="$(GCC_LINK)" targext.o $(CLIB) | 
 |  | 
 | gnatmake-re:  link.o targext.o | 
 | 	$(GNATMAKE) $(ADA_INCLUDES) -u sdefault --GCC="$(CC) $(MOST_ADA_FLAGS)" | 
 | 	$(GNATMAKE) -c $(ADA_INCLUDES) gnatmake --GCC="$(CC) $(ALL_ADAFLAGS)" | 
 | 	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatmake  | 
 | 	$(GNATLINK) -v gnatmake -o ../../gnatmake$(exeext) \ | 
 | 		--GCC="$(GCC_LINK)" $(TOOLS_LIBS) | 
 |  | 
 | # Note the use of the "mv" command in order to allow gnatlink to be linked with | 
 | # with the former version of gnatlink itself which cannot override itself. | 
 | gnatlink-re:  link.o targext.o | 
 | 	$(GNATMAKE) -c $(ADA_INCLUDES) gnatlink --GCC="$(CC) $(ALL_ADAFLAGS)" | 
 | 	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatlink  | 
 | 	$(GNATLINK) -v gnatlink -o ../../gnatlinknew$(exeext) \ | 
 | 		    --GCC="$(GCC_LINK)" $(TOOLS_LIBS) | 
 | 	$(MV)  ../../gnatlinknew$(exeext)  ../../gnatlink$(exeext) | 
 |    | 
 | # Needs to be built with CC=gcc | 
 | # Since the RTL should be built with the latest compiler, remove the | 
 | #  stamp target in the parent directory whenever gnat1 is rebuilt | 
 |  | 
 | # Likewise for the tools | 
 | ../../gnatmake$(exeext): $(P) b_gnatm.o link.o targext.o $(GNATMAKE_OBJS) | 
 | 	$(GCC_LINK) $(ALL_CFLAGS) $(LDFLAGS) -o $@ b_gnatm.o $(GNATMAKE_OBJS) \ | 
 | 		    $(TOOLS_LIBS) | 
 |  | 
 | ../../gnatlink$(exeext): $(P) b_gnatl.o link.o targext.o $(GNATLINK_OBJS) | 
 | 	$(GCC_LINK) $(ALL_CFLAGS) $(LDFLAGS) -o $@ b_gnatl.o $(GNATLINK_OBJS) \ | 
 | 		    $(TOOLS_LIBS) | 
 |  | 
 | ../../gnatbl$(exeext): gnatbl.o | 
 | 	$(GCC_LINK) -o $@ $(ALL_CFLAGS) $(LDFLAGS) gnatbl.o $(TOOLS_LIBS) | 
 |  | 
 | gnatbl.o: gnatbl.c adaint.h | 
 | 	$(CC) $(ALL_CFLAGS) $(INCLUDES) -c $< $(OUTPUT_OPTION) | 
 |  | 
 | ../stamp-gnatlib: | 
 | 	@if [ ! -f stamp-gnatlib ] ; \ | 
 | 	then \ | 
 | 	  $(ECHO) You must first build the GNAT library: make gnatlib; \ | 
 | 	  false; \ | 
 | 	else \ | 
 | 	  true; \ | 
 | 	fi | 
 |  | 
 | install-gnatlib: ../stamp-gnatlib | 
 | #	Create the directory before deleting it, in case the directory is | 
 | #	a list of directories (as it may be on VMS). This ensures we are | 
 | #	deleting the right one. | 
 | 	-$(MKDIR) $(DESTDIR)$(ADA_RTL_OBJ_DIR) | 
 | 	-$(MKDIR) $(DESTDIR)$(ADA_INCLUDE_DIR) | 
 | 	$(RMDIR) $(DESTDIR)$(ADA_RTL_OBJ_DIR) | 
 | 	$(RMDIR) $(DESTDIR)$(ADA_INCLUDE_DIR) | 
 | 	-$(MKDIR) $(DESTDIR)$(ADA_RTL_OBJ_DIR) | 
 | 	-$(MKDIR) $(DESTDIR)$(ADA_INCLUDE_DIR) | 
 | 	for file in rts/*.ali; do \ | 
 | 	    $(INSTALL_DATA_DATE) $$file $(DESTDIR)$(ADA_RTL_OBJ_DIR); \ | 
 | 	done | 
 | 	-$(INSTALL_DATA) rts/g-trasym$(objext) $(DESTDIR)$(ADA_RTL_OBJ_DIR) | 
 | 	-cd rts; for file in *$(arext);do \ | 
 | 	    $(INSTALL_DATA) $$file $(DESTDIR)$(ADA_RTL_OBJ_DIR); \ | 
 | 	    $(RANLIB_FOR_TARGET) $(DESTDIR)$(ADA_RTL_OBJ_DIR)/$$file; \ | 
 | 	done | 
 | 	-$(foreach file, $(EXTRA_ADALIB_FILES), \ | 
 | 	    $(INSTALL_DATA_DATE) rts/$(file) $(DESTDIR)$(ADA_RTL_OBJ_DIR) && \ | 
 | 	) true | 
 | #     Install the shared libraries, if any, using $(INSTALL) instead | 
 | #     of $(INSTALL_DATA). The latter may force a mode inappropriate | 
 | #     for shared libraries on some targets, e.g. on HP-UX where the x | 
 | #     permission is required. | 
 | 	for file in gnat gnarl; do \ | 
 | 	   if [ -f rts/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext) ]; then \ | 
 | 	      $(INSTALL) rts/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext) \ | 
 | 			 $(DESTDIR)$(ADA_RTL_OBJ_DIR); \ | 
 | 	   fi; \ | 
 | 	   if [ -f rts/lib$${file}$(soext) ]; then \ | 
 | 	      $(LN_S) lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext) \ | 
 | 	      $(DESTDIR)$(ADA_RTL_OBJ_DIR)/lib$${file}$(soext); \ | 
 | 	   fi; \ | 
 | 	done | 
 | # This copy must be done preserving the date on the original file. | 
 | 	for file in rts/*.adb rts/*.ads; do \ | 
 | 	    $(INSTALL_DATA_DATE) $$file $(DESTDIR)$(ADA_INCLUDE_DIR); \ | 
 | 	done | 
 | 	cd $(DESTDIR)$(ADA_INCLUDE_DIR); $(CHMOD) a-wx *.adb | 
 | 	cd $(DESTDIR)$(ADA_INCLUDE_DIR); $(CHMOD) a-wx *.ads | 
 |  | 
 | ../stamp-gnatlib2: | 
 | 	$(RM) rts/s-*.ali | 
 | 	$(RM) rts/s-*$(objext) | 
 | 	$(RM) rts/a-*.ali | 
 | 	$(RM) rts/a-*$(objext) | 
 | 	$(RM) rts/*.ali | 
 | 	$(RM) rts/*$(objext) | 
 | 	$(RM) rts/*$(arext) | 
 | 	$(RM) rts/*$(soext) | 
 | 	touch ../stamp-gnatlib2 | 
 | 	$(RM) ../stamp-gnatlib | 
 |  | 
 | # NOTE: The $(foreach ...) commands assume ";" is the valid separator between | 
 | #       successive target commands. Although the Gnu make documentation | 
 | #       implies this is true on all systems, I suspect it may not be, So care | 
 | #       has been taken to allow a sed script to look for ";)" and substitue | 
 | #       for ";" the appropriate character in the range of lines below | 
 | #       beginning with "GNULLI Begin" and ending with "GNULLI End" | 
 |  | 
 | # GNULLI Begin ########################################################### | 
 |  | 
 | ../stamp-gnatlib1: Makefile ../stamp-gnatlib2 | 
 | 	$(RMDIR) rts | 
 | 	$(MKDIR) rts | 
 | 	$(CHMOD) u+w rts | 
 | # Copy target independent sources | 
 | 	$(foreach f,$(ADA_INCLUDE_SRCS) $(LIBGNAT_SRCS), \ | 
 | 	  $(LN_S) $(fsrcpfx)$(f) rts ;) true | 
 | # Remove files to be replaced by target dependent sources | 
 | 	$(RM) $(foreach PAIR,$(LIBGNAT_TARGET_PAIRS), \ | 
 | 	                rts/$(word 1,$(subst <, ,$(PAIR)))) | 
 | 	$(RM) rts/*-*-*.ads rts/*-*-*.adb | 
 | # Copy new target dependent sources | 
 | 	$(foreach PAIR,$(LIBGNAT_TARGET_PAIRS), \ | 
 | 	          $(LN_S) $(fsrcpfx)$(word 2,$(subst <, ,$(PAIR))) \ | 
 | 	                rts/$(word 1,$(subst <, ,$(PAIR)));) | 
 | 	$(RM) ../stamp-gnatlib | 
 | 	touch ../stamp-gnatlib1 | 
 |  | 
 | # GNULLI End ############################################################# | 
 |  | 
 | # Don't use semicolon separated shell commands that involve list expansions. | 
 | # The semicolon triggers a call to DCL on VMS and DCL can't handle command | 
 | # line lengths in excess of 256 characters. | 
 | # Example: cd rts; ar rc libfoo.a $(LONG_LIST_OF_OBJS) | 
 | # is guaranteed to overflow the buffer. | 
 |  | 
 | gnatlib: ../stamp-gnatlib1 ../stamp-gnatlib2 | 
 | 	$(MAKE) -C rts \ | 
 | 		CC="`echo \"$(GCC_FOR_TARGET)\" \ | 
 | 		| sed -e 's,^\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'`" \ | 
 | 	        INCLUDES="$(INCLUDES_FOR_SUBDIR) -I./../.." \ | 
 |                 CFLAGS="$(GNATLIBCFLAGS_FOR_C)" \ | 
 | 		srcdir=$(fsrcdir) \ | 
 | 	        -f ../Makefile $(LIBGNAT_OBJS) | 
 | 	$(MAKE) -C rts \ | 
 | 		CC="`echo \"$(GCC_FOR_TARGET)\" \ | 
 | 		| sed -e 's,^\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'`" \ | 
 | 	        ADA_INCLUDES="" \ | 
 |                 CFLAGS="$(GNATLIBCFLAGS)" \ | 
 | 	        ADAFLAGS="$(GNATLIBFLAGS)" \ | 
 | 		srcdir=$(fsrcdir) \ | 
 | 	        -f ../Makefile \ | 
 | 	        $(GNATRTL_OBJS) | 
 | 	$(RM) rts/libgnat$(arext) rts/libgnarl$(arext) | 
 | 	$(AR_FOR_TARGET) $(AR_FLAGS) rts/libgnat$(arext) \ | 
 | 	   $(addprefix rts/,$(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS)) | 
 |         ifneq ($(PREFIX_OBJS),) | 
 | 		$(AR_FOR_TARGET) $(AR_FLAGS) rts/libgccprefix$(arext) \ | 
 | 		  $(PREFIX_OBJS); | 
 | 		$(RANLIB_FOR_TARGET) rts/libgccprefix$(arext) | 
 |         endif | 
 | 	$(RANLIB_FOR_TARGET) rts/libgnat$(arext) | 
 | 	$(AR_FOR_TARGET) $(AR_FLAGS) rts/libgnarl$(arext) \ | 
 | 	   $(addprefix rts/,$(GNATRTL_TASKING_OBJS)) | 
 | 	$(RANLIB_FOR_TARGET) rts/libgnarl$(arext) | 
 |         ifeq ($(GMEM_LIB),gmemlib) | 
 | 		$(AR_FOR_TARGET) $(AR_FLAGS) rts/libgmem$(arext) \ | 
 | 		  rts/memtrack.o | 
 | 		$(RANLIB_FOR_TARGET) rts/libgmem$(arext) | 
 |         endif | 
 | 	$(CHMOD) a-wx rts/*.ali | 
 | 	touch ../stamp-gnatlib | 
 |  | 
 | # Warning: this target assumes that LIBRARY_VERSION has been set correctly. | 
 | gnatlib-shared-default: | 
 | 	$(MAKE) $(FLAGS_TO_PASS) \ | 
 |              GNATLIBFLAGS="$(GNATLIBFLAGS)" \ | 
 | 	     GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(TARGET_LIBGCC2_CFLAGS)" \ | 
 | 	     THREAD_KIND="$(THREAD_KIND)" \ | 
 |              gnatlib | 
 | 	$(RM) rts/libgna*$(soext) | 
 | 	cd rts; ../../xgcc -B../../ -shared $(GNATLIBCFLAGS) \ | 
 | 		$(TARGET_LIBGCC2_CFLAGS) \ | 
 | 		-o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ | 
 | 		$(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \ | 
 | 		$(SO_OPTS)libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ | 
 | 		$(MISCLIB) -lm | 
 | 	cd rts; ../../xgcc -B../../ -shared $(GNATLIBCFLAGS) \ | 
 | 		$(TARGET_LIBGCC2_CFLAGS) \ | 
 | 		-o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ | 
 | 		$(GNATRTL_TASKING_OBJS) \ | 
 | 		$(SO_OPTS)libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ | 
 | 		$(THREADSLIB) | 
 | 	cd rts; $(LN_S) libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ | 
 | 		libgnat$(soext) | 
 | 	cd rts; $(LN_S) libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ | 
 | 		libgnarl$(soext) | 
 |  | 
 | gnatlib-shared-dual: | 
 | 	$(MAKE) $(FLAGS_TO_PASS) \ | 
 |              GNATLIBFLAGS="$(GNATLIBFLAGS)" \ | 
 | 	     GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ | 
 | 	     THREAD_KIND="$(THREAD_KIND)" \ | 
 |              gnatlib-shared-default | 
 | 	$(MV) rts/libgna*$(soext) . | 
 | 	$(RM) ../stamp-gnatlib2 | 
 | 	$(MAKE) $(FLAGS_TO_PASS) \ | 
 |              GNATLIBFLAGS="$(GNATLIBFLAGS)" \ | 
 | 	     GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ | 
 | 	     THREAD_KIND="$(THREAD_KIND)" \ | 
 |              gnatlib | 
 | 	$(MV) libgna*$(soext) rts | 
 |  | 
 | gnatlib-shared-dual-win32: | 
 | 	$(MAKE) $(FLAGS_TO_PASS) \ | 
 |              GNATLIBFLAGS="$(GNATLIBFLAGS)" \ | 
 | 	     GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(TARGET_LIBGCC2_CFLAGS)" \ | 
 | 	     THREAD_KIND="$(THREAD_KIND)" \ | 
 |              gnatlib-shared-win32 | 
 | 	$(MV) rts/libgna*$(soext) . | 
 | 	$(RM) ../stamp-gnatlib2 | 
 | 	$(MAKE) $(FLAGS_TO_PASS) \ | 
 |              GNATLIBFLAGS="$(GNATLIBFLAGS)" \ | 
 | 	     GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ | 
 | 	     THREAD_KIND="$(THREAD_KIND)" \ | 
 |              gnatlib | 
 | 	$(MV) libgna*$(soext) rts | 
 |  | 
 | # ??? we need to add the option to support auto-import of arrays/records to | 
 | # the GNATLIBFLAGS when this will be supported by GNAT. At this point we will | 
 | # use the gnatlib-shared-dual-win32 target to build the GNAT runtimes on | 
 | # Windows. | 
 | gnatlib-shared-win32: | 
 | 	$(MAKE) $(FLAGS_TO_PASS) \ | 
 |              GNATLIBFLAGS="$(GNATLIBFLAGS)" \ | 
 | 	     GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(TARGET_LIBGCC2_CFLAGS)" \ | 
 | 	     THREAD_KIND="$(THREAD_KIND)" \ | 
 |              gnatlib | 
 | 	$(RM) rts/libgna*$(soext) | 
 | 	cd rts; ../../xgcc -B../../ -shared $(TARGET_LIBGCC2_CFLAGS) \ | 
 | 		-o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ | 
 | 		$(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \ | 
 | 		$(SO_OPTS)libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) $(MISCLIB) | 
 | 	cd rts; ../../xgcc -B../../ -shared $(TARGET_LIBGCC2_CFLAGS) \ | 
 | 		-o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ | 
 | 		$(GNATRTL_TASKING_OBJS) \ | 
 | 		$(SO_OPTS)libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ | 
 | 		$(THREADSLIB) -Wl,libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) | 
 |  | 
 | gnatlib-shared-darwin: | 
 | 	$(MAKE) $(FLAGS_TO_PASS) \ | 
 | 	     GNATLIBFLAGS="$(GNATLIBFLAGS)" \ | 
 | 	     GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(TARGET_LIBGCC2_CFLAGS) \ | 
 | 	                    -fno-common" \ | 
 | 	     THREAD_KIND="$(THREAD_KIND)" \ | 
 | 	     gnatlib | 
 | 	$(RM) rts/libgnat$(soext) rts/libgnarl$(soext) | 
 | 	cd rts; ../../xgcc -B../../ -dynamiclib $(TARGET_LIBGCC2_CFLAGS) \ | 
 | 		-o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ | 
 | 		$(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \ | 
 | 		$(SO_OPTS) \ | 
 | 		$(MISCLIB) -lm | 
 | 	cd rts; ../../xgcc -B../../ -dynamiclib $(TARGET_LIBGCC2_CFLAGS) \ | 
 | 		-o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ | 
 | 		$(GNATRTL_TASKING_OBJS) \ | 
 | 		$(SO_OPTS) \ | 
 | 		$(THREADSLIB) -Wl,libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) | 
 | 	cd rts; $(LN_S) libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ | 
 | 		libgnat$(soext) | 
 | 	cd rts; $(LN_S) libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ | 
 | 		libgnarl$(soext) | 
 |  | 
 | gnatlib-shared-vms: | 
 | 	$(MAKE) $(FLAGS_TO_PASS) \ | 
 |              GNATLIBFLAGS="$(GNATLIBFLAGS)" \ | 
 | 	     GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ | 
 | 	     THREAD_KIND="$(THREAD_KIND)" \ | 
 |              gnatlib | 
 | 	$(RM) rts/libgna*$(soext) | 
 | 	cd rts && echo "case_sensitive=yes" > SYMVEC_$$$$.opt && \ | 
 | 	objdump --syms $(LIBGNAT_OBJS) $(GNATRTL_NONTASKING_OBJS) | \ | 
 | 	$(SHLIB_SYMVEC) >> SYMVEC_$$$$.opt && \ | 
 | 	echo "case_sensitive=NO" >> SYMVEC_$$$$.opt && \ | 
 | 	../../xgcc -g -B../../ -nostartfiles -shared -shared-libgcc \ | 
 | 	   -o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) libgnat.a \ | 
 | 	   sys\$$library:trace.exe \ | 
 | 	   --for-linker=/noinform \ | 
 | 	   --for-linker=SYMVEC_$$$$.opt \ | 
 | 	   --for-linker=gsmatch=equal,$(GSMATCH_VERSION) | 
 | 	cd rts && echo "case_sensitive=yes" > SYMVEC_$$$$.opt && \ | 
 | 	objdump --syms $(GNATRTL_TASKING_OBJS) | \ | 
 | 	$(SHLIB_SYMVEC) >> SYMVEC_$$$$.opt && \ | 
 | 	echo "case_sensitive=NO" >> SYMVEC_$$$$.opt && \ | 
 | 	../../xgcc -g -B../../ -nostartfiles -shared -shared-libgcc \ | 
 | 	   -o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ | 
 | 	   libgnarl.a libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ | 
 | 	   sys\$$library:trace.exe \ | 
 | 	   --for-linker=/noinform \ | 
 | 	   --for-linker=SYMVEC_$$$$.opt \ | 
 | 	   --for-linker=gsmatch=equal,$(GSMATCH_VERSION) | 
 |  | 
 | gnatlib-shared: | 
 | 	$(MAKE) $(FLAGS_TO_PASS) \ | 
 |              GNATLIBFLAGS="$(GNATLIBFLAGS)" \ | 
 | 	     GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ | 
 | 	     THREAD_KIND="$(THREAD_KIND)" \ | 
 | 	     TARGET_LIBGCC2_CFLAGS="$(TARGET_LIBGCC2_CFLAGS)" \ | 
 |              $(GNATLIB_SHARED) | 
 |  | 
 | gnatlib-sjlj: | 
 | 	$(MAKE) $(FLAGS_TO_PASS) EH_MECHANISM="" ../stamp-gnatlib1 | 
 | 	sed -e 's/ZCX_By_Default.*/ZCX_By_Default            : constant Boolean := False;/' rts/system.ads > rts/s.ads | 
 | 	$(MV) rts/s.ads rts/system.ads | 
 | 	$(MAKE) $(FLAGS_TO_PASS) \ | 
 | 	     EH_MECHANISM="" \ | 
 | 	     GNATLIBFLAGS="$(GNATLIBFLAGS)" \ | 
 | 	     GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ | 
 | 	     THREAD_KIND="$(THREAD_KIND)" \ | 
 | 	     TARGET_LIBGCC2_CFLAGS="$(TARGET_LIBGCC2_CFLAGS)" gnatlib | 
 |  | 
 | gnatlib-zcx: | 
 | 	$(MAKE) $(FLAGS_TO_PASS) EH_MECHANISM="-gcc" ../stamp-gnatlib1 | 
 | 	sed -e 's/ZCX_By_Default.*/ZCX_By_Default            : constant Boolean := True;/' rts/system.ads > rts/s.ads | 
 | 	$(MV) rts/s.ads rts/system.ads | 
 | 	$(MAKE) $(FLAGS_TO_PASS) \ | 
 | 	     EH_MECHANISM="-gcc" \ | 
 | 	     GNATLIBFLAGS="$(GNATLIBFLAGS)" \ | 
 | 	     GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ | 
 | 	     THREAD_KIND="$(THREAD_KIND)" \ | 
 | 	     TARGET_LIBGCC2_CFLAGS="$(TARGET_LIBGCC2_CFLAGS)" gnatlib | 
 |  | 
 | # .s files for cross-building | 
 | gnat-cross: force | 
 | 	make $(GNAT1_ADA_OBJS) CC="gcc -B../stage1/" CFLAGS="-S -gnatp" | 
 |  | 
 | # Compiling object files from source files. | 
 |  | 
 | # Note that dependencies on obstack.h are not written | 
 | # because that file is not part of GCC. | 
 | # Dependencies on gvarargs.h are not written | 
 | # because all that file does, when not compiling with GCC, | 
 | # is include the system varargs.h. | 
 |  | 
 | b_gnatl.c : $(GNATLINK_OBJS) | 
 | 	$(GNATBIND) -C $(ADA_INCLUDES) -o b_gnatl.c gnatlink.ali | 
 | b_gnatl.o : b_gnatl.c | 
 |  | 
 | b_gnatm.c : $(GNATMAKE_OBJS) | 
 | 	$(GNATBIND) -C $(ADA_INCLUDES) -o b_gnatm.c gnatmake.ali | 
 | b_gnatm.o : b_gnatm.c | 
 |  | 
 | ADA_INCLUDE_DIR = $(libsubdir)/adainclude | 
 | ADA_RTL_OBJ_DIR = $(libsubdir)/adalib | 
 |  | 
 | # force no sibling call optimization on s-traceb.o so the number of stack | 
 | # frames to be skipped when computing a call chain is not modified by | 
 | # optimization. However we can do that only when building the runtime | 
 | # (not the compiler) because the -fno-optimize-sibling-calls exists | 
 | # only in GCC 3. | 
 |  | 
 | ifneq (,$(findstring xgcc,$(CC))) | 
 | NO_SIBLING_ADAFLAGS=-fno-optimize-sibling-calls | 
 | else | 
 | NO_SIBLING_ADAFLAGS= | 
 | endif | 
 |  | 
 | s-traceb.o  : s-traceb.adb | 
 | 	$(CC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) \ | 
 | 	      $(NO_SIBLING_ADAFLAGS) $(ADA_INCLUDES) \ | 
 |       $< $(OUTPUT_OPTION) | 
 |  | 
 | # force debugging information on s-tasdeb.o so that it is always | 
 | # possible to set conditional breakpoints on tasks. | 
 |  | 
 | s-tasdeb.o  : s-tasdeb.adb s-tasdeb.ads | 
 | 	$(CC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) -O0 $(ADA_INCLUDES) \ | 
 | 	      $< $(OUTPUT_OPTION) | 
 |  | 
 | # force debugging information on a-except.o so that it is always | 
 | # possible to set conditional breakpoints on exceptions. | 
 | # use -O1 otherwise gdb isn't able to get a full backtrace on mips targets. | 
 |  | 
 | a-except.o  : a-except.adb a-except.ads | 
 | 	$(CC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) -O1 -fno-inline \ | 
 | 	      $(ADA_INCLUDES) $< $(OUTPUT_OPTION) | 
 |  | 
 | # force debugging information on s-assert.o so that it is always | 
 | # possible to set breakpoint on assert failures. | 
 |  | 
 | s-assert.o  : s-assert.adb s-assert.ads a-except.ads | 
 | 	$(CC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) -O2 $(ADA_INCLUDES) \ | 
 | 	      $< $(OUTPUT_OPTION) | 
 |  | 
 | adadecode.o : adadecode.c adadecode.h | 
 | aux-io.o  : aux-io.c | 
 | argv.o    : argv.c | 
 | cal.o     : cal.c | 
 | deftarg.o : deftarg.c | 
 | errno.o   : errno.c | 
 | exit.o    : adaint.h exit.c | 
 | expect.o  : expect.c | 
 | final.o   : final.c | 
 | gmem.o    : gmem.c | 
 | link.o    : link.c | 
 | mkdir.o   : mkdir.c | 
 | socket.o  : socket.c gsocket.h | 
 | sysdep.o  : sysdep.c | 
 | raise-gcc.o : raise-gcc.c raise.h | 
 | raise.o   : raise.c raise.h | 
 |  | 
 | gen-soccon: gen-soccon.c gsocket.h | 
 | 	$(CC) $(ALL_CFLAGS) $(ADA_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ | 
 | 		-UIN_GCC -DTARGET=\"$(target_alias)\" \ | 
 | 		$< $(OUTPUT_OPTION) | 
 |  | 
 | cio.o     : cio.c | 
 | 	$(CC) -c $(ALL_CFLAGS) $(ADA_CFLAGS) \ | 
 | 	         $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION) | 
 |  | 
 | init.o    : init.c adaint.h raise.h | 
 | 	$(CC) -c $(ALL_CFLAGS) $(ADA_CFLAGS) \ | 
 | 	         $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION) | 
 |  | 
 | initialize.o : initialize.c raise.h | 
 | 	$(CC) -c $(ALL_CFLAGS) $(ADA_CFLAGS) \ | 
 | 	         $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION) | 
 |  | 
 | targext.o : targext.c | 
 | 	$(CC) -c $(ALL_CFLAGS) $(ADA_CFLAGS) \ | 
 | 		$(ALL_CPPFLAGS) $(INCLUDES_FOR_SUBDIR) \ | 
 | 		$< $(OUTPUT_OPTION) | 
 |  | 
 | # No optimization to compile this file as optimizations (-O1 or above) breaks | 
 | # the SEH handling on Windows. The reasons are not clear. | 
 | seh_init.o : seh_init.c raise.h | 
 | 	$(CC) -c $(ALL_CFLAGS) $(ADA_CFLAGS) -O0 \ | 
 | 	         $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION) | 
 |  | 
 | # Need to keep the frame pointer in this file to pop the stack properly on | 
 | # some targets. | 
 | tracebak.o  : tracebak.c tb-alvms.c tb-alvxw.c tb-gcc.c | 
 | 	$(CC) -c $(ALL_CFLAGS) $(ADA_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ | 
 | 	      -fno-omit-frame-pointer $< $(OUTPUT_OPTION) | 
 |  | 
 | # In GNU Make, ignore whether `stage*' exists. | 
 | .PHONY: stage1 stage2 stage3 stage4 clean realclean TAGS bootstrap | 
 | .PHONY: risky-stage1 risky-stage2 risky-stage3 risky-stage4 | 
 |  | 
 | force: | 
 |  | 
 | # Gnatlbr, Vms_help, and Gnat.hlp are only used on VMS | 
 |  | 
 | ../../gnatlbr$(exeext): ../../prefix.o | 
 | 	$(GNATMAKE) -c $(ADA_INCLUDES) gnatlbr --GCC="$(CC) $(ALL_ADAFLAGS)" | 
 | 	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatlbr | 
 | 	$(GNATLINK) -v gnatlbr -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS) | 
 |  | 
 | ../../vms_help$(exeext): | 
 | 	$(GNATMAKE) -c $(ADA_INCLUDES) vms_help --GCC="$(CC) $(ALL_ADAFLAGS)" | 
 | 	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) vms_help | 
 | 	$(GNATLINK) -v vms_help -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS) | 
 |  | 
 | ../../gnat.hlp: ../../vms_help$(exeext) | 
 | 	../../vms_help$(exeext) $(fsrcdir)/gnat.help_in \ | 
 | 	                        $(fsrcdir)/vms_data.ads ../../gnat.hlp |