# Makefile.rtl for GNU Ada Compiler (GNAT).
# Copyright (C) 2003-2021, 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 3, 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 COPYING3. If not see
#.
# This makefile fragment is included in the ada Makefile.
# Its purpose is to allow the separate maintenance of the list of
# GNATRTL objects and target pairs, which frequently changes.
ifndef ADAC
ADAC=$(CC)
endif
# Objects needed only for tasking
GNATRTL_TASKING_OBJS= \
a-dispat$(objext) \
a-dynpri$(objext) \
a-interr$(objext) \
a-intnam$(objext) \
a-reatim$(objext) \
a-retide$(objext) \
a-rttiev$(objext) \
a-synbar$(objext) \
a-sytaco$(objext) \
a-tasatt$(objext) \
a-taside$(objext) \
a-tasini$(objext) \
a-taster$(objext) \
g-boubuf$(objext) \
g-boumai$(objext) \
g-semaph$(objext) \
g-signal$(objext) \
g-tastus$(objext) \
g-thread$(objext) \
s-inmaop$(objext) \
s-interr$(objext) \
s-intman$(objext) \
s-mudido$(objext) \
s-osinte$(objext) \
s-proinf$(objext) \
s-putaim$(objext) \
s-solita$(objext) \
s-stusta$(objext) \
s-taasde$(objext) \
s-tadeca$(objext) \
s-tadert$(objext) \
s-taenca$(objext) \
s-taprob$(objext) \
s-taprop$(objext) \
s-tarest$(objext) \
s-tasdeb$(objext) \
s-tasinf$(objext) \
s-tasini$(objext) \
s-taskin$(objext) \
s-taspri$(objext) \
s-tasque$(objext) \
s-tasren$(objext) \
s-tasres$(objext) \
s-tassta$(objext) \
s-tasuti$(objext) \
s-tataat$(objext) \
s-tpinop$(objext) \
s-tpoben$(objext) \
s-tpobop$(objext) \
s-tposen$(objext) \
thread$(objext) \
$(EXTRA_GNATRTL_TASKING_OBJS)
# Objects that require IEEE Float
GNATRTL_ALTIVEC_OBJS= \
g-allein$(objext) \
g-alleve$(objext) \
g-altcon$(objext) \
g-altive$(objext) \
g-alveop$(objext) \
g-alvety$(objext) \
g-alvevi$(objext)
# Objects needed for non-tasking
GNATRTL_NONTASKING_OBJS= \
a-assert$(objext) \
a-btgbso$(objext) \
a-calari$(objext) \
a-calcon$(objext) \
a-caldel$(objext) \
a-calend$(objext) \
a-calfor$(objext) \
a-catizo$(objext) \
a-cbdlli$(objext) \
a-cbhama$(objext) \
a-cbhase$(objext) \
a-cbmutr$(objext) \
a-cborma$(objext) \
a-cborse$(objext) \
a-cbprqu$(objext) \
a-cbsyqu$(objext) \
a-cdlili$(objext) \
a-cgaaso$(objext) \
a-cgarso$(objext) \
a-cgcaso$(objext) \
a-chacon$(objext) \
a-chahan$(objext) \
a-charac$(objext) \
a-chlat1$(objext) \
a-chlat9$(objext) \
a-chtgbk$(objext) \
a-chtgbo$(objext) \
a-chtgfk$(objext) \
a-chtgfo$(objext) \
a-chtgke$(objext) \
a-chtgop$(objext) \
a-chzla1$(objext) \
a-chzla9$(objext) \
a-cidlli$(objext) \
a-cihama$(objext) \
a-cihase$(objext) \
a-cimutr$(objext) \
a-ciorma$(objext) \
a-ciormu$(objext) \
a-ciorse$(objext) \
a-clrefi$(objext) \
a-coboho$(objext) \
a-cobove$(objext) \
a-cogeso$(objext) \
a-cohata$(objext) \
a-coinho$(objext) \
a-coinve$(objext) \
a-colien$(objext) \
a-colire$(objext) \
a-comlin$(objext) \
a-comutr$(objext) \
a-conhel$(objext) \
a-contai$(objext) \
a-convec$(objext) \
a-coorma$(objext) \
a-coormu$(objext) \
a-coorse$(objext) \
a-coprnu$(objext) \
a-costso$(objext) \
a-coteio$(objext) \
a-crbltr$(objext) \
a-crbtgk$(objext) \
a-crbtgo$(objext) \
a-crdlli$(objext) \
a-csquin$(objext) \
a-cuprqu$(objext) \
a-cusyqu$(objext) \
a-cwila1$(objext) \
a-cwila9$(objext) \
a-decima$(objext) \
a-dhfina$(objext) \
a-diocst$(objext) \
a-direct$(objext) \
a-direio$(objext) \
a-dirval$(objext) \
a-einuoc$(objext) \
a-elchha$(objext) \
a-envvar$(objext) \
a-except$(objext) \
a-exctra$(objext) \
a-finali$(objext) \
a-flteio$(objext) \
a-fwteio$(objext) \
a-fzteio$(objext) \
a-inteio$(objext) \
a-ioexce$(objext) \
a-iteint$(objext) \
a-iwteio$(objext) \
a-izteio$(objext) \
a-lcteio$(objext) \
a-lfteio$(objext) \
a-lfwtio$(objext) \
a-lfztio$(objext) \
a-liteio$(objext) \
a-liwtio$(objext) \
a-liztio$(objext) \
a-llctio$(objext) \
a-llftio$(objext) \
a-llfwti$(objext) \
a-llfzti$(objext) \
a-llitio$(objext) \
a-lliwti$(objext) \
a-llizti$(objext) \
a-llltio$(objext) \
a-lllwti$(objext) \
a-lllzti$(objext) \
a-locale$(objext) \
a-nagefl$(objext) \
a-naliop$(objext) \
a-nallfl$(objext) \
a-nalofl$(objext) \
a-nashfl$(objext) \
a-nbnbig$(objext) \
a-nbnbin$(objext) \
a-nbnbre$(objext) \
a-ncelfu$(objext) \
a-ngcefu$(objext) \
a-ngcoar$(objext) \
a-ngcoty$(objext) \
a-ngelfu$(objext) \
a-ngrear$(objext) \
a-nlcefu$(objext) \
a-nlcoar$(objext) \
a-nlcoty$(objext) \
a-nlelfu$(objext) \
a-nllcar$(objext) \
a-nllcef$(objext) \
a-nllcty$(objext) \
a-nllefu$(objext) \
a-nllrar$(objext) \
a-nlrear$(objext) \
a-nscefu$(objext) \
a-nscoty$(objext) \
a-nselfu$(objext) \
a-nuauco$(objext) \
a-nuaufl$(objext) \
a-nubinu$(objext) \
a-nucoar$(objext) \
a-nucoty$(objext) \
a-nudira$(objext) \
a-nuelfu$(objext) \
a-nuflra$(objext) \
a-numaux$(objext) \
a-numeri$(objext) \
a-nurear$(objext) \
a-rbtgbk$(objext) \
a-rbtgbo$(objext) \
a-rbtgso$(objext) \
a-sbecin$(objext) \
a-sbhcin$(objext) \
a-sblcin$(objext) \
a-scteio$(objext) \
a-secain$(objext) \
a-sequio$(objext) \
a-sfecin$(objext) \
a-sfhcin$(objext) \
a-sflcin$(objext) \
a-sfteio$(objext) \
a-sfwtio$(objext) \
a-sfztio$(objext) \
a-shcain$(objext) \
a-siocst$(objext) \
a-siteio$(objext) \
a-siwtio$(objext) \
a-siztio$(objext) \
a-slcain$(objext) \
a-ssicst$(objext) \
a-ssitio$(objext) \
a-ssiwti$(objext) \
a-ssizti$(objext) \
a-stboha$(objext) \
a-stbubo$(objext) \
a-stbufi$(objext) \
a-stbufo$(objext) \
a-stbuun$(objext) \
a-stbuut$(objext) \
a-stfiha$(objext) \
a-stmaco$(objext) \
a-storio$(objext) \
a-strbou$(objext) \
a-stream$(objext) \
a-strfix$(objext) \
a-strhas$(objext) \
a-string$(objext) \
a-strmap$(objext) \
a-strsea$(objext) \
a-strsto$(objext) \
a-strsup$(objext) \
a-strunb$(objext) \
a-ststbo$(objext) \
a-ststio$(objext) \
a-ststun$(objext) \
a-sttebu$(objext) \
a-stunau$(objext) \
a-stunha$(objext) \
a-stuten$(objext) \
a-stwibo$(objext) \
a-stwifi$(objext) \
a-stwiha$(objext) \
a-stwima$(objext) \
a-stwise$(objext) \
a-stwisu$(objext) \
a-stwiun$(objext) \
a-stzbou$(objext) \
a-stzfix$(objext) \
a-stzhas$(objext) \
a-stzmap$(objext) \
a-stzsea$(objext) \
a-stzsup$(objext) \
a-stzunb$(objext) \
a-suecin$(objext) \
a-suenco$(objext) \
a-suenst$(objext) \
a-suewst$(objext) \
a-suezst$(objext) \
a-suhcin$(objext) \
a-sulcin$(objext) \
a-suteio$(objext) \
a-swbwha$(objext) \
a-swfwha$(objext) \
a-swmwco$(objext) \
a-swunau$(objext) \
a-swuwha$(objext) \
a-swuwti$(objext) \
a-szbzha$(objext) \
a-szfzha$(objext) \
a-szmzco$(objext) \
a-szunau$(objext) \
a-szuzha$(objext) \
a-szuzti$(objext) \
a-tags$(objext) \
a-teioed$(objext) \
a-textio$(objext) \
a-tgdico$(objext) \
a-tiboio$(objext) \
a-ticoau$(objext) \
a-ticoio$(objext) \
a-tideau$(objext) \
a-tideio$(objext) \
a-tienau$(objext) \
a-tienio$(objext) \
a-tifiau$(objext) \
a-tifiio$(objext) \
a-tiflau$(objext) \
a-tiflio$(objext) \
a-tigeau$(objext) \
a-tiinau$(objext) \
a-tiinio$(objext) \
a-timoio$(objext) \
a-tiocst$(objext) \
a-tirsfi$(objext) \
a-titest$(objext) \
a-tiunio$(objext) \
a-unccon$(objext) \
a-uncdea$(objext) \
a-undesu$(objext) \
a-wichha$(objext) \
a-wichun$(objext) \
a-widcha$(objext) \
a-witeio$(objext) \
a-wrstfi$(objext) \
a-wtcoau$(objext) \
a-wtcoio$(objext) \
a-wtcstr$(objext) \
a-wtdeau$(objext) \
a-wtdeio$(objext) \
a-wtedit$(objext) \
a-wtenau$(objext) \
a-wtenio$(objext) \
a-wtfiau$(objext) \
a-wtfiio$(objext) \
a-wtflau$(objext) \
a-wtflio$(objext) \
a-wtgeau$(objext) \
a-wtinau$(objext) \
a-wtinio$(objext) \
a-wtmoio$(objext) \
a-wttest$(objext) \
a-wwboio$(objext) \
a-wwunio$(objext) \
a-zchara$(objext) \
a-zchhan$(objext) \
a-zchuni$(objext) \
a-zrstfi$(objext) \
a-ztcoau$(objext) \
a-ztcoio$(objext) \
a-ztcstr$(objext) \
a-ztdeau$(objext) \
a-ztdeio$(objext) \
a-ztedit$(objext) \
a-ztenau$(objext) \
a-ztenio$(objext) \
a-ztexio$(objext) \
a-ztfiau$(objext) \
a-ztfiio$(objext) \
a-ztflau$(objext) \
a-ztflio$(objext) \
a-ztgeau$(objext) \
a-ztinau$(objext) \
a-ztinio$(objext) \
a-ztmoio$(objext) \
a-zttest$(objext) \
a-zzboio$(objext) \
a-zzunio$(objext) \
ada$(objext) \
calendar$(objext) \
directio$(objext) \
g-arrspl$(objext) \
g-awk$(objext) \
g-binenv$(objext) \
g-binsea$(objext) \
g-brapre$(objext) \
g-bubsor$(objext) \
g-busora$(objext) \
g-busorg$(objext) \
g-byorma$(objext) \
g-bytswa$(objext) \
g-calend$(objext) \
g-casuti$(objext) \
g-catiio$(objext) \
g-cgi$(objext) \
g-cgicoo$(objext) \
g-cgideb$(objext) \
g-comlin$(objext) \
g-comver$(objext) \
g-crc32$(objext) \
g-ctrl_c$(objext) \
g-curexc$(objext) \
g-debpoo$(objext) \
g-debuti$(objext) \
g-decstr$(objext) \
g-deutst$(objext) \
g-diopit$(objext) \
g-dirope$(objext) \
g-dynhta$(objext) \
g-dyntab$(objext) \
g-encstr$(objext) \
g-enutst$(objext) \
g-excact$(objext) \
g-except$(objext) \
g-exctra$(objext) \
g-expect$(objext) \
g-exptty$(objext) \
g-flocon$(objext) \
g-forstr$(objext) \
g-gfmafu$(objext) \
g-graphs$(objext) \
g-heasor$(objext) \
g-hesora$(objext) \
g-hesorg$(objext) \
g-htable$(objext) \
g-io$(objext) \
g-io_aux$(objext) \
g-lists$(objext) \
g-locfil$(objext) \
g-mbdira$(objext) \
g-mbflra$(objext) \
g-md5$(objext) \
g-memdum$(objext) \
g-moreex$(objext) \
g-os_lib$(objext) \
g-pehage$(objext) \
g-rannum$(objext) \
g-regexp$(objext) \
g-regpat$(objext) \
g-rewdat$(objext) \
g-sechas$(objext) \
g-sehamd$(objext) \
g-sehash$(objext) \
g-sercom$(objext) \
g-sestin$(objext) \
g-sets$(objext) \
g-sha1$(objext) \
g-sha224$(objext) \
g-sha256$(objext) \
g-sha384$(objext) \
g-sha512$(objext) \
g-shsh32$(objext) \
g-shsh64$(objext) \
g-shshco$(objext) \
g-souinf$(objext) \
g-spchge$(objext) \
g-speche$(objext) \
g-spipat$(objext) \
g-spitbo$(objext) \
g-spogwa$(objext) \
g-sptabo$(objext) \
g-sptain$(objext) \
g-sptavs$(objext) \
g-strhas$(objext) \
g-string$(objext) \
g-strspl$(objext) \
g-table$(objext) \
g-tasloc$(objext) \
g-timsta$(objext) \
g-traceb$(objext) \
g-trasym$(objext) \
g-tty$(objext) \
g-u3spch$(objext) \
g-utf_32$(objext) \
g-wispch$(objext) \
g-wistsp$(objext) \
g-zspche$(objext) \
g-zstspl$(objext) \
gnat$(objext) \
i-c$(objext) \
i-cexten$(objext) \
i-cobol$(objext) \
i-cpoint$(objext) \
i-cstrea$(objext) \
i-cstrin$(objext) \
i-fortra$(objext) \
i-pacdec$(objext) \
interfac$(objext) \
ioexcept$(objext) \
machcode$(objext) \
s-addima$(objext) \
s-addope$(objext) \
s-aoinar$(objext) \
s-aomoar$(objext) \
s-aotase$(objext) \
s-aridou$(objext) \
s-arit32$(objext) \
s-arit64$(objext) \
s-assert$(objext) \
s-atacco$(objext) \
s-atocou$(objext) \
s-atoope$(objext) \
s-atopex$(objext) \
s-atopri$(objext) \
s-auxdec$(objext) \
s-bignum$(objext) \
s-bitfie$(objext) \
s-bitops$(objext) \
s-bituti$(objext) \
s-boarop$(objext) \
s-boustr$(objext) \
s-bytswa$(objext) \
s-carsi8$(objext) \
s-carun8$(objext) \
s-casi16$(objext) \
s-casi32$(objext) \
s-casi64$(objext) \
s-casuti$(objext) \
s-caun16$(objext) \
s-caun32$(objext) \
s-caun64$(objext) \
s-chepoo$(objext) \
s-commun$(objext) \
s-conca2$(objext) \
s-conca3$(objext) \
s-conca4$(objext) \
s-conca5$(objext) \
s-conca6$(objext) \
s-conca7$(objext) \
s-conca8$(objext) \
s-conca9$(objext) \
s-crc32$(objext) \
s-crtl$(objext) \
s-dfmkio$(objext) \
s-dfmopr$(objext) \
s-dgmgop$(objext) \
s-diflio$(objext) \
s-diflmk$(objext) \
s-digemk$(objext) \
s-diinio$(objext) \
s-dilomk$(objext) \
s-dim$(objext) \
s-dimkio$(objext) \
s-dimmks$(objext) \
s-direio$(objext) \
s-dlmkio$(objext) \
s-dlmopr$(objext) \
s-dmotpr$(objext) \
s-dourea$(objext) \
s-dsaser$(objext) \
s-elaall$(objext) \
s-excdeb$(objext) \
s-except$(objext) \
s-exctab$(objext) \
s-exctra$(objext) \
s-exnflt$(objext) \
s-exnint$(objext) \
s-exnlfl$(objext) \
s-exnllf$(objext) \
s-exnlli$(objext) \
s-expint$(objext) \
s-explli$(objext) \
s-expllu$(objext) \
s-expmod$(objext) \
s-exponn$(objext) \
s-exponr$(objext) \
s-expont$(objext) \
s-exponu$(objext) \
s-expuns$(objext) \
s-fatflt$(objext) \
s-fatgen$(objext) \
s-fatlfl$(objext) \
s-fatllf$(objext) \
s-ficobl$(objext) \
s-filatt$(objext) \
s-fileio$(objext) \
s-finmas$(objext) \
s-finroo$(objext) \
s-flocon$(objext) \
s-fode32$(objext) \
s-fode64$(objext) \
s-fofi32$(objext) \
s-fofi64$(objext) \
s-fore_d$(objext) \
s-fore_f$(objext) \
s-forrea$(objext) \
s-gearop$(objext) \
s-genbig$(objext) \
s-geveop$(objext) \
s-gloloc$(objext) \
s-htable$(objext) \
s-imageb$(objext) \
s-imaged$(objext) \
s-imagef$(objext) \
s-imagei$(objext) \
s-imagen$(objext) \
s-imager$(objext) \
s-imageu$(objext) \
s-imagew$(objext) \
s-imde32$(objext) \
s-imde64$(objext) \
s-imen16$(objext) \
s-imen32$(objext) \
s-imenu8$(objext) \
s-imfi32$(objext) \
s-imfi64$(objext) \
s-imgbiu$(objext) \
s-imgboo$(objext) \
s-imgcha$(objext) \
s-imgflt$(objext) \
s-imgint$(objext) \
s-imglfl$(objext) \
s-imgllb$(objext) \
s-imgllf$(objext) \
s-imglli$(objext) \
s-imgllu$(objext) \
s-imgllw$(objext) \
s-imgrea$(objext) \
s-imguns$(objext) \
s-imguti$(objext) \
s-imgwch$(objext) \
s-imgwiu$(objext) \
s-io$(objext) \
s-llflex$(objext) \
s-maccod$(objext) \
s-mantis$(objext) \
s-mastop$(objext) \
s-memcop$(objext) \
s-memory$(objext) \
s-multip$(objext) \
s-os_lib$(objext) \
s-oscons$(objext) \
s-osprim$(objext) \
s-pack03$(objext) \
s-pack05$(objext) \
s-pack06$(objext) \
s-pack07$(objext) \
s-pack09$(objext) \
s-pack10$(objext) \
s-pack11$(objext) \
s-pack12$(objext) \
s-pack13$(objext) \
s-pack14$(objext) \
s-pack15$(objext) \
s-pack17$(objext) \
s-pack18$(objext) \
s-pack19$(objext) \
s-pack20$(objext) \
s-pack21$(objext) \
s-pack22$(objext) \
s-pack23$(objext) \
s-pack24$(objext) \
s-pack25$(objext) \
s-pack26$(objext) \
s-pack27$(objext) \
s-pack28$(objext) \
s-pack29$(objext) \
s-pack30$(objext) \
s-pack31$(objext) \
s-pack33$(objext) \
s-pack34$(objext) \
s-pack35$(objext) \
s-pack36$(objext) \
s-pack37$(objext) \
s-pack38$(objext) \
s-pack39$(objext) \
s-pack40$(objext) \
s-pack41$(objext) \
s-pack42$(objext) \
s-pack43$(objext) \
s-pack44$(objext) \
s-pack45$(objext) \
s-pack46$(objext) \
s-pack47$(objext) \
s-pack48$(objext) \
s-pack49$(objext) \
s-pack50$(objext) \
s-pack51$(objext) \
s-pack52$(objext) \
s-pack53$(objext) \
s-pack54$(objext) \
s-pack55$(objext) \
s-pack56$(objext) \
s-pack57$(objext) \
s-pack58$(objext) \
s-pack59$(objext) \
s-pack60$(objext) \
s-pack61$(objext) \
s-pack62$(objext) \
s-pack63$(objext) \
s-parame$(objext) \
s-parint$(objext) \
s-pehage$(objext) \
s-pooglo$(objext) \
s-pooloc$(objext) \
s-poosiz$(objext) \
s-powflt$(objext) \
s-powlfl$(objext) \
s-powllf$(objext) \
s-purexc$(objext) \
s-putima$(objext) \
s-rannum$(objext) \
s-ransee$(objext) \
s-regexp$(objext) \
s-regpat$(objext) \
s-resfil$(objext) \
s-restri$(objext) \
s-retsta$(objext) \
s-rident$(objext) \
s-rpc$(objext) \
s-scaval$(objext) \
s-secsta$(objext) \
s-sequio$(objext) \
s-shabig$(objext) \
s-shasto$(objext) \
s-soflin$(objext) \
s-soliin$(objext) \
s-spark$(objext) \
s-spcuop$(objext) \
s-spsufi$(objext) \
s-stache$(objext) \
s-stalib$(objext) \
s-statxd$(objext) \
s-stausa$(objext) \
s-stoele$(objext) \
s-stopoo$(objext) \
s-stposu$(objext) \
s-stratt$(objext) \
s-strhas$(objext) \
s-string$(objext) \
s-ststop$(objext) \
s-tasloc$(objext) \
s-traceb$(objext) \
s-traent$(objext) \
s-trasym$(objext) \
s-unstyp$(objext) \
s-utf_32$(objext) \
s-vade32$(objext) \
s-vade64$(objext) \
s-vaen16$(objext) \
s-vaen32$(objext) \
s-vaenu8$(objext) \
s-vafi32$(objext) \
s-vafi64$(objext) \
s-vaispe$(objext) \
s-valboo$(objext) \
s-valcha$(objext) \
s-valflt$(objext) \
s-valint$(objext) \
s-vallfl$(objext) \
s-valllf$(objext) \
s-vallli$(objext) \
s-valllu$(objext) \
s-valrea$(objext) \
s-valued$(objext) \
s-valuef$(objext) \
s-valuei$(objext) \
s-valuen$(objext) \
s-valuer$(objext) \
s-valueu$(objext) \
s-valuns$(objext) \
s-valuti$(objext) \
s-valwch$(objext) \
s-vauspe$(objext) \
s-veboop$(objext) \
s-vector$(objext) \
s-vercon$(objext) \
s-wchcnv$(objext) \
s-wchcon$(objext) \
s-wchjis$(objext) \
s-wchstw$(objext) \
s-wchwts$(objext) \
s-widboo$(objext) \
s-widcha$(objext) \
s-widenu$(objext) \
s-widint$(objext) \
s-widlli$(objext) \
s-widllu$(objext) \
s-widthi$(objext) \
s-widthu$(objext) \
s-widuns$(objext) \
s-widwch$(objext) \
s-wwdcha$(objext) \
s-wwdenu$(objext) \
s-wwdwch$(objext) \
sequenio$(objext) \
system$(objext) \
text_io$(objext) \
unchconv$(objext) \
unchdeal$(objext) \
$(GNATRTL_ALTIVEC_OBJS) \
$(GNATRTL_SOCKETS_OBJS) \
$(EXTRA_GNATRTL_NONTASKING_OBJS)
# 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
# finds them at runtime.
GCC_SPEC_FILES=
# $(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.
# PowerPC VxWorks6 and VxWorks7
ifeq ($(strip $(filter-out powerpc% wrs vxworks vxworks7%, $(target_cpu) $(target_vendor) $(target_os))),)
ifeq ($(strip $(filter-out powerpc64, $(target_cpu))),)
ARCH_STR=ppc64
else
ARCH_STR=ppc
endif
VX=$(strip $(if $(filter vxworks7%, $(target_os)), vxworks7, vxworks))
SVX=system-$(VX)
LIBGNAT_TARGET_PAIRS = \
a-intnam.ads> $(RTSDIR)/libgnarl.lst; fi \
done
@echo thread.c >> $(RTSDIR)/libgnarl.lst
@for f in \
$(foreach F,$(GNATRTL_NONTASKING_OBJS),$(subst $(objext),.ads,$(F))) \
$(foreach F,$(GNATRTL_NONTASKING_OBJS),$(subst $(objext),.adb,$(F))); \
do \
if [ -f $(RTSDIR)/$$f ]; then echo $$f >> $(RTSDIR)/libgnat.lst; fi \
done
# s-oscons.ads is generated later, so hardcode it here
@echo s-oscons.ads >> $(RTSDIR)/libgnat.lst
@for f in $(LIBGNAT_SRCS); do \
echo $$f >> $(RTSDIR)/libgnat.lst; \
done
# Special flags. It is recommended not to change the compilation flags
# without a careful analysis of the consequences because (part of) the
# runtime implements low-level support that is outside of the semantics
# of the language and therefore needs to be treated differently from the
# other units. For example, the part of the runtime implementing the
# propagation of exceptions cannot itself be compiled with checks that
# may give rise to exceptions, e.g. stack overflow checks.
# Generate target-dependent info into a file named ada_target_properties.
# This information is used by tools for static analysis: they need to know
# the size of standard types for a given run-time library. This metadata
# is meant to be saved at the root of the run-time directory.
ADA_TARGET_PROPERTIES = -gnatet=ada_target_properties
system.o: system.ads
$(ADAC) -c $(ALL_ADAFLAGS) $(ADA_INCLUDES) $< \
$(ADA_TARGET_PROPERTIES) \
$(OUTPUT_OPTION)
# 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. We don't want inlining, either.
s-traceb.o: s-traceb.adb s-traceb.ads
$(ADAC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) \
$(NO_INLINE_ADAFLAGS) $(NO_SIBLING_ADAFLAGS) $(ADA_INCLUDES) $< \
$(OUTPUT_OPTION)
# Compile s-tasdeb.o without optimization and with debug info so that it is
# always possible to set conditional breakpoints on tasks.
s-tasdeb.o: s-tasdeb.adb s-tasdeb.ads
$(ADAC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) -O0 $(ADA_INCLUDES) \
$< $(OUTPUT_OPTION)
# Force no function reordering on a-except.o because of the exclusion bounds
# mechanism (see the source file for more detailed information).
# 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
$(ADAC) -c $(ALL_ADAFLAGS) -O1 $(FORCE_DEBUG_ADAFLAGS) \
$(NO_INLINE_ADAFLAGS) $(NO_REORDER_ADAFLAGS) $(ADA_INCLUDES) \
$< $(OUTPUT_OPTION)
# Compile s-excdeb.o without optimization and with debug info to let the
# debugger set breakpoints and inspect subprogram parameters on exception
# related events.
s-excdeb.o: s-excdeb.adb s-excdeb.ads s-except.ads
$(ADAC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) -O0 \
$(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
$(ADAC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) $(ADA_INCLUDES) \
$< $(OUTPUT_OPTION)
# Force debugging information on a-tags.o so that the debugger can find
# the description of Ada.Tags.Type_Specific_Data.
a-tags.o: a-tags.adb a-tags.ads
$(ADAC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) $(ADA_INCLUDES) \
$< $(OUTPUT_OPTION)
# Force no sibling call optimization on s-memory.o to avoid turning the
# tail recursion in Alloc into a loop that confuses branch prediction.
s-memory.o: s-memory.adb s-memory.ads
$(ADAC) -c $(ALL_ADAFLAGS) $(NO_SIBLING_ADAFLAGS) $(ADA_INCLUDES) \
$< $(OUTPUT_OPTION)
# Need to keep functions ordered on g-debpoo.o since labels are used to
# exclude subprograms from traceback computation.
g-debpoo.o: g-debpoo.adb g-debpoo.ads
$(ADAC) -c $(ALL_ADAFLAGS) $(NO_REORDER_ADAFLAGS) $(ADA_INCLUDES) \
$< $(OUTPUT_OPTION)