]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ada/gcc-interface/Makefile.in
Centralize PICFLAG configuration
[thirdparty/gcc.git] / gcc / ada / gcc-interface / Makefile.in
CommitLineData
a1ab4c31 1# Makefile for GNU Ada Compiler (GNAT).
4bdaaf2f 2# Copyright (C) 1994-2011 Free Software Foundation, Inc.
a1ab4c31
AC
3
4#This file is part of GCC.
5
6#GCC is free software; you can redistribute it and/or modify
7#it under the terms of the GNU General Public License as published by
8#the Free Software Foundation; either version 3, or (at your option)
9#any later version.
10
11#GCC is distributed in the hope that it will be useful,
12#but WITHOUT ANY WARRANTY; without even the implied warranty of
13#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14#GNU General Public License for more details.
15
16#You should have received a copy of the GNU General Public License
17#along with GCC; see the file COPYING3. If not see
18#<http://www.gnu.org/licenses/>.
19
20# The makefile built from this file lives in the language subdirectory.
21# Its purpose is to provide support for:
22#
23# 1) recursion where necessary, and only then (building .o's), and
24# 2) building and debugging cc1 from the language subdirectory, and
25# 3) nothing else.
26#
27# The parent makefile handles all other chores, with help from the
28# language makefile fragment, of course.
29#
30# The targets for external use are:
31# all, TAGS, ???mostlyclean, ???clean.
32
33# This makefile will only work with Gnu make.
34# The rules are written assuming a minimum subset of tools are available:
35#
36# Required:
37# MAKE: Only Gnu make will work.
38# MV: Must accept (at least) one, maybe wildcard, source argument,
39# a file or directory destination, and support creation/
40# modification date preservation. Gnu mv -f works.
41# RM: Must accept an arbitrary number of space separated file
42# arguments, or one wildcard argument. Gnu rm works.
43# RMDIR: Must delete a directory and all its contents. Gnu rm -rf works.
44# ECHO: Must support command line redirection. Any Unix-like
45# shell will typically provide this, otherwise a custom version
46# is trivial to write.
47# AR: Gnu ar works.
48# MKDIR: Gnu mkdir works.
49# CHMOD: Gnu chmod works.
50# true: Does nothing and returns a normal successful return code.
51# pwd: Prints the current directory on stdout.
52# cd: Change directory.
53#
54# Optional:
55# BISON: Gnu bison works.
56# FLEX: Gnu flex works.
57# Other miscellaneous tools for obscure targets.
58
59# Suppress smart makes who think they know how to automake Yacc files
60.y.c:
61
62# Variables that exist for you to override.
63# See below for how to change them for certain systems.
64
65# Various ways of specifying flags for compilations:
66# CFLAGS is for the user to override to, e.g., do a bootstrap with -O2.
67# BOOT_CFLAGS is the value of CFLAGS to pass
68# to the stage2 and stage3 compilations
a1ab4c31
AC
69CFLAGS = -g
70BOOT_CFLAGS = -O $(CFLAGS)
00afcaa0 71# These exists to be overridden by the t-* files, respectively.
a1ab4c31
AC
72T_CFLAGS =
73
a1ab4c31
AC
74CC = cc
75BISON = bison
76BISONFLAGS =
77ECHO = echo
78LEX = flex
79LEXFLAGS =
80CHMOD = chmod
81LN = ln
82LN_S = ln -s
83CP = cp -p
84MV = mv -f
85RM = rm -f
86RMDIR = rm -rf
87MKDIR = mkdir -p
88AR = ar
89AR_FLAGS = rc
90LS = ls
91RANLIB = @RANLIB@
92RANLIB_FLAGS = @ranlib_flags@
a760c977 93AWK = @AWK@
a1ab4c31 94
7980bfb8
ILT
95COMPILER = $(CC)
96COMPILER_FLAGS = $(CFLAGS)
97
a1ab4c31
AC
98SHELL = @SHELL@
99PWD_COMMAND = $${PWDCMD-pwd}
100# How to copy preserving the date
101INSTALL_DATA_DATE = cp -p
102MAKEINFO = makeinfo
103TEXI2DVI = texi2dvi
104TEXI2PDF = texi2pdf
105GNATBIND_FLAGS = -static -x
106ADA_CFLAGS =
107ADAFLAGS = -W -Wall -gnatpg -gnata
108SOME_ADAFLAGS =-gnata
109FORCE_DEBUG_ADAFLAGS = -g
e1876cac
EB
110NO_SIBLING_ADAFLAGS=-fno-optimize-sibling-calls
111NO_REORDER_ADAFLAGS=-fno-toplevel-reorder
a1ab4c31
AC
112GNATLIBFLAGS = -gnatpg -nostdinc
113GNATLIBCFLAGS = -g -O2
e3aa9eba 114PICFLAG_FOR_TARGET = @PICFLAG_FOR_TARGET@
2f18d9af
EB
115# Pretend that _Unwind_GetIPInfo is available for the target by default. This
116# should be autodetected during the configuration of libada and passed down to
117# here, but we need something for --disable-libada and hope for the best.
e3aa9eba 118GNATLIBCFLAGS_FOR_C = $(GNATLIBCFLAGS) $(PICFLAG_FOR_TARGET) -fexceptions \
2f18d9af 119 -DIN_RTS -DHAVE_GETIPINFO
00afcaa0
PB
120ALL_ADAFLAGS = $(CFLAGS) $(ADA_CFLAGS) $(ADAFLAGS)
121MOST_ADAFLAGS = $(CFLAGS) $(ADA_CFLAGS) $(SOME_ADAFLAGS)
a1ab4c31
AC
122THREAD_KIND = native
123THREADSLIB =
124GMEM_LIB =
125MISCLIB =
126SYMDEPS = $(LIBINTL_DEP)
127OUTPUT_OPTION = @OUTPUT_OPTION@
128
129objext = .o
130exeext =
131arext = .a
132soext = .so
133shext =
134hyphen = -
135
136# Define this as & to perform parallel make on a Sequent.
137# Note that this has some bugs, and it seems currently necessary
138# to compile all the gen* files first by hand to avoid erroneous results.
139P =
140
141# This is used instead of ALL_CFLAGS when compiling with GCC_FOR_TARGET.
00afcaa0 142# It specifies -B./.
a1ab4c31 143# It also specifies -B$(tooldir)/ to find as and ld for a cross compiler.
00afcaa0 144GCC_CFLAGS = $(INTERNAL_CFLAGS) $(T_CFLAGS) $(CFLAGS)
a1ab4c31
AC
145
146# Tools to use when building a cross-compiler.
147# These are used because `configure' appends `cross-make'
148# to the makefile when making a cross-compiler.
149
150# We don't use cross-make. Instead we use the tools from the build tree,
151# if they are available.
152# program_transform_name and objdir are set by configure.in.
153program_transform_name =
154objdir = .
155
156target_alias=@target_alias@
157target=@target@
158xmake_file = @xmake_file@
159tmake_file = @tmake_file@
160host_canonical=@host@
a760c977 161target_cpu_default=@target_cpu_default@
a1ab4c31
AC
162#version=`sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/' < $(srcdir)/version.c`
163#mainversion=`sed -e 's/.*\"\([0-9]*\.[0-9]*\).*/\1/' < $(srcdir)/version.c`
164
165# Directory where sources are, from where we are.
a760c977 166VPATH = $(srcdir)/ada
a1ab4c31
AC
167
168fsrcdir := $(shell cd $(srcdir);${PWD_COMMAND})
169fsrcpfx := $(shell cd $(srcdir);${PWD_COMMAND})/
170fcurdir := $(shell ${PWD_COMMAND})
171fcurpfx := $(shell ${PWD_COMMAND})/
172
173# Top build directory, relative to here.
174top_builddir = ../..
175
176# Internationalization library.
177LIBINTL = @LIBINTL@
178LIBINTL_DEP = @LIBINTL_DEP@
179
180# Any system libraries needed just for GNAT.
181SYSLIBS = @GNAT_LIBEXC@
182
183# List of extra object files linked in with various programs.
677f3fa8
JM
184EXTRA_GNATTOOLS_OBJS = ../../libcommon-target.a ../../libcommon.a \
185 ../../../libcpp/libcpp.a
a1ab4c31 186
e1876cac
EB
187# List extra gnattools
188EXTRA_GNATTOOLS =
189
a1ab4c31
AC
190# List of target dependent sources, overridden below as necessary
191TARGET_ADA_SRCS =
192
193# Type of tools build we are doing; default is not compiling tools.
194TOOLSCASE =
195
a7dafa20 196# Multilib handling
d88a51b1 197MULTISUBDIR =
a7dafa20
LG
198RTSDIR = rts$(subst /,_,$(MULTISUBDIR))
199
207b1744
TG
200# Link flags used to build gnat tools. By default we prefer to statically
201# link with libgcc to avoid a dependency on shared libgcc (which is tricky
202# to deal with as it may conflict with the libgcc provided by the system).
203GCC_LINK_FLAGS=-static-libgcc
204
a1ab4c31
AC
205# End of variables for you to override.
206
207all: all.indirect
208
209# This tells GNU Make version 3 not to put all variables in the environment.
210.NOEXPORT:
211
a1ab4c31
AC
212# target overrides
213ifneq ($(tmake_file),)
a760c977 214include $(tmake_file)
a1ab4c31
AC
215endif
216
217# host overrides
218ifneq ($(xmake_file),)
a760c977 219include $(xmake_file)
a1ab4c31
AC
220endif
221\f
222# Now figure out from those variables how to compile and link.
223
224all.indirect: Makefile ../gnat1$(exeext)
225
226# IN_GCC distinguishes between code compiled into GCC itself and other
227# programs built during a bootstrap.
228# autoconf inserts -DCROSS_DIRECTORY_STRUCTURE if we are building a cross
229# compiler which does not use the native libraries and headers.
230INTERNAL_CFLAGS = @CROSS@ -DIN_GCC
231
232# This is the variable actually used when we compile.
233LOOSE_CFLAGS = `echo $(CFLAGS) $(WARN2_CFLAGS)|sed -e 's/-pedantic//g' -e 's/-Wtraditional//g'`
00afcaa0 234ALL_CFLAGS = $(INTERNAL_CFLAGS) $(T_CFLAGS) $(LOOSE_CFLAGS)
a1ab4c31
AC
235
236# Likewise.
00afcaa0 237ALL_CPPFLAGS = $(CPPFLAGS)
a1ab4c31 238
7980bfb8
ILT
239# Used with $(COMPILER).
240ALL_COMPILERFLAGS = $(ALL_CFLAGS)
241
a1ab4c31
AC
242# This is where we get libiberty.a from.
243LIBIBERTY = ../../libiberty/libiberty.a
244
245# How to link with both our special library facilities
246# and the system's installed libraries.
247LIBS = $(LIBINTL) $(LIBIBERTY) $(SYSLIBS)
248LIBDEPS = $(LIBINTL_DEP) $(LIBIBERTY)
249# Default is no TGT_LIB; one might be passed down or something
250TGT_LIB =
4bdaaf2f 251TOOLS_LIBS = $(EXTRA_GNATTOOLS_OBJS) targext.o link.o $(LIBGNAT) $(LIBINTL) ../../../libiberty/libiberty.a $(SYSLIBS) $(TGT_LIB)
a1ab4c31 252
e1876cac
EB
253# Convert the target variable into a space separated list of architecture,
254# manufacturer, and operating system and assign each of those to its own
255# variable.
256
257host:=$(subst -, ,$(host_canonical))
258targ:=$(subst -, ,$(target))
259arch:=$(word 1,$(targ))
260ifeq ($(words $(targ)),2)
261 manu:=
262 osys:=$(word 2,$(targ))
263else
264 manu:=$(word 2,$(targ))
265 osys:=$(word 3,$(targ))
266endif
267
a1ab4c31
AC
268# Specify the directories to be searched for header files.
269# Both . and srcdir are used, in that order,
270# so that tm.h and config.h will be found in the compilation
271# subdirectory rather than in the source directory.
a760c977
AS
272INCLUDES = -I- -I. -I.. -I$(srcdir)/ada -I$(srcdir) -I$(srcdir)/config \
273 -I$(srcdir)/../include
a1ab4c31 274
a760c977 275ADA_INCLUDES = -I- -I. -I$(srcdir)/ada
a1ab4c31 276
62298c61 277INCLUDES_FOR_SUBDIR = -I. -I.. -I../.. -I$(fsrcdir)/ada \
a760c977
AS
278 -I$(fsrcdir)/../include -I$(fsrcdir)
279ADA_INCLUDES_FOR_SUBDIR = -I. -I$(fsrcdir)/ada
a1ab4c31
AC
280
281# Avoid a lot of time thinking about remaking Makefile.in and *.def.
282.SUFFIXES: .in .def
283
284# Say how to compile Ada programs.
285.SUFFIXES: .ada .adb .ads .asm
286
287# Always use -I$(srcdir)/config when compiling.
288.asm.o:
289 $(CC) -c -x assembler $< $(OUTPUT_OPTION)
290
291.c.o:
7980bfb8
ILT
292 $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) $(ALL_CPPFLAGS) \
293 $(INCLUDES) $< $(OUTPUT_OPTION)
a1ab4c31
AC
294
295.adb.o:
296 $(CC) -c $(ALL_ADAFLAGS) $(ADA_INCLUDES) $< $(OUTPUT_OPTION)
297
298.ads.o:
299 $(CC) -c $(ALL_ADAFLAGS) $(ADA_INCLUDES) $< $(OUTPUT_OPTION)
300
301# how to regenerate this file
a760c977 302Makefile: ../config.status $(srcdir)/ada/gcc-interface/Makefile.in $(srcdir)/ada/Makefile.in $(srcdir)/version.c
a1ab4c31
AC
303 cd ..; \
304 LANGUAGES="$(CONFIG_LANGUAGES)" \
305 CONFIG_HEADERS= \
306 CONFIG_FILES="ada/gcc-interface/Makefile ada/Makefile" $(SHELL) config.status
307
308# This tells GNU make version 3 not to export all the variables
309# defined in this file into the environment.
310.NOEXPORT:
311\f
312# Lists of files for various purposes.
313
314GNATLINK_OBJS = gnatlink.o \
315 a-except.o ali.o alloc.o butil.o casing.o csets.o debug.o fmap.o fname.o \
316 gnatvsn.o hostparm.o indepsw.o interfac.o i-c.o i-cstrin.o namet.o opt.o \
317 osint.o output.o rident.o s-exctab.o s-secsta.o s-stalib.o s-stoele.o \
318 sdefault.o snames.o stylesw.o switch.o system.o table.o targparm.o tree_io.o \
319 types.o validsw.o widechar.o
320
9beddc4c
AC
321GNATMAKE_OBJS = a-except.o ali.o ali-util.o aspects.o s-casuti.o alloc.o \
322 atree.o binderr.o butil.o casing.o csets.o debug.o elists.o einfo.o errout.o \
a1ab4c31
AC
323 erroutc.o errutil.o err_vars.o fmap.o fname.o fname-uf.o fname-sf.o \
324 gnatmake.o gnatvsn.o hostparm.o interfac.o i-c.o i-cstrin.o krunch.o lib.o \
325 make.o makeusg.o makeutl.o mlib.o mlib-fil.o mlib-prj.o mlib-tgt.o \
d88a51b1
AC
326 mlib-tgt-specific.o mlib-utl.o namet.o nlists.o opt.o osint.o osint-m.o \
327 output.o prj.o prj-attr.o prj-attr-pm.o prj-com.o prj-dect.o prj-env.o \
9beddc4c
AC
328 prj-conf.o prj-pp.o prj-err.o prj-ext.o prj-nmsc.o prj-pars.o prj-part.o \
329 prj-proc.o prj-strt.o prj-tree.o prj-util.o restrict.o rident.o s-exctab.o \
330 s-secsta.o s-stalib.o s-stoele.o scans.o scng.o sdefault.o sfn_scan.o \
331 s-purexc.o s-htable.o scil_ll.o sem_aux.o sinfo.o sinput.o sinput-c.o \
332 sinput-p.o snames.o stand.o stringt.o styleg.o stylesw.o system.o validsw.o \
333 switch.o switch-m.o table.o targparm.o tempdir.o tree_io.o types.o uintp.o \
334 uname.o urealp.o usage.o widechar.o \
a1ab4c31
AC
335 $(EXTRA_GNATMAKE_OBJS)
336
7193e639
LG
337# Make arch match the current multilib so that the RTS selection code
338# picks up the right files. For a given target this must be coherent
339# with MULTILIB_DIRNAMES defined in gcc/config/target/t-*.
340
341ifeq ($(strip $(filter-out %x86_64, $(arch))),)
342 ifeq ($(strip $(MULTISUBDIR)),/32)
343 arch:=i686
344 endif
345endif
346
347# ???: handle more multilib targets
348
a1ab4c31
AC
349# LIBGNAT_TARGET_PAIRS is a list of pairs of filenames.
350# The members of each pair must be separated by a '<' and no whitespace.
351# Each pair must be separated by some amount of whitespace from the following
352# pair.
353
354# Non-tasking case:
355
356LIBGNAT_TARGET_PAIRS = \
357a-intnam.ads<a-intnam-dummy.ads \
358s-inmaop.adb<s-inmaop-dummy.adb \
359s-intman.adb<s-intman-dummy.adb \
360s-osinte.ads<s-osinte-dummy.ads \
361s-osprim.adb<s-osprim-posix.adb \
362s-taprop.adb<s-taprop-dummy.adb \
363s-taspri.ads<s-taspri-dummy.ads
364
365# When using the GCC exception handling mechanism, we need to use an
366# alternate body for a-exexpr.adb (a-exexpr-gcc.adb)
367
368EH_MECHANISM=
369
370# Default shared object option. Note that we rely on the fact that the "soname"
371# option will always be present and last in this flag, so that we can have
372# $(SO_OPTS)libgnat-x.xx
373
374SO_OPTS = -Wl,-soname,
375
376# Default gnatlib-shared target.
377# By default, equivalent to gnatlib.
378# Set to gnatlib-shared-default, gnatlib-shared-dual, or a platform specific
379# target when supported.
380GNATLIB_SHARED = gnatlib
381
382# default value for gnatmake's target dependent file
383MLIB_TGT = mlib-tgt
384
6594c0f3 385# By default, build socket support units. On platforms that do not support
0a0a18c3 386# sockets, reset this variable to empty and add DUMMY_SOCKETS_TARGET_PAIRS
6594c0f3
AC
387# to LIBGNAT_TARGET_PAIRS.
388
cfb53555 389GNATRTL_SOCKETS_OBJS = g-soccon$(objext) g-socket$(objext) g-socthi$(objext) \
4a214958 390 g-soliop$(objext) g-sothco$(objext)
6594c0f3
AC
391
392DUMMY_SOCKETS_TARGET_PAIRS = \
393 g-socket.adb<g-socket-dummy.adb \
394 g-socket.ads<g-socket-dummy.ads \
395 g-socthi.adb<g-socthi-dummy.adb \
396 g-socthi.ads<g-socthi-dummy.ads \
397 g-sothco.adb<g-sothco-dummy.adb \
4a214958 398 g-sothco.ads<g-sothco-dummy.ads
6594c0f3 399
7415029d
AC
400# On platform where atomic increment/decrement operations are supported
401# special version of Ada.Strings.Unbounded package can be used.
402
403ATOMICS_TARGET_PAIRS += \
404 a-stunau.adb<a-stunau-shared.adb \
405 a-suteio.adb<a-suteio-shared.adb \
406 a-strunb.ads<a-strunb-shared.ads \
407 a-strunb.adb<a-strunb-shared.adb \
408 a-stwiun.adb<a-stwiun-shared.adb \
409 a-stwiun.ads<a-stwiun-shared.ads \
410 a-swunau.adb<a-swunau-shared.adb \
411 a-swuwti.adb<a-swuwti-shared.adb \
412 a-stzunb.adb<a-stzunb-shared.adb \
413 a-stzunb.ads<a-stzunb-shared.ads \
414 a-szunau.adb<a-szunau-shared.adb \
19172ae9
AC
415 a-szuzti.adb<a-szuzti-shared.adb \
416 s-atocou.adb<s-atocou-builtin.adb
7415029d 417
a760c977 418LIB_VERSION = $(strip $(shell grep ' Library_Version :' $(fsrcpfx)ada/gnatvsn.ads | sed -e 's/.*"\(.*\)".*/\1/'))
a1ab4c31
AC
419
420# $(filter-out PATTERN...,TEXT) removes all PATTERN words from TEXT.
421# $(strip STRING) removes leading and trailing spaces from STRING.
422# If what's left is null then it's a match.
423
424ifeq ($(strip $(filter-out m68k% wrs vx%,$(targ))),)
425 LIBGNAT_TARGET_PAIRS = \
426 a-intnam.ads<a-intnam-vxworks.ads \
427 a-numaux.ads<a-numaux-vxworks.ads \
d8b962d8 428 s-inmaop.adb<s-inmaop-vxworks.adb \
e5c73177 429 s-interr.adb<s-interr-hwint.adb \
a1ab4c31
AC
430 s-intman.ads<s-intman-vxworks.ads \
431 s-intman.adb<s-intman-vxworks.adb \
6cc60200 432 s-osinte.adb<s-osinte-vxworks.adb \
a1ab4c31
AC
433 s-osinte.ads<s-osinte-vxworks.ads \
434 s-osprim.adb<s-osprim-vxworks.adb \
435 s-parame.ads<s-parame-vxworks.ads \
436 s-parame.adb<s-parame-vxworks.adb \
437 s-stchop.ads<s-stchop-limit.ads \
438 s-stchop.adb<s-stchop-vxworks.adb \
439 s-taprop.adb<s-taprop-vxworks.adb \
95cd3246 440 s-tasinf.ads<s-tasinf-vxworks.ads \
a1ab4c31
AC
441 s-taspri.ads<s-taspri-vxworks.ads \
442 s-tpopsp.adb<s-tpopsp-vxworks.adb \
443 s-vxwork.ads<s-vxwork-m68k.ads \
a1ab4c31
AC
444 g-socthi.ads<g-socthi-vxworks.ads \
445 g-socthi.adb<g-socthi-vxworks.adb \
446 g-stsifd.adb<g-stsifd-sockets.adb \
0a0a18c3
AC
447 g-trasym.ads<g-trasym-unimplemented.ads \
448 g-trasym.adb<g-trasym-unimplemented.adb \
a1ab4c31
AC
449 system.ads<system-vxworks-m68k.ads
450
451 TOOLS_TARGET_PAIRS=mlib-tgt-specific.adb<mlib-tgt-specific-vxworks.adb
452
453 EXTRA_GNATRTL_NONTASKING_OBJS=i-vxwork.o i-vxwoio.o
4bffd4e0 454 EXTRA_GNATRTL_TASKING_OBJS=s-vxwork.o s-vxwext.o
a1ab4c31
AC
455
456 EXTRA_LIBGNAT_SRCS+=vx_stack_info.c
457 EXTRA_LIBGNAT_OBJS+=vx_stack_info.o
458
459 ifeq ($(strip $(filter-out yes,$(TRACE))),)
460 LIBGNAT_TARGET_PAIRS += \
461 s-traces.adb<s-traces-default.adb \
462 s-tratas.adb<s-tratas-default.adb \
463 s-trafor.adb<s-trafor-default.adb \
464 s-trafor.ads<s-trafor-default.ads \
465 s-tfsetr.adb<s-tfsetr-vxworks.adb
466 endif
467endif
468
469ifeq ($(strip $(filter-out powerpc% wrs vxworks,$(targ))),)
470 LIBGNAT_TARGET_PAIRS = \
471 a-intnam.ads<a-intnam-vxworks.ads \
472 a-numaux.ads<a-numaux-vxworks.ads \
d8b962d8 473 s-inmaop.adb<s-inmaop-vxworks.adb \
a1ab4c31
AC
474 s-intman.ads<s-intman-vxworks.ads \
475 s-intman.adb<s-intman-vxworks.adb \
4bffd4e0 476 s-osinte.ads<s-osinte-vxworks.ads \
6cc60200 477 s-osinte.adb<s-osinte-vxworks.adb \
a1ab4c31
AC
478 s-osprim.adb<s-osprim-vxworks.adb \
479 s-parame.ads<s-parame-vxworks.ads \
480 s-parame.adb<s-parame-vxworks.adb \
481 s-stchop.ads<s-stchop-limit.ads \
482 s-stchop.adb<s-stchop-vxworks.adb \
483 s-taprop.adb<s-taprop-vxworks.adb \
95cd3246 484 s-tasinf.ads<s-tasinf-vxworks.ads \
a1ab4c31
AC
485 s-taspri.ads<s-taspri-vxworks.ads \
486 s-vxwork.ads<s-vxwork-ppc.ads \
a1ab4c31
AC
487 g-socthi.ads<g-socthi-vxworks.ads \
488 g-socthi.adb<g-socthi-vxworks.adb \
489 g-stsifd.adb<g-stsifd-sockets.adb \
0a0a18c3 490 g-trasym.ads<g-trasym-unimplemented.ads \
7415029d
AC
491 g-trasym.adb<g-trasym-unimplemented.adb \
492 $(ATOMICS_TARGET_PAIRS)
a1ab4c31 493
4bffd4e0
AC
494 TOOLS_TARGET_PAIRS=\
495 mlib-tgt-specific.adb<mlib-tgt-specific-vxworks.adb \
496 indepsw.adb<indepsw-gnu.adb
a1ab4c31
AC
497
498 ifeq ($(strip $(filter-out yes,$(TRACE))),)
499 LIBGNAT_TARGET_PAIRS += \
500 s-traces.adb<s-traces-default.adb \
501 s-trafor.adb<s-trafor-default.adb \
502 s-trafor.ads<s-trafor-default.ads \
503 s-tratas.adb<s-tratas-default.adb \
504 s-tfsetr.adb<s-tfsetr-vxworks.adb
505 endif
506
507 ifeq ($(strip $(filter-out rtp,$(THREAD_KIND))),)
508 LIBGNAT_TARGET_PAIRS += \
62298c61
TG
509 s-vxwext.ads<s-vxwext-rtp.ads \
510 s-vxwext.adb<s-vxwext-rtp.adb \
a1ab4c31
AC
511 s-tpopsp.adb<s-tpopsp-vxworks-rtp.adb \
512 system.ads<system-vxworks-ppc-rtp.ads
513
514 EXTRA_GNATRTL_NONTASKING_OBJS=s-vxwexc.o
515 else
d88a51b1 516 ifeq ($(strip $(filter-out rtp-smp,$(THREAD_KIND))),)
a1ab4c31 517 LIBGNAT_TARGET_PAIRS += \
d88a51b1 518 s-vxwext.ads<s-vxwext-rtp.ads \
95cd3246 519 s-vxwext.adb<s-vxwext-rtp-smp.adb \
d88a51b1
AC
520 s-tpopsp.adb<s-tpopsp-vxworks-tls.adb \
521 system.ads<system-vxworks-ppc-rtp.ads
89522556
AC
522
523 EXTRA_GNATRTL_NONTASKING_OBJS=s-vxwexc.o
95cd3246 524 EXTRA_GNATRTL_TASKING_OBJS=affinity.o
4bffd4e0 525 else
d88a51b1
AC
526 ifeq ($(strip $(filter-out kernel-smp,$(THREAD_KIND))),)
527 LIBGNAT_TARGET_PAIRS += \
528 s-interr.adb<s-interr-hwint.adb \
529 s-tpopsp.adb<s-tpopsp-vxworks-tls.adb \
530 s-vxwext.ads<s-vxwext-kernel.ads \
531 s-vxwext.adb<s-vxwext-kernel-smp.adb \
532 system.ads<system-vxworks-ppc-kernel.ads
95cd3246 533
686d0984 534 EH_MECHANISM=-gcc
95cd3246 535 EXTRA_GNATRTL_TASKING_OBJS=affinity.o
d88a51b1
AC
536 else
537 LIBGNAT_TARGET_PAIRS += \
538 s-interr.adb<s-interr-hwint.adb \
539 s-tpopsp.adb<s-tpopsp-vxworks.adb
540
541 ifeq ($(strip $(filter-out kernel,$(THREAD_KIND))),)
686d0984 542 EH_MECHANISM=-gcc
d88a51b1
AC
543 LIBGNAT_TARGET_PAIRS += \
544 s-vxwext.ads<s-vxwext-kernel.ads \
545 s-vxwext.adb<s-vxwext-kernel.adb \
546 system.ads<system-vxworks-ppc-kernel.ads
547 else
548 LIBGNAT_TARGET_PAIRS += \
549 system.ads<system-vxworks-ppc.ads
550 endif
d88a51b1
AC
551 endif
552 EXTRA_GNATRTL_NONTASKING_OBJS=i-vxwork.o i-vxwoio.o s-vxwexc.o
553 endif
a1ab4c31
AC
554 endif
555
95cd3246 556 EXTRA_GNATRTL_TASKING_OBJS += s-vxwork.o s-vxwext.o
a1ab4c31
AC
557
558 EXTRA_LIBGNAT_SRCS+=vx_stack_info.c
559 EXTRA_LIBGNAT_OBJS+=vx_stack_info.o
560endif
561
ebd34478 562# vxworks 653
a1ab4c31 563ifeq ($(strip $(filter-out powerpc% wrs vxworksae,$(targ))),)
95cd3246 564 # target pairs for vthreads runtime
a1ab4c31
AC
565 LIBGNAT_TARGET_PAIRS = \
566 a-elchha.adb<a-elchha-vxworks-ppc-full.adb \
567 a-intnam.ads<a-intnam-vxworks.ads \
568 a-numaux.ads<a-numaux-vxworks.ads \
569 g-io.adb<g-io-vxworks-ppc-cert.adb \
570 g-io.ads<g-io-vxworks-ppc-cert.ads \
d8b962d8 571 s-inmaop.adb<s-inmaop-vxworks.adb \
e5c73177 572 s-interr.adb<s-interr-hwint.adb \
a1ab4c31
AC
573 s-intman.ads<s-intman-vxworks.ads \
574 s-intman.adb<s-intman-vxworks.adb \
6cc60200 575 s-osinte.adb<s-osinte-vxworks.adb \
a1ab4c31
AC
576 s-osinte.ads<s-osinte-vxworks.ads \
577 s-osprim.adb<s-osprim-vxworks.adb \
578 s-parame.ads<s-parame-ae653.ads \
579 s-parame.adb<s-parame-vxworks.adb \
580 s-taprop.adb<s-taprop-vxworks.adb \
95cd3246 581 s-tasinf.ads<s-tasinf-vxworks.ads \
a1ab4c31
AC
582 s-taspri.ads<s-taspri-vxworks.ads \
583 s-tpopsp.adb<s-tpopsp-vxworks.adb \
6cc60200
AC
584 s-vxwext.adb<s-vxwext-noints.adb \
585 s-vxwext.ads<s-vxwext-vthreads.ads \
a1ab4c31 586 s-vxwork.ads<s-vxwork-ppc.ads \
0a0a18c3
AC
587 g-trasym.ads<g-trasym-unimplemented.ads \
588 g-trasym.adb<g-trasym-unimplemented.adb \
7415029d
AC
589 system.ads<system-vxworks-ppc-vthread.ads \
590 $(ATOMICS_TARGET_PAIRS)
a1ab4c31 591
4bffd4e0
AC
592 TOOLS_TARGET_PAIRS=\
593 mlib-tgt-specific.adb<mlib-tgt-specific-vxworks.adb \
594 indepsw.adb<indepsw-gnu.adb
a1ab4c31
AC
595
596 EXTRA_GNATRTL_NONTASKING_OBJS=i-vxwork.o i-vxwoio.o s-vxwexc.o
4bffd4e0
AC
597 EXTRA_GNATRTL_TASKING_OBJS=s-vxwork.o s-vxwext.o
598
599 # Extra pairs for the vthreads runtime
600 ifeq ($(strip $(filter-out vthreads,$(THREAD_KIND))),)
601 LIBGNAT_TARGET_PAIRS += \
d88a51b1
AC
602 s-thread.adb<s-thread-ae653.adb \
603 $(DUMMY_SOCKETS_TARGET_PAIRS)
604
605 GNATRTL_SOCKETS_OBJS =
4bffd4e0 606 EXTRA_GNATRTL_NONTASKING_OBJS += s-thread.o
d88a51b1
AC
607 else
608 LIBGNAT_TARGET_PAIRS += \
609 g-socthi.ads<g-socthi-vxworks.ads \
610 g-socthi.adb<g-socthi-vxworks.adb \
4a214958 611 g-stsifd.adb<g-stsifd-sockets.adb
4bffd4e0
AC
612 endif
613
614 ifeq ($(strip $(filter-out yes,$(TRACE))),)
615 LIBGNAT_TARGET_PAIRS += \
616 s-traces.adb<s-traces-default.adb \
617 s-trafor.adb<s-trafor-default.adb \
618 s-trafor.ads<s-trafor-default.ads \
619 s-tratas.adb<s-tratas-default.adb \
620 s-tfsetr.adb<s-tfsetr-vxworks.adb
621 endif
622endif
623
ebd34478
AC
624# vxworks MILS
625ifeq ($(strip $(filter-out powerpc% wrs vxworksmils,$(targ))),)
626 # target pairs for vthreads runtime
627 LIBGNAT_TARGET_PAIRS = \
19172ae9 628 a-elchha.adb<a-elchha-vx6-raven-cert.adb \
ebd34478
AC
629 a-intnam.ads<a-intnam-vxworks.ads \
630 a-numaux.ads<a-numaux-vxworks.ads \
631 g-io.adb<g-io-vxworks-ppc-cert.adb \
632 g-io.ads<g-io-vxworks-ppc-cert.ads \
d8b962d8 633 s-inmaop.adb<s-inmaop-vxworks.adb \
ebd34478
AC
634 s-interr.adb<s-interr-hwint.adb \
635 s-intman.ads<s-intman-vxworks.ads \
636 s-intman.adb<s-intman-vxworks.adb \
637 s-osinte.adb<s-osinte-vxworks.adb \
638 s-osinte.ads<s-osinte-vxworks.ads \
639 s-osprim.adb<s-osprim-vxworks.adb \
640 s-parame.ads<s-parame-ae653.ads \
641 s-parame.adb<s-parame-vxworks.adb \
642 s-stchop.adb<s-stchop-vxworks.adb \
643 s-stchop.ads<s-stchop-limit.ads \
644 s-taprop.adb<s-taprop-vxworks.adb \
645 s-tasinf.ads<s-tasinf-vxworks.ads \
646 s-taspri.ads<s-taspri-vxworks.ads \
647 s-thread.adb<s-thread-ae653.adb \
648 s-tpopsp.adb<s-tpopsp-vxworks.adb \
649 s-vxwork.ads<s-vxwork-ppc.ads \
650 g-trasym.ads<g-trasym-unimplemented.ads \
651 g-trasym.adb<g-trasym-unimplemented.adb \
652 system.ads<system-vxworks-ppc.ads \
7415029d 653 $(ATOMICS_TARGET_PAIRS) \
ebd34478
AC
654 $(DUMMY_SOCKETS_TARGET_PAIRS)
655
656 TOOLS_TARGET_PAIRS=\
657 mlib-tgt-specific.adb<mlib-tgt-specific-vxworks.adb \
658 indepsw.adb<indepsw-gnu.adb
659
660 EXTRA_GNATRTL_NONTASKING_OBJS=i-vxwork.o i-vxwoio.o s-thread.o s-vxwexc.o
661 EXTRA_GNATRTL_TASKING_OBJS=s-vxwork.o s-vxwext.o
662
663 EXTRA_LIBGNAT_SRCS+=vx_stack_info.c
664 EXTRA_LIBGNAT_OBJS+=vx_stack_info.o
665 GNATRTL_SOCKETS_OBJS =
666
667 ifeq ($(strip $(filter-out yes,$(TRACE))),)
668 LIBGNAT_TARGET_PAIRS += \
669 s-traces.adb<s-traces-default.adb \
670 s-trafor.adb<s-trafor-default.adb \
671 s-trafor.ads<s-trafor-default.ads \
672 s-tratas.adb<s-tratas-default.adb \
673 s-tfsetr.adb<s-tfsetr-vxworks.adb
674 endif
675endif
676
677# vxworksae / vxworks 653 for x86 (vxsim) - ?? vxworksmils not implemented
678ifeq ($(strip $(filter-out %86 wrs vxworksae vxworksmils,$(targ))),)
4bffd4e0
AC
679 # target pairs for kernel + vthreads runtime
680 LIBGNAT_TARGET_PAIRS = \
681 a-elchha.adb<a-elchha-vxworks-ppc-full.adb \
682 a-intnam.ads<a-intnam-vxworks.ads \
683 a-numaux.ads<a-numaux-x86.ads \
684 a-numaux.adb<a-numaux-x86.adb \
685 a-sytaco.ads<1asytaco.ads \
686 a-sytaco.adb<1asytaco.adb \
687 g-bytswa.adb<g-bytswa-x86.adb \
688 g-io.adb<g-io-vxworks-ppc-cert.adb \
689 g-io.ads<g-io-vxworks-ppc-cert.ads \
d8b962d8 690 s-inmaop.adb<s-inmaop-vxworks.adb \
4bffd4e0
AC
691 s-interr.adb<s-interr-hwint.adb \
692 s-intman.ads<s-intman-vxworks.ads \
693 s-intman.adb<s-intman-vxworks.adb \
6cc60200 694 s-osinte.adb<s-osinte-vxworks.adb \
4bffd4e0
AC
695 s-osinte.ads<s-osinte-vxworks.ads \
696 s-osprim.adb<s-osprim-vxworks.adb \
697 s-parame.ads<s-parame-ae653.ads \
698 s-taprop.adb<s-taprop-vxworks.adb \
95cd3246 699 s-tasinf.ads<s-tasinf-vxworks.ads \
4bffd4e0 700 s-taspri.ads<s-taspri-vxworks.ads \
4bffd4e0 701 s-tpopsp.adb<s-tpopsp-vxworks.adb \
6cc60200
AC
702 s-vxwext.adb<s-vxwext-noints.adb \
703 s-vxwext.ads<s-vxwext-vthreads.ads \
4bffd4e0 704 s-vxwork.ads<s-vxwork-x86.ads \
0a0a18c3
AC
705 g-trasym.ads<g-trasym-unimplemented.ads \
706 g-trasym.adb<g-trasym-unimplemented.adb \
19172ae9
AC
707 system.ads<system-vxworks-x86.ads \
708 $(ATOMICS_TARGET_PAIRS) \
709 s-atocou.adb<s-atocou-x86.adb
4bffd4e0
AC
710
711 TOOLS_TARGET_PAIRS=\
712 mlib-tgt-specific.adb<mlib-tgt-specific-vxworks.adb \
713 indepsw.adb<indepsw-gnu.adb
714
715 EXTRA_GNATRTL_NONTASKING_OBJS=i-vxwork.o i-vxwoio.o s-vxwexc.o
716 EXTRA_GNATRTL_TASKING_OBJS=s-vxwork.o s-vxwext.o
a1ab4c31
AC
717
718 # Extra pairs for the vthreads runtime
719 ifeq ($(strip $(filter-out vthreads,$(THREAD_KIND))),)
720 LIBGNAT_TARGET_PAIRS += \
d88a51b1
AC
721 s-thread.adb<s-thread-ae653.adb \
722 $(DUMMY_SOCKETS_TARGET_PAIRS)
723
724 GNATRTL_SOCKETS_OBJS =
a1ab4c31 725 EXTRA_GNATRTL_NONTASKING_OBJS += s-thread.o
d88a51b1
AC
726 else
727 LIBGNAT_TARGET_PAIRS += \
728 g-socthi.ads<g-socthi-vxworks.ads \
729 g-socthi.adb<g-socthi-vxworks.adb \
4a214958 730 g-stsifd.adb<g-stsifd-sockets.adb
a1ab4c31
AC
731 endif
732
733 ifeq ($(strip $(filter-out yes,$(TRACE))),)
734 LIBGNAT_TARGET_PAIRS += \
735 s-traces.adb<s-traces-default.adb \
736 s-trafor.adb<s-trafor-default.adb \
737 s-trafor.ads<s-trafor-default.ads \
738 s-tratas.adb<s-tratas-default.adb \
739 s-tfsetr.adb<s-tfsetr-vxworks.adb
740 endif
741endif
742
743ifeq ($(strip $(filter-out sparc% wrs vx%,$(targ))),)
744 LIBGNAT_TARGET_PAIRS = \
745 a-intnam.ads<a-intnam-vxworks.ads \
746 a-numaux.ads<a-numaux-vxworks.ads \
d8b962d8 747 s-inmaop.adb<s-inmaop-vxworks.adb \
e5c73177 748 s-interr.adb<s-interr-hwint.adb \
a1ab4c31
AC
749 s-intman.ads<s-intman-vxworks.ads \
750 s-intman.adb<s-intman-vxworks.adb \
6cc60200 751 s-osinte.adb<s-osinte-vxworks.adb \
a1ab4c31
AC
752 s-osinte.ads<s-osinte-vxworks.ads \
753 s-osprim.adb<s-osprim-vxworks.adb \
754 s-parame.ads<s-parame-vxworks.ads \
755 s-parame.adb<s-parame-vxworks.adb \
756 s-stchop.ads<s-stchop-limit.ads \
757 s-stchop.adb<s-stchop-vxworks.adb \
758 s-taprop.adb<s-taprop-vxworks.adb \
95cd3246 759 s-tasinf.ads<s-tasinf-vxworks.ads \
a1ab4c31
AC
760 s-taspri.ads<s-taspri-vxworks.ads \
761 s-tpopsp.adb<s-tpopsp-vxworks.adb \
762 s-vxwork.ads<s-vxwork-sparcv9.ads \
a1ab4c31
AC
763 g-socthi.ads<g-socthi-vxworks.ads \
764 g-socthi.adb<g-socthi-vxworks.adb \
765 g-stsifd.adb<g-stsifd-sockets.adb \
0a0a18c3
AC
766 g-trasym.ads<g-trasym-unimplemented.ads \
767 g-trasym.adb<g-trasym-unimplemented.adb \
a1ab4c31
AC
768 system.ads<system-vxworks-sparcv9.ads \
769
4bffd4e0
AC
770 TOOLS_TARGET_PAIRS=\
771 mlib-tgt-specific.adb<mlib-tgt-specific-vxworks.adb \
772 indepsw.adb<indepsw-gnu.adb
a1ab4c31
AC
773
774 EXTRA_GNATRTL_NONTASKING_OBJS=i-vxwork.o i-vxwoio.o
4bffd4e0 775 EXTRA_GNATRTL_TASKING_OBJS=s-vxwork.o s-vxwext.o
a1ab4c31
AC
776
777 EXTRA_LIBGNAT_SRCS+=vx_stack_info.c
778 EXTRA_LIBGNAT_OBJS+=vx_stack_info.o
779endif
780
781ifeq ($(strip $(filter-out %86 wrs vxworks,$(targ))),)
782 LIBGNAT_TARGET_PAIRS = \
783 a-intnam.ads<a-intnam-vxworks.ads \
784 i-vxwork.ads<i-vxwork-x86.ads \
6cc60200 785 s-osinte.adb<s-osinte-vxworks.adb \
4bffd4e0 786 s-osinte.ads<s-osinte-vxworks.ads \
d8b962d8 787 s-inmaop.adb<s-inmaop-vxworks.adb \
a1ab4c31
AC
788 s-intman.ads<s-intman-vxworks.ads \
789 s-intman.adb<s-intman-vxworks.adb \
790 a-numaux.adb<a-numaux-x86.adb \
791 a-numaux.ads<a-numaux-x86.ads \
792 s-osprim.adb<s-osprim-vxworks.adb \
793 s-parame.ads<s-parame-vxworks.ads \
794 s-parame.adb<s-parame-vxworks.adb \
795 s-stchop.ads<s-stchop-limit.ads \
796 s-stchop.adb<s-stchop-vxworks.adb \
797 s-taprop.adb<s-taprop-vxworks.adb \
95cd3246 798 s-tasinf.ads<s-tasinf-vxworks.ads \
a1ab4c31
AC
799 s-taspri.ads<s-taspri-vxworks.ads \
800 s-vxwork.ads<s-vxwork-x86.ads \
801 g-bytswa.adb<g-bytswa-x86.adb \
a1ab4c31
AC
802 g-socthi.ads<g-socthi-vxworks.ads \
803 g-socthi.adb<g-socthi-vxworks.adb \
804 g-stsifd.adb<g-stsifd-sockets.adb \
0a0a18c3 805 g-trasym.ads<g-trasym-unimplemented.ads \
19172ae9
AC
806 g-trasym.adb<g-trasym-unimplemented.adb \
807 $(ATOMICS_TARGET_PAIRS) \
808 s-atocou.adb<s-atocou-x86.adb
a1ab4c31 809
4bffd4e0
AC
810 TOOLS_TARGET_PAIRS=\
811 mlib-tgt-specific.adb<mlib-tgt-specific-vxworks.adb \
812 indepsw.adb<indepsw-gnu.adb
a1ab4c31
AC
813
814 ifeq ($(strip $(filter-out yes,$(TRACE))),)
815 LIBGNAT_TARGET_PAIRS += \
816 s-traces.adb<s-traces-default.adb \
817 s-trafor.adb<s-trafor-default.adb \
818 s-trafor.ads<s-trafor-default.ads \
819 s-tratas.adb<s-tratas-default.adb \
820 s-tfsetr.adb<s-tfsetr-vxworks.adb
821 endif
822
823 ifeq ($(strip $(filter-out rtp,$(THREAD_KIND))),)
824 LIBGNAT_TARGET_PAIRS += \
62298c61
TG
825 s-vxwext.ads<s-vxwext-rtp.ads \
826 s-vxwext.adb<s-vxwext-rtp.adb \
a1ab4c31
AC
827 s-tpopsp.adb<s-tpopsp-vxworks-rtp.adb \
828 system.ads<system-vxworks-x86-rtp.ads
829
830 EXTRA_GNATRTL_NONTASKING_OBJS=s-vxwexc.o
831 else
d88a51b1 832 ifeq ($(strip $(filter-out rtp-smp, $(THREAD_KIND))),)
a1ab4c31 833 LIBGNAT_TARGET_PAIRS += \
d88a51b1 834 s-vxwext.ads<s-vxwext-rtp.ads \
95cd3246 835 s-vxwext.adb<s-vxwext-rtp-smp.adb \
d88a51b1
AC
836 s-tpopsp.adb<s-tpopsp-vxworks-tls.adb \
837 system.ads<system-vxworks-x86-rtp.ads
89522556
AC
838
839 EXTRA_GNATRTL_NONTASKING_OBJS=s-vxwexc.o
95cd3246 840 EXTRA_GNATRTL_TASKING_OBJS=affinity.o
4bffd4e0 841 else
d88a51b1
AC
842 ifeq ($(strip $(filter-out kernel-smp, $(THREAD_KIND))),)
843 LIBGNAT_TARGET_PAIRS += \
844 s-interr.adb<s-interr-hwint.adb \
845 s-tpopsp.adb<s-tpopsp-vxworks-tls.adb \
846 s-vxwext.ads<s-vxwext-kernel.ads \
847 s-vxwext.adb<s-vxwext-kernel-smp.adb \
848 system.ads<system-vxworks-x86-kernel.ads
95cd3246 849 EXTRA_GNATRTL_TASKING_OBJS=affinity.o
d88a51b1
AC
850 else
851 LIBGNAT_TARGET_PAIRS += \
852 s-interr.adb<s-interr-hwint.adb \
853 s-tpopsp.adb<s-tpopsp-vxworks.adb
854
855 ifeq ($(strip $(filter-out kernel,$(THREAD_KIND))),)
856 LIBGNAT_TARGET_PAIRS += \
857 s-vxwext.ads<s-vxwext-kernel.ads \
858 s-vxwext.adb<s-vxwext-kernel.adb \
859 system.ads<system-vxworks-x86-kernel.ads
860 else
861 LIBGNAT_TARGET_PAIRS += \
862 system.ads<system-vxworks-x86.ads
863 endif
864 endif
a1ab4c31 865
d88a51b1
AC
866 EXTRA_GNATRTL_NONTASKING_OBJS=i-vxwork.o i-vxwoio.o s-vxwexc.o
867 endif
a1ab4c31 868 endif
95cd3246 869 EXTRA_GNATRTL_TASKING_OBJS += s-vxwork.o s-vxwext.o
a1ab4c31
AC
870
871 EXTRA_LIBGNAT_SRCS+=vx_stack_info.c
872 EXTRA_LIBGNAT_OBJS+=vx_stack_info.o
873endif
874
875ifeq ($(strip $(filter-out arm% coff wrs vx%,$(targ))),)
876 LIBGNAT_TARGET_PAIRS = \
877 a-intnam.ads<a-intnam-vxworks.ads \
878 a-numaux.ads<a-numaux-vxworks.ads \
d8b962d8 879 s-inmaop.adb<s-inmaop-vxworks.adb \
e5c73177 880 s-interr.adb<s-interr-hwint.adb \
a1ab4c31
AC
881 s-intman.ads<s-intman-vxworks.ads \
882 s-intman.adb<s-intman-vxworks.adb \
6cc60200 883 s-osinte.adb<s-osinte-vxworks.adb \
a1ab4c31
AC
884 s-osinte.ads<s-osinte-vxworks.ads \
885 s-osprim.adb<s-osprim-vxworks.adb \
886 s-parame.ads<s-parame-vxworks.ads \
887 s-parame.adb<s-parame-vxworks.adb \
888 s-stchop.ads<s-stchop-limit.ads \
889 s-stchop.adb<s-stchop-vxworks.adb \
890 s-taprop.adb<s-taprop-vxworks.adb \
95cd3246 891 s-tasinf.ads<s-tasinf-vxworks.ads \
a1ab4c31
AC
892 s-taspri.ads<s-taspri-vxworks.ads \
893 s-tpopsp.adb<s-tpopsp-vxworks.adb \
894 s-vxwork.ads<s-vxwork-arm.ads \
a1ab4c31
AC
895 g-socthi.ads<g-socthi-vxworks.ads \
896 g-socthi.adb<g-socthi-vxworks.adb \
897 g-stsifd.adb<g-stsifd-sockets.adb \
0a0a18c3
AC
898 g-trasym.ads<g-trasym-unimplemented.ads \
899 g-trasym.adb<g-trasym-unimplemented.adb \
a1ab4c31
AC
900 system.ads<system-vxworks-arm.ads
901
4bffd4e0
AC
902 TOOLS_TARGET_PAIRS=\
903 mlib-tgt-specific.adb<mlib-tgt-specific-vxworks.adb \
904 indepsw.adb<indepsw-gnu.adb
a1ab4c31
AC
905
906 EXTRA_GNATRTL_NONTASKING_OBJS=i-vxwork.o i-vxwoio.o
4bffd4e0 907 EXTRA_GNATRTL_TASKING_OBJS=s-vxwork.o s-vxwext.o
a1ab4c31
AC
908
909 EXTRA_LIBGNAT_SRCS+=vx_stack_info.c
910 EXTRA_LIBGNAT_OBJS+=vx_stack_info.o
911endif
912
913ifeq ($(strip $(filter-out mips% wrs vx%,$(targ))),)
914 LIBGNAT_TARGET_PAIRS = \
915 a-intnam.ads<a-intnam-vxworks.ads \
916 a-numaux.ads<a-numaux-vxworks.ads \
d8b962d8 917 s-inmaop.adb<s-inmaop-vxworks.adb \
e5c73177 918 s-interr.adb<s-interr-hwint.adb \
a1ab4c31
AC
919 s-intman.ads<s-intman-vxworks.ads \
920 s-intman.adb<s-intman-vxworks.adb \
6cc60200 921 s-osinte.adb<s-osinte-vxworks.adb \
a1ab4c31
AC
922 s-osinte.ads<s-osinte-vxworks.ads \
923 s-osprim.adb<s-osprim-vxworks.adb \
924 s-parame.ads<s-parame-vxworks.ads \
925 s-parame.adb<s-parame-vxworks.adb \
926 s-stchop.ads<s-stchop-limit.ads \
927 s-stchop.adb<s-stchop-vxworks.adb \
928 s-taprop.adb<s-taprop-vxworks.adb \
95cd3246 929 s-tasinf.ads<s-tasinf-vxworks.ads \
a1ab4c31
AC
930 s-taspri.ads<s-taspri-vxworks.ads \
931 s-tpopsp.adb<s-tpopsp-vxworks.adb \
932 s-vxwork.ads<s-vxwork-mips.ads \
a1ab4c31
AC
933 g-socthi.ads<g-socthi-vxworks.ads \
934 g-socthi.adb<g-socthi-vxworks.adb \
935 g-stsifd.adb<g-stsifd-sockets.adb \
0a0a18c3
AC
936 g-trasym.ads<g-trasym-unimplemented.ads \
937 g-trasym.adb<g-trasym-unimplemented.adb \
a1ab4c31
AC
938 system.ads<system-vxworks-mips.ads
939
4bffd4e0
AC
940 TOOLS_TARGET_PAIRS=\
941 mlib-tgt-specific.adb<mlib-tgt-specific-vxworks.adb \
942 indepsw.adb<indepsw-gnu.adb
a1ab4c31
AC
943
944 EXTRA_GNATRTL_NONTASKING_OBJS=i-vxwork.o i-vxwoio.o
4bffd4e0 945 EXTRA_GNATRTL_TASKING_OBJS=s-vxwork.o s-vxwext.o
a1ab4c31
AC
946
947 EXTRA_LIBGNAT_SRCS+=vx_stack_info.c
948 EXTRA_LIBGNAT_OBJS+=vx_stack_info.o
949endif
950
951ifeq ($(strip $(filter-out sparc% sun solaris%,$(targ))),)
6818f0fc 952 LIBGNAT_TARGET_PAIRS_COMMON = \
a1ab4c31
AC
953 a-intnam.ads<a-intnam-solaris.ads \
954 s-inmaop.adb<s-inmaop-posix.adb \
955 s-intman.adb<s-intman-solaris.adb \
956 s-osinte.adb<s-osinte-solaris.adb \
957 s-osinte.ads<s-osinte-solaris.ads \
958 s-osprim.adb<s-osprim-solaris.adb \
959 s-taprop.adb<s-taprop-solaris.adb \
960 s-tasinf.adb<s-tasinf-solaris.adb \
961 s-tasinf.ads<s-tasinf-solaris.ads \
962 s-taspri.ads<s-taspri-solaris.ads \
963 s-tpopsp.adb<s-tpopsp-solaris.adb \
6818f0fc
EB
964 g-soliop.ads<g-soliop-solaris.ads
965
966 LIBGNAT_TARGET_PAIRS_32 = \
a1ab4c31
AC
967 system.ads<system-solaris-sparc.ads
968
969 LIBGNAT_TARGET_PAIRS_64 = \
7415029d
AC
970 system.ads<system-solaris-sparcv9.ads \
971 $(ATOMICS_TARGET_PAIRS)
a1ab4c31
AC
972
973 ifeq ($(strip $(filter-out sparc sun solaris%,$(targ))),)
8f5730b9 974 ifeq ($(strip $(MULTISUBDIR)),/sparcv9)
6818f0fc
EB
975 LIBGNAT_TARGET_PAIRS = \
976 $(LIBGNAT_TARGET_PAIRS_COMMON) $(LIBGNAT_TARGET_PAIRS_64)
8f5730b9 977 else
6818f0fc
EB
978 LIBGNAT_TARGET_PAIRS = \
979 $(LIBGNAT_TARGET_PAIRS_COMMON) $(LIBGNAT_TARGET_PAIRS_32)
8f5730b9 980 endif
a1ab4c31 981 else
f37f5bb9 982 ifeq ($(strip $(MULTISUBDIR)),/sparcv8plus)
6818f0fc
EB
983 LIBGNAT_TARGET_PAIRS = \
984 $(LIBGNAT_TARGET_PAIRS_COMMON) $(LIBGNAT_TARGET_PAIRS_32)
8f5730b9 985 else
6818f0fc
EB
986 LIBGNAT_TARGET_PAIRS = \
987 $(LIBGNAT_TARGET_PAIRS_COMMON) $(LIBGNAT_TARGET_PAIRS_64)
8f5730b9 988 endif
a1ab4c31
AC
989 endif
990
991 TOOLS_TARGET_PAIRS=mlib-tgt-specific.adb<mlib-tgt-specific-solaris.adb
992
993 EH_MECHANISM=-gcc
994 THREADSLIB = -lposix4 -lthread
995 MISCLIB = -lposix4 -lnsl -lsocket
996 SO_OPTS = -Wl,-h,
997 GNATLIB_SHARED = gnatlib-shared-dual
998 GMEM_LIB = gmemlib
a1ab4c31
AC
999 LIBRARY_VERSION := $(LIB_VERSION)
1000
1001 ifeq ($(strip $(filter-out pthread PTHREAD,$(THREAD_KIND))),)
1002 LIBGNAT_TARGET_PAIRS = \
1003 a-intnam.ads<a-intnam-solaris.ads \
1004 s-inmaop.adb<s-inmaop-posix.adb \
1005 s-intman.adb<s-intman-posix.adb \
1006 s-osinte.adb<s-osinte-posix.adb \
1007 s-osinte.ads<s-osinte-solaris-posix.ads \
1008 s-osprim.adb<s-osprim-solaris.adb \
1009 s-taprop.adb<s-taprop-posix.adb \
1010 s-taspri.ads<s-taspri-posix.ads \
1011 s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
a1ab4c31
AC
1012 g-soliop.ads<g-soliop-solaris.ads \
1013 system.ads<system-solaris-sparc.ads
1014
1015 THREADSLIB = -lposix4 -lpthread
1016 endif
1017
1018 ifeq ($(strip $(filter-out m64,$(THREAD_KIND))),)
1019 LIBGNAT_TARGET_PAIRS = $(LIBGNAT_TARGET_PAIRS_64)
1020 endif
1021endif
1022
fbdd5d87
RO
1023ifeq ($(strip $(filter-out %86 %x86_64 solaris2%,$(arch) $(osys))),)
1024 LIBGNAT_TARGET_PAIRS_COMMON = \
a1ab4c31
AC
1025 a-numaux.adb<a-numaux-x86.adb \
1026 a-numaux.ads<a-numaux-x86.ads \
1027 a-intnam.ads<a-intnam-solaris.ads \
1028 s-inmaop.adb<s-inmaop-posix.adb \
1029 s-intman.adb<s-intman-solaris.adb \
1030 s-osinte.adb<s-osinte-solaris.adb \
1031 s-osinte.ads<s-osinte-solaris.ads \
1032 s-osprim.adb<s-osprim-solaris.adb \
1033 s-taprop.adb<s-taprop-solaris.adb \
1034 s-tasinf.adb<s-tasinf-solaris.adb \
1035 s-tasinf.ads<s-tasinf-solaris.ads \
1036 s-taspri.ads<s-taspri-solaris.ads \
1037 s-tpopsp.adb<s-tpopsp-solaris.adb \
19172ae9
AC
1038 g-soliop.ads<g-soliop-solaris.ads \
1039 $(ATOMICS_TARGET_PAIRS)
f5026442 1040
fbdd5d87
RO
1041 LIBGNAT_TARGET_PAIRS_32 = \
1042 g-bytswa.adb<g-bytswa-x86.adb \
19172ae9 1043 s-atocou.adb<s-atocou-x86.adb \
fbdd5d87
RO
1044 system.ads<system-solaris-x86.ads
1045
1046 LIBGNAT_TARGET_PAIRS_64 = \
1047 system.ads<system-solaris-x86_64.ads
1048
1049 ifeq ($(strip $(filter-out %86 solaris2%,$(arch) $(osys))),)
1050 ifeq ($(strip $(MULTISUBDIR)),/amd64)
1051 LIBGNAT_TARGET_PAIRS = \
1052 $(LIBGNAT_TARGET_PAIRS_COMMON) $(LIBGNAT_TARGET_PAIRS_64)
1053 else
1054 LIBGNAT_TARGET_PAIRS = \
1055 $(LIBGNAT_TARGET_PAIRS_COMMON) $(LIBGNAT_TARGET_PAIRS_32)
1056 endif
f5026442 1057 else
fbdd5d87
RO
1058 ifeq ($(strip $(MULTISUBDIR)),/32)
1059 LIBGNAT_TARGET_PAIRS = \
1060 $(LIBGNAT_TARGET_PAIRS_COMMON) $(LIBGNAT_TARGET_PAIRS_32)
1061 else
1062 LIBGNAT_TARGET_PAIRS = \
1063 $(LIBGNAT_TARGET_PAIRS_COMMON) $(LIBGNAT_TARGET_PAIRS_64)
1064 endif
f5026442 1065 endif
a1ab4c31
AC
1066
1067 TOOLS_TARGET_PAIRS=mlib-tgt-specific.adb<mlib-tgt-specific-solaris.adb
1068
1069 EH_MECHANISM=-gcc
1070 THREADSLIB = -lposix4 -lthread
1071 MISCLIB = -lposix4 -lnsl -lsocket
1072 SO_OPTS = -Wl,-h,
1073 GNATLIB_SHARED = gnatlib-shared-dual
1074 GMEM_LIB = gmemlib
a1ab4c31
AC
1075 LIBRARY_VERSION := $(LIB_VERSION)
1076endif
1077
1078ifeq ($(strip $(filter-out %86 linux%,$(arch) $(osys))),)
1079 LIBGNAT_TARGET_PAIRS = \
1080 a-intnam.ads<a-intnam-linux.ads \
1081 a-numaux.adb<a-numaux-x86.adb \
1082 a-numaux.ads<a-numaux-x86.ads \
1083 g-bytswa.adb<g-bytswa-x86.adb \
1084 s-inmaop.adb<s-inmaop-posix.adb \
1085 s-intman.adb<s-intman-posix.adb \
686d0984 1086 s-tpopsp.adb<s-tpopsp-tls.adb \
19172ae9
AC
1087 g-sercom.adb<g-sercom-linux.adb \
1088 $(ATOMICS_TARGET_PAIRS) \
1089 s-atocou.adb<s-atocou-x86.adb
a1ab4c31
AC
1090
1091 ifeq ($(strip $(filter-out marte,$(THREAD_KIND))),)
1092 LIBGNAT_TARGET_PAIRS += \
1093 a-exetim.adb<a-exetim-linux-marte.adb \
1094 a-exetim.ads<a-exetim-linux-marte.ads \
1095 a-extiti.adb<a-extiti-linux-marte.adb \
1096 a-extiti.ads<a-extiti-linux-marte.ads \
1097 a-rttiev.adb<a-rttiev-linux-marte.adb \
1098 a-rttiev.ads<a-rttiev-linux-marte.ads \
a1ab4c31
AC
1099 s-osinte.adb<s-osinte-linux-marte.adb \
1100 s-osinte.ads<s-osinte-linux-marte.ads \
cbd8be94
AC
1101 s-osprim.adb<s-osprim-posix.adb \
1102 s-taprop.adb<s-taprop-linux-marte.adb \
89522556 1103 s-taspri.ads<s-taspri-posix.ads \
cbd8be94 1104 system.ads<system-linux-x86.ads
a1ab4c31
AC
1105
1106 EXTRA_GNATRTL_TASKING_OBJS=a-exetim.o a-extiti.o
1107
1108 EH_MECHANISM=
1109 THREADSLIB = -lmarte
1110 else
1111 LIBGNAT_TARGET_PAIRS += \
c775c209
AC
1112 a-exetim.adb<a-exetim-posix.adb \
1113 a-exetim.ads<a-exetim-default.ads \
a1ab4c31 1114 s-linux.ads<s-linux.ads \
2bd2d858
JR
1115 s-osinte.adb<s-osinte-posix.adb \
1116 system.ads<system-linux-x86.ads
37efd88e
JR
1117
1118 ifeq ($(strip $(filter-out xenomai,$(THREAD_KIND))),)
1119 LIBGNAT_TARGET_PAIRS += \
1120 s-osinte.ads<s-osinte-linux-xenomai.ads \
cbd8be94
AC
1121 s-osprim.adb<s-osprim-linux-xenomai.adb \
1122 s-taprop.adb<s-taprop-linux-xenomai.adb \
2bd2d858 1123 s-taspri.ads<s-taspri-linux-xenomai.ads
37efd88e 1124
cbd8be94 1125 EH_MECHANISM=-gcc
37efd88e
JR
1126 else
1127 LIBGNAT_TARGET_PAIRS += \
1128 s-osinte.ads<s-osinte-linux.ads \
cbd8be94 1129 s-osprim.adb<s-osprim-posix.adb \
37efd88e
JR
1130 s-taprop.adb<s-taprop-linux.adb \
1131 s-tasinf.ads<s-tasinf-linux.ads \
cbd8be94 1132 s-tasinf.adb<s-tasinf-linux.adb \
2bd2d858 1133 s-taspri.ads<s-taspri-posix.ads
37efd88e
JR
1134
1135 EH_MECHANISM=-gcc
1136 endif
a1ab4c31 1137
c775c209 1138 THREADSLIB = -lpthread -lrt
5391897d 1139 EXTRA_GNATRTL_NONTASKING_OBJS=g-sse.o g-ssvety.o
c775c209 1140 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o a-exetim.o
a1ab4c31
AC
1141 endif
1142
1143 TOOLS_TARGET_PAIRS = \
1144 mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb \
1145 indepsw.adb<indepsw-gnu.adb
1146
1147 GNATLIB_SHARED = gnatlib-shared-dual
1148 GMEM_LIB = gmemlib
a1ab4c31
AC
1149 LIBRARY_VERSION := $(LIB_VERSION)
1150endif
1151
1152ifeq ($(strip $(filter-out %86 kfreebsd%,$(arch) $(osys))),)
1153 LIBGNAT_TARGET_PAIRS = \
1154 a-intnam.ads<a-intnam-freebsd.ads \
1155 a-numaux.adb<a-numaux-x86.adb \
1156 a-numaux.ads<a-numaux-x86.ads \
1157 s-inmaop.adb<s-inmaop-posix.adb \
1158 s-intman.adb<s-intman-posix.adb \
a1ab4c31
AC
1159 s-osinte.adb<s-osinte-posix.adb \
1160 s-osinte.ads<s-osinte-kfreebsd-gnu.ads \
1161 s-osprim.adb<s-osprim-posix.adb \
1162 s-taprop.adb<s-taprop-linux.adb \
1163 s-tasinf.ads<s-tasinf-linux.ads \
1164 s-tasinf.adb<s-tasinf-linux.adb \
1165 s-taspri.ads<s-taspri-posix.ads \
1166 s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
19172ae9
AC
1167 system.ads<system-freebsd-x86.ads \
1168 $(ATOMICS_TARGET_PAIRS) \
1169 s-atocou.adb<s-atocou-x86.adb
a1ab4c31
AC
1170
1171 TOOLS_TARGET_PAIRS = \
1172 mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb \
1173 indepsw.adb<indepsw-gnu.adb
1174
1175 EH_MECHANISM=-gcc
1176 THREADSLIB = -lpthread
1177 GNATLIB_SHARED = gnatlib-shared-dual
1178 GMEM_LIB = gmemlib
a1ab4c31
AC
1179 LIBRARY_VERSION := $(LIB_VERSION)
1180endif
1181
92532234
AJ
1182ifeq ($(strip $(filter-out x86_64 kfreebsd%,$(arch) $(osys))),)
1183 LIBGNAT_TARGET_PAIRS = \
1184 a-intnam.ads<a-intnam-freebsd.ads \
1185 a-numaux.adb<a-numaux-x86.adb \
1186 a-numaux.ads<a-numaux-x86.ads \
1187 s-inmaop.adb<s-inmaop-posix.adb \
1188 s-intman.adb<s-intman-posix.adb \
1189 s-osinte.adb<s-osinte-posix.adb \
1190 s-osinte.ads<s-osinte-kfreebsd-gnu.ads \
1191 s-osprim.adb<s-osprim-posix.adb \
1192 s-taprop.adb<s-taprop-linux.adb \
1193 s-tasinf.ads<s-tasinf-linux.ads \
1194 s-tasinf.adb<s-tasinf-linux.adb \
1195 s-taspri.ads<s-taspri-posix.ads \
1196 s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
1197 system.ads<system-freebsd-x86_64.ads
1198
1199 TOOLS_TARGET_PAIRS = \
1200 mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb \
1201 indepsw.adb<indepsw-gnu.adb
1202
1203 EH_MECHANISM=-gcc
1204 THREADSLIB = -lpthread
1205 GNATLIB_SHARED = gnatlib-shared-dual
1206 GMEM_LIB = gmemlib
92532234
AJ
1207 LIBRARY_VERSION := $(LIB_VERSION)
1208endif
1209
a1ab4c31
AC
1210ifeq ($(strip $(filter-out %86 freebsd%,$(arch) $(osys))),)
1211 LIBGNAT_TARGET_PAIRS = \
1212 a-intnam.ads<a-intnam-freebsd.ads \
1213 a-numaux.adb<a-numaux-x86.adb \
1214 a-numaux.ads<a-numaux-x86.ads \
1215 g-bytswa.adb<g-bytswa-x86.adb \
a1ab4c31
AC
1216 s-inmaop.adb<s-inmaop-posix.adb \
1217 s-intman.adb<s-intman-posix.adb \
1218 s-osinte.adb<s-osinte-freebsd.adb \
1219 s-osinte.ads<s-osinte-freebsd.ads \
1220 s-osprim.adb<s-osprim-posix.adb \
1221 s-taprop.adb<s-taprop-posix.adb \
1222 s-taspri.ads<s-taspri-posix.ads \
1223 s-tpopsp.adb<s-tpopsp-posix.adb \
19172ae9
AC
1224 system.ads<system-freebsd-x86.ads \
1225 $(ATOMICS_TARGET_PAIRS) \
1226 s-atocou.adb<s-atocou-x86.adb
a1ab4c31
AC
1227
1228 TOOLS_TARGET_PAIRS = \
1229 mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb
1230 GNATLIB_SHARED = gnatlib-shared-dual
1231
1232 EH_MECHANISM=-gcc
1233 THREADSLIB= -lpthread
1234 GMEM_LIB = gmemlib
a1ab4c31
AC
1235 LIBRARY_VERSION := $(LIB_VERSION)
1236endif
1237
1238ifeq ($(strip $(filter-out s390% linux%,$(arch) $(osys))),)
358ef7fb
AK
1239 LIBGNAT_TARGET_PAIRS_COMMON = \
1240 a-intnam.ads<a-intnam-linux.ads \
1241 s-inmaop.adb<s-inmaop-posix.adb \
1242 s-intman.adb<s-intman-posix.adb \
1243 s-linux.ads<s-linux.ads \
1244 s-osinte.adb<s-osinte-posix.adb \
1245 s-osinte.ads<s-osinte-linux.ads \
1246 s-osprim.adb<s-osprim-posix.adb \
1247 s-taprop.adb<s-taprop-linux.adb \
1248 s-tasinf.ads<s-tasinf-linux.ads \
1249 s-tasinf.adb<s-tasinf-linux.adb \
1250 s-taspri.ads<s-taspri-posix-noaltstack.ads \
0a0a18c3
AC
1251 s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
1252 g-trasym.ads<g-trasym-unimplemented.ads \
1253 g-trasym.adb<g-trasym-unimplemented.adb
358ef7fb
AK
1254
1255 LIBGNAT_TARGET_PAIRS_32 = \
1256 system.ads<system-linux-s390.ads
1257
1258 LIBGNAT_TARGET_PAIRS_64 = \
1259 system.ads<system-linux-s390x.ads
1260
a1ab4c31 1261 ifeq ($(strip $(filter-out s390x,$(arch))),)
358ef7fb
AK
1262 ifeq ($(strip $(MULTISUBDIR)),/32)
1263 LIBGNAT_TARGET_PAIRS = \
1264 $(LIBGNAT_TARGET_PAIRS_COMMON) $(LIBGNAT_TARGET_PAIRS_32)
1265 else
1266 LIBGNAT_TARGET_PAIRS = \
1267 $(LIBGNAT_TARGET_PAIRS_COMMON) $(LIBGNAT_TARGET_PAIRS_64)
1268 endif
a1ab4c31
AC
1269 else
1270 LIBGNAT_TARGET_PAIRS = \
358ef7fb 1271 $(LIBGNAT_TARGET_PAIRS_COMMON) $(LIBGNAT_TARGET_PAIRS_32)
a1ab4c31
AC
1272 endif
1273
1274 TOOLS_TARGET_PAIRS = \
4bffd4e0
AC
1275 mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb \
1276 indepsw.adb<indepsw-gnu.adb
a1ab4c31
AC
1277
1278 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o
1279 EH_MECHANISM=-gcc
1280 THREADSLIB = -lpthread
1281 GNATLIB_SHARED = gnatlib-shared-dual
a1ab4c31
AC
1282 LIBRARY_VERSION := $(LIB_VERSION)
1283endif
1284
9aaa1ee8
RO
1285ifeq ($(strip $(filter-out mips sgi irix6%,$(targ))),)
1286 LIBGNAT_TARGET_PAIRS = \
1287 a-intnam.ads<a-intnam-irix.ads \
1288 s-inmaop.adb<s-inmaop-posix.adb \
1289 s-intman.adb<s-intman-irix.adb \
1290 s-mastop.adb<s-mastop-irix.adb \
1291 s-osinte.adb<s-osinte-irix.adb \
1292 s-osinte.ads<s-osinte-irix.ads \
1293 s-osprim.adb<s-osprim-posix.adb \
1294 s-proinf.adb<s-proinf-irix-athread.adb \
1295 s-proinf.ads<s-proinf-irix-athread.ads \
1296 s-taprop.adb<s-taprop-irix.adb \
1297 s-tasinf.ads<s-tasinf-irix.ads \
1298 s-taspri.ads<s-taspri-posix.ads \
1299 s-tpopsp.adb<s-tpopsp-posix.adb \
1300 s-traceb.adb<s-traceb-mastop.adb
f5026442 1301
9aaa1ee8
RO
1302 ifeq ($(strip $(MULTISUBDIR)),/64)
1303 LIBGNAT_TARGET_PAIRS += \
1304 system.ads<system-irix-n64.ads
1305 else
1306 ifeq ($(strip $(MULTISUBDIR)),/32)
f5026442 1307 LIBGNAT_TARGET_PAIRS += \
9aaa1ee8 1308 system.ads<system-irix-o32.ads
f5026442 1309 else
9aaa1ee8
RO
1310 LIBGNAT_TARGET_PAIRS += \
1311 system.ads<system-irix-n32.ads
f5026442 1312 endif
a1ab4c31
AC
1313 endif
1314
9aaa1ee8
RO
1315 THREADSLIB = -lpthread
1316 GNATLIB_SHARED = gnatlib-shared-default
1317
a1ab4c31
AC
1318 EH_MECHANISM=-gcc
1319 TOOLS_TARGET_PAIRS = mlib-tgt-specific.adb<mlib-tgt-specific-irix.adb
1320 TGT_LIB = -lexc
1321 MISCLIB = -lexc
a1ab4c31
AC
1322 LIBRARY_VERSION := $(LIB_VERSION)
1323 GMEM_LIB = gmemlib
1324endif
1325
1326ifeq ($(strip $(filter-out hppa% hp hpux10%,$(targ))),)
1327 LIBGNAT_TARGET_PAIRS = \
1328 a-excpol.adb<a-excpol-abort.adb \
1329 a-intnam.ads<a-intnam-hpux.ads \
1330 s-inmaop.adb<s-inmaop-posix.adb \
1331 s-interr.adb<s-interr-sigaction.adb \
1332 s-intman.adb<s-intman-posix.adb \
1333 s-osinte.adb<s-osinte-hpux-dce.adb \
1334 s-osinte.ads<s-osinte-hpux-dce.ads \
1335 s-parame.ads<s-parame-hpux.ads \
1336 s-osprim.adb<s-osprim-posix.adb \
1337 s-taprop.adb<s-taprop-hpux-dce.adb \
1338 s-taspri.ads<s-taspri-hpux-dce.ads \
1339 s-tpopsp.adb<s-tpopsp-posix.adb \
a1ab4c31
AC
1340 system.ads<system-hpux.ads
1341
1342 EH_MECHANISM=-gcc
a1ab4c31
AC
1343endif
1344
1345ifeq ($(strip $(filter-out hppa% hp hpux11%,$(targ))),)
1346 LIBGNAT_TARGET_PAIRS = \
1347 a-intnam.ads<a-intnam-hpux.ads \
1348 s-inmaop.adb<s-inmaop-posix.adb \
1349 s-intman.adb<s-intman-posix.adb \
1350 s-osinte.adb<s-osinte-posix.adb \
1351 s-osinte.ads<s-osinte-hpux.ads \
1352 s-parame.ads<s-parame-hpux.ads \
1353 s-osprim.adb<s-osprim-posix.adb \
1354 s-traceb.adb<s-traceb-hpux.adb \
1355 s-taprop.adb<s-taprop-posix.adb \
1356 s-taspri.ads<s-taspri-posix.ads \
1357 s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
a1ab4c31
AC
1358 system.ads<system-hpux.ads
1359
1360 TOOLS_TARGET_PAIRS = mlib-tgt-specific.adb<mlib-tgt-specific-hpux.adb
1361 EH_MECHANISM=-gcc
1362 TGT_LIB = /usr/lib/libcl.a
1363 THREADSLIB = -lpthread
1364 GMEM_LIB = gmemlib
1365 soext = .sl
1366 SO_OPTS = -Wl,+h,
a1ab4c31
AC
1367 GNATLIB_SHARED = gnatlib-shared-dual
1368 LIBRARY_VERSION := $(LIB_VERSION)
1369endif
1370
1371ifeq ($(strip $(filter-out ibm aix%,$(manu) $(osys))),)
4c1a9016 1372 LIBGNAT_TARGET_PAIRS_COMMON = \
a1ab4c31
AC
1373 a-intnam.ads<a-intnam-aix.ads \
1374 s-inmaop.adb<s-inmaop-posix.adb \
1375 s-intman.adb<s-intman-posix.adb \
1376 s-osinte.adb<s-osinte-aix.adb \
1377 s-osinte.ads<s-osinte-aix.ads \
1378 s-osprim.adb<s-osprim-posix.adb \
1379 s-taprop.adb<s-taprop-posix.adb \
1380 s-taspri.ads<s-taspri-posix.ads \
7415029d
AC
1381 s-tpopsp.adb<s-tpopsp-posix.adb \
1382 $(ATOMICS_TARGET_PAIRS)
4c1a9016
OH
1383
1384 LIBGNAT_TARGET_PAIRS_32 = \
a1ab4c31
AC
1385 system.ads<system-aix.ads
1386
4c1a9016
OH
1387 LIBGNAT_TARGET_PAIRS_64 = \
1388 system.ads<system-aix64.ads
1389
1390 ifeq ($(findstring ppc64, \
1391 $(shell $(GCC_FOR_TARGET) $(GNATLIBCFLAGS) \
1392 -print-multi-os-directory)), \
1393 ppc64)
1394 LIBGNAT_TARGET_PAIRS = \
1395 $(LIBGNAT_TARGET_PAIRS_COMMON) $(LIBGNAT_TARGET_PAIRS_64)
1396 else
1397 LIBGNAT_TARGET_PAIRS = \
1398 $(LIBGNAT_TARGET_PAIRS_COMMON) $(LIBGNAT_TARGET_PAIRS_32)
1399 endif
1400
a1ab4c31 1401 THREADSLIB = -lpthreads
686d0984 1402 EH_MECHANISM=-gcc
a1ab4c31
AC
1403 TOOLS_TARGET_PAIRS = \
1404 mlib-tgt-specific.adb<mlib-tgt-specific-aix.adb \
1405 indepsw.adb<indepsw-aix.adb
1406
1407 GMEM_LIB = gmemlib
1408endif
1409
a1ab4c31
AC
1410ifeq ($(strip $(filter-out rtems%,$(osys))),)
1411 LIBGNAT_TARGET_PAIRS = \
1412 system.ads<system-rtems.ads \
1413 a-intnam.ads<a-intnam-rtems.ads \
1414 s-inmaop.adb<s-inmaop-posix.adb \
1415 s-intman.adb<s-intman-posix.adb \
1416 s-osinte.adb<s-osinte-rtems.adb \
1417 s-osinte.ads<s-osinte-rtems.ads \
1418 s-osprim.adb<s-osprim-posix.adb \
1419 s-parame.adb<s-parame-rtems.adb \
1420 s-taprop.adb<s-taprop-posix.adb \
1421 s-taspri.ads<s-taspri-posix.ads \
1422 s-tpopsp.adb<s-tpopsp-rtems.adb \
1011d8a2 1423 s-stchop.adb<s-stchop-rtems.adb \
0a0a18c3
AC
1424 s-interr.adb<s-interr-hwint.adb \
1425 g-trasym.ads<g-trasym-unimplemented.ads \
1426 g-trasym.adb<g-trasym-unimplemented.adb
a1ab4c31
AC
1427endif
1428
1429ifeq ($(strip $(filter-out alpha% dec osf%,$(targ))),)
1430 LIBGNAT_TARGET_PAIRS = \
1431 a-intnam.ads<a-intnam-tru64.ads \
1432 s-inmaop.adb<s-inmaop-posix.adb \
1433 s-intman.adb<s-intman-posix.adb \
1434 s-mastop.adb<s-mastop-tru64.adb \
1435 s-osinte.adb<s-osinte-tru64.adb \
1436 s-osinte.ads<s-osinte-tru64.ads \
1437 s-osprim.adb<s-osprim-unix.adb \
1438 s-taprop.adb<s-taprop-tru64.adb \
1439 s-tasinf.ads<s-tasinf-tru64.ads \
1440 s-taspri.ads<s-taspri-tru64.ads \
1441 s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
1442 s-traceb.adb<s-traceb-mastop.adb \
7415029d
AC
1443 system.ads<system-tru64.ads \
1444 $(ATOMICS_TARGET_PAIRS)
a1ab4c31
AC
1445
1446 TOOLS_TARGET_PAIRS=mlib-tgt-specific.adb<mlib-tgt-specific-tru64.adb
1447
1448 EH_MECHANISM=-gcc
1449 GMEM_LIB=gmemlib
b26be063 1450 MISCLIB = -lexc
a1ab4c31 1451 THREADSLIB = -lpthread -lmach -lexc -lrt
a1ab4c31
AC
1452 GNATLIB_SHARED = gnatlib-shared-default
1453 LIBRARY_VERSION := $(LIB_VERSION)
1454endif
1455
1456ifeq ($(strip $(filter-out alpha64 ia64 dec hp vms% openvms% alphavms%,$(host))),)
1457
1458soext = .exe
1459hyphen = _
1460LN = cp -p
1461LN_S = cp -p
1462
1463.SUFFIXES: .sym
1464
1465.o.sym:
1466 @ gnu:[bin]vmssymvec $<
1467endif
1468
1469ifeq ($(strip $(filter-out alpha64 ia64 dec hp vms% openvms% alphavms%,$(targ))),)
a1ab4c31 1470 LIBGNAT_TARGET_PAIRS = \
d88a51b1
AC
1471 a-caldel.adb<a-caldel-vms.adb \
1472 a-calend.adb<a-calend-vms.adb \
1473 a-calend.ads<a-calend-vms.ads \
1474 a-dirval.adb<a-dirval-vms.adb \
1475 a-excpol.adb<a-excpol-abort.adb \
1476 a-intnam.ads<a-intnam-vms.ads \
1477 a-numaux.ads<a-numaux-vms.ads \
1478 g-expect.adb<g-expect-vms.adb \
1479 g-socthi.ads<g-socthi-vms.ads \
1480 g-socthi.adb<g-socthi-vms.adb \
1481 g-stsifd.adb<g-stsifd-sockets.adb \
d88a51b1
AC
1482 i-cstrea.adb<i-cstrea-vms.adb \
1483 memtrack.adb<memtrack-vms_64.adb \
1484 s-auxdec.ads<s-auxdec-vms_64.ads \
d88a51b1
AC
1485 s-inmaop.adb<s-inmaop-vms.adb \
1486 s-interr.adb<s-interr-vms.adb \
1487 s-intman.adb<s-intman-vms.adb \
1488 s-intman.ads<s-intman-vms.ads \
1489 s-memory.adb<s-memory-vms_64.adb \
1490 s-memory.ads<s-memory-vms_64.ads \
1491 s-osprim.adb<s-osprim-vms.adb \
1492 s-osprim.ads<s-osprim-vms.ads \
1493 s-taprop.adb<s-taprop-vms.adb \
1494 s-tasdeb.adb<s-tasdeb-vms.adb \
1495 s-taspri.ads<s-taspri-vms.ads \
0187b60e 1496 s-tpopsp.adb<s-tpopsp-vms.adb \
d88a51b1 1497 s-tpopde.adb<s-tpopde-vms.adb \
2933b16c 1498 s-tpopde.ads<s-tpopde-vms.ads
d88a51b1
AC
1499
1500 ifeq ($(strip $(filter-out ia64 hp vms% openvms%,$(targ))),)
2933b16c
RD
1501 LIBGNAT_TARGET_PAIRS += \
1502 g-enblsp.adb<g-enblsp-vms-ia64.adb \
1503 g-trasym.adb<g-trasym-vms-ia64.adb \
1504 s-asthan.adb<s-asthan-vms-ia64.adb \
1505 s-auxdec.adb<s-auxdec-vms-ia64.adb \
1506 s-osinte.adb<s-osinte-vms-ia64.adb \
1507 s-osinte.ads<s-osinte-vms-ia64.ads \
1508 s-vaflop.adb<s-vaflop-vms-ia64.adb \
1509 system.ads<system-vms-ia64.ads \
1510 s-parame.ads<s-parame-vms-ia64.ads \
1511 $(ATOMICS_TARGET_PAIRS)
1512
d88a51b1
AC
1513 TOOLS_TARGET_PAIRS= \
1514 mlib-tgt-specific.adb<mlib-tgt-specific-vms-ia64.adb \
1515 symbols.adb<symbols-vms.adb \
1516 symbols-processing.adb<symbols-processing-vms-ia64.adb
1517 else
2933b16c
RD
1518 ifeq ($(strip $(filter-out alpha64 dec vms% openvms% alphavms%,$(targ))),)
1519 LIBGNAT_TARGET_PAIRS += \
1520 g-enblsp.adb<g-enblsp-vms-alpha.adb \
1521 g-trasym.adb<g-trasym-vms-alpha.adb \
1522 s-asthan.adb<s-asthan-vms-alpha.adb \
1523 s-auxdec.adb<s-auxdec-vms-alpha.adb \
1524 s-osinte.adb<s-osinte-vms.adb \
1525 s-osinte.ads<s-osinte-vms.ads \
1526 s-traent.adb<s-traent-vms.adb \
1527 s-traent.ads<s-traent-vms.ads \
1528 s-vaflop.adb<s-vaflop-vms-alpha.adb \
1529 system.ads<system-vms_64.ads \
1530 s-parame.ads<s-parame-vms-alpha.ads \
1531 $(ATOMICS_TARGET_PAIRS)
1532
19172ae9 1533 EXTRA_GNATRTL_NONTASKING_OBJS = s-atocou.o
d88a51b1
AC
1534 TOOLS_TARGET_PAIRS= \
1535 mlib-tgt-specific.adb<mlib-tgt-specific-vms-alpha.adb \
1536 symbols.adb<symbols-vms.adb \
1537 symbols-processing.adb<symbols-processing-vms-alpha.adb
2933b16c 1538 endif
d88a51b1 1539 endif
a1ab4c31
AC
1540
1541adamsg.o: adamsg.msg
1542 -$(DECC) --cc=message adamsg.msg -o adamsg.o
1543
1544 EXTRA_GNATMAKE_OBJS = mlib-tgt-vms_common.o
1545
1546 GMEM_LIB = gmemlib
1547 EH_MECHANISM=-gcc
1548 GNATLIB_SHARED=gnatlib-shared-vms
a1ab4c31
AC
1549 EXTRA_LIBGNAT_SRCS+=adamsg.msg
1550 EXTRA_LIBGNAT_OBJS+=adamsg.o
6367dd30 1551 EXTRA_GNATRTL_NONTASKING_OBJS+-s-po32gl.o
a1ab4c31
AC
1552 EXTRA_GNATRTL_TASKING_OBJS=s-tpopde.o
1553 EXTRA_GNATTOOLS = \
f00c5f52 1554 ../../gnatsym$(exeext)
a1ab4c31 1555 # This command transforms (YYYYMMDD) into YY,MMDD
a760c977 1556 GSMATCH_VERSION := $(shell grep "^ *Gnat_Static_Version_String" $(fsrcpfx)ada/gnatvsn.ads | sed -e 's/.*(\(.*\)).*/\1/' -e 's/\(..\)\(..\)\(....\).*/\2,\3/')
a1ab4c31
AC
1557 TOOLS_LIBS_LO := --for-linker=sys\\$$\$$library:trace.exe
1558 LIBRARY_VERSION := $(subst .,_,$(LIB_VERSION))
1559endif
1560
d88a51b1
AC
1561ifeq ($(strip $(filter-out avr none powerpc% eabispe leon% erc32% unknown elf,$(targ))),)
1562 TOOLS_TARGET_PAIRS=\
1563 mlib-tgt-specific.adb<mlib-tgt-specific-xi.adb \
1564 indepsw.adb<indepsw-gnu.adb
1565endif
1566
a1ab4c31
AC
1567ifeq ($(strip $(filter-out cygwin32% mingw32% pe,$(osys))),)
1568 LIBGNAT_TARGET_PAIRS = \
1569 a-dirval.adb<a-dirval-mingw.adb \
1570 a-excpol.adb<a-excpol-abort.adb \
1571 a-numaux.adb<a-numaux-x86.adb \
1572 a-numaux.ads<a-numaux-x86.ads \
1573 s-gloloc.adb<s-gloloc-mingw.adb \
1574 s-inmaop.adb<s-inmaop-dummy.adb \
1575 s-memory.adb<s-memory-mingw.adb \
1576 s-taspri.ads<s-taspri-mingw.ads \
1577 s-tasinf.adb<s-tasinf-mingw.adb \
1578 s-tasinf.ads<s-tasinf-mingw.ads \
1579 g-bytswa.adb<g-bytswa-x86.adb \
1580 g-socthi.ads<g-socthi-mingw.ads \
1581 g-socthi.adb<g-socthi-mingw.adb \
1582 g-stsifd.adb<g-stsifd-sockets.adb \
19172ae9
AC
1583 g-soliop.ads<g-soliop-mingw.ads \
1584 $(ATOMICS_TARGET_PAIRS) \
1585 s-atocou.adb<s-atocou-x86.adb
a1ab4c31
AC
1586
1587 ifeq ($(strip $(filter-out rtx_w32 rtx_rtss,$(THREAD_KIND))),)
1588 LIBGNAT_TARGET_PAIRS += \
1589 s-intman.adb<s-intman-dummy.adb \
1590 s-osinte.ads<s-osinte-rtx.ads \
1591 s-osprim.adb<s-osprim-rtx.adb \
f921a1cd 1592 s-taprop.adb<s-taprop-rtx.adb
a1ab4c31
AC
1593
1594 EXTRA_GNATRTL_NONTASKING_OBJS = s-win32.o
1595
f921a1cd
JR
1596 ifeq ($(strip $(filter-out rtx_w32,$(THREAD_KIND))),)
1597 LIBGNAT_TARGET_PAIRS += system.ads<system-rtx.ads
1598
1599 EH_MECHANISM=-gcc
1600 else
d59214bd
JR
1601 LIBGNAT_TARGET_PAIRS += \
1602 system.ads<system-rtx-rtss.ads \
1603 s-parame.adb<s-parame-vxworks.adb
f921a1cd
JR
1604
1605 EH_MECHANISM=
1606 endif
1607
a1ab4c31
AC
1608 else
1609 LIBGNAT_TARGET_PAIRS += \
1610 a-exetim.adb<a-exetim-mingw.adb \
1611 a-exetim.ads<a-exetim-mingw.ads \
1612 a-intnam.ads<a-intnam-mingw.ads \
1613 g-sercom.adb<g-sercom-mingw.adb \
1614 s-interr.adb<s-interr-sigaction.adb \
1615 s-intman.adb<s-intman-mingw.adb \
1616 s-osinte.ads<s-osinte-mingw.ads \
1617 s-osprim.adb<s-osprim-mingw.adb \
b282ab37 1618 s-taprop.adb<s-taprop-mingw.adb
a1ab4c31 1619
2bd2d858 1620 EH_MECHANISM=-gcc
b282ab37 1621 ifeq ($(strip $(filter-out x86_64%,$(arch))),)
57e215e4
KT
1622 ifeq ($(strip $(MULTISUBDIR)),/32)
1623 LIBGNAT_TARGET_PAIRS += \
1624 system.ads<system-mingw.ads
333d8aff 1625 SO_OPTS= -m32 -Wl,-soname,
57e215e4
KT
1626 else
1627 LIBGNAT_TARGET_PAIRS += \
1628 system.ads<system-mingw-x86_64.ads
333d8aff 1629 SO_OPTS = -m64 -Wl,-soname,
57e215e4 1630 endif
b282ab37 1631 else
57e215e4
KT
1632 ifeq ($(strip $(MULTISUBDIR)),/64)
1633 LIBGNAT_TARGET_PAIRS += \
1634 system.ads<system-mingw-x86_64.ads
333d8aff 1635 SO_OPTS = -m64 -Wl,-soname,
57e215e4
KT
1636 else
1637 LIBGNAT_TARGET_PAIRS += \
1638 system.ads<system-mingw.ads
333d8aff 1639 SO_OPTS = -m32 -Wl,-soname,
57e215e4 1640 endif
b282ab37
AC
1641 endif
1642
81d93365 1643 EXTRA_GNATRTL_NONTASKING_OBJS = \
5391897d 1644 s-win32.o s-winext.o g-regist.o g-sse.o g-ssvety.o
a1ab4c31
AC
1645 EXTRA_GNATRTL_TASKING_OBJS = a-exetim.o
1646
32838704 1647 MISCLIB = -lws2_32
a1ab4c31
AC
1648
1649 # ??? This will be replaced by gnatlib-shared-dual-win32 when GNAT
1650 # auto-import support for array/record will be done.
1651 GNATLIB_SHARED = gnatlib-shared-win32
1652 endif
1653
1654 TOOLS_TARGET_PAIRS= \
1655 mlib-tgt-specific.adb<mlib-tgt-specific-mingw.adb \
1656 indepsw.adb<indepsw-mingw.adb
1657
a1ab4c31 1658 GMEM_LIB = gmemlib
a1ab4c31
AC
1659 EXTRA_GNATTOOLS = ../../gnatdll$(exeext)
1660 EXTRA_GNATMAKE_OBJS = mdll.o mdll-utl.o mdll-fil.o
1661 soext = .dll
1662 LIBRARY_VERSION := $(LIB_VERSION)
1663endif
1664
1665ifeq ($(strip $(filter-out mips linux%,$(arch) $(osys))),)
1666 LIBGNAT_TARGET_PAIRS = \
1667 a-intnam.ads<a-intnam-linux.ads \
a1ab4c31
AC
1668 s-inmaop.adb<s-inmaop-posix.adb \
1669 s-intman.adb<s-intman-posix.adb \
1670 s-linux.ads<s-linux.ads \
1671 s-osinte.adb<s-osinte-posix.adb \
1672 s-osinte.ads<s-osinte-linux.ads \
1673 s-osprim.adb<s-osprim-posix.adb \
1674 s-taprop.adb<s-taprop-linux.adb \
1675 s-tasinf.ads<s-tasinf-linux.ads \
1676 s-tasinf.adb<s-tasinf-linux.adb \
1677 s-taspri.ads<s-taspri-posix.ads \
1678 s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
1679 system.ads<system-linux-mips.ads
1680
1681 EH_MECHANISM=-gcc
1682 THREADSLIB = -lpthread
1683 GNATLIB_SHARED = gnatlib-shared-dual
1684 GMEM_LIB = gmemlib
a1ab4c31
AC
1685 LIBRARY_VERSION := $(LIB_VERSION)
1686endif
1687
1688ifeq ($(strip $(filter-out mipsel linux%,$(arch) $(osys))),)
e84efdce 1689 LIBGNAT_TARGET_PAIRS_COMMON = \
a1ab4c31 1690 a-intnam.ads<a-intnam-linux.ads \
a1ab4c31
AC
1691 s-inmaop.adb<s-inmaop-posix.adb \
1692 s-intman.adb<s-intman-posix.adb \
e84efdce
LG
1693 s-linux.ads<s-linux-mipsel.ads \
1694 s-osinte.adb<s-osinte-posix.adb \
1695 s-osinte.ads<s-osinte-linux.ads \
1696 s-osprim.adb<s-osprim-posix.adb \
1697 s-taprop.adb<s-taprop-linux.adb \
1698 s-tasinf.ads<s-tasinf-linux.ads \
1699 s-tasinf.adb<s-tasinf-linux.adb \
1700 s-taspri.ads<s-taspri-posix-noaltstack.ads \
1701 s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
1702 g-sercom.adb<g-sercom-linux.adb
1703
1704 LIBGNAT_TARGET_PAIRS_32 = \
1705 system.ads<system-linux-mipsel.ads
1706
1707 LIBGNAT_TARGET_PAIRS_64 = \
1708 system.ads<system-linux-mips64el.ads
1709
1710 ifeq ($(strip $(shell $(GCC_FOR_TARGET) $(GNATLIBCFLAGS) -print-multi-os-directory)),../lib64)
1711 LIBGNAT_TARGET_PAIRS = \
1712 $(LIBGNAT_TARGET_PAIRS_COMMON) $(LIBGNAT_TARGET_PAIRS_64)
1713 else
1714 LIBGNAT_TARGET_PAIRS = \
1715 $(LIBGNAT_TARGET_PAIRS_COMMON) $(LIBGNAT_TARGET_PAIRS_32)
1716 endif
1717
1718 TOOLS_TARGET_PAIRS = \
1719 mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb \
1720 indepsw.adb<indepsw-gnu.adb
1721
1722 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o
1723 EH_MECHANISM=-gcc
1724 THREADSLIB = -lpthread
1725 GNATLIB_SHARED = gnatlib-shared-dual
1726 GMEM_LIB = gmemlib
e84efdce
LG
1727 LIBRARY_VERSION := $(LIB_VERSION)
1728endif
1729
1730ifeq ($(strip $(filter-out mips64el linux%,$(arch) $(osys))),)
1731 LIBGNAT_TARGET_PAIRS_COMMON = \
1732 a-intnam.ads<a-intnam-linux.ads \
1733 s-inmaop.adb<s-inmaop-posix.adb \
1734 s-intman.adb<s-intman-posix.adb \
1735 s-linux.ads<s-linux-mipsel.ads \
a1ab4c31
AC
1736 s-osinte.adb<s-osinte-posix.adb \
1737 s-osinte.ads<s-osinte-linux.ads \
1738 s-osprim.adb<s-osprim-posix.adb \
1739 s-taprop.adb<s-taprop-linux.adb \
1740 s-tasinf.ads<s-tasinf-linux.ads \
1741 s-tasinf.adb<s-tasinf-linux.adb \
d0ec4c99 1742 s-taspri.ads<s-taspri-posix-noaltstack.ads \
a1ab4c31 1743 s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
e84efdce
LG
1744 g-sercom.adb<g-sercom-linux.adb
1745
1746 LIBGNAT_TARGET_PAIRS_32 = \
a1ab4c31
AC
1747 system.ads<system-linux-mipsel.ads
1748
e84efdce
LG
1749 LIBGNAT_TARGET_PAIRS_64 = \
1750 system.ads<system-linux-mips64el.ads
1751
1752 ifeq ($(strip $(shell $(GCC_FOR_TARGET) $(GNATLIBCFLAGS) -print-multi-os-directory)),../lib64)
1753 LIBGNAT_TARGET_PAIRS = \
1754 $(LIBGNAT_TARGET_PAIRS_COMMON) $(LIBGNAT_TARGET_PAIRS_64)
1755 else
1756 LIBGNAT_TARGET_PAIRS = \
1757 $(LIBGNAT_TARGET_PAIRS_COMMON) $(LIBGNAT_TARGET_PAIRS_32)
1758 endif
1759
d0ec4c99
LG
1760 TOOLS_TARGET_PAIRS = \
1761 mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb \
1762 indepsw.adb<indepsw-gnu.adb
1763
1764 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o
a1ab4c31
AC
1765 EH_MECHANISM=-gcc
1766 THREADSLIB = -lpthread
1767 GNATLIB_SHARED = gnatlib-shared-dual
1768 GMEM_LIB = gmemlib
a1ab4c31
AC
1769 LIBRARY_VERSION := $(LIB_VERSION)
1770endif
1771
1772ifeq ($(strip $(filter-out powerpc% linux%,$(arch) $(osys))),)
9e81dbc7 1773 LIBGNAT_TARGET_PAIRS_COMMON = \
c775c209
AC
1774 a-exetim.adb<a-exetim-posix.adb \
1775 a-exetim.ads<a-exetim-default.ads \
a1ab4c31 1776 a-intnam.ads<a-intnam-linux.ads \
a1ab4c31
AC
1777 s-inmaop.adb<s-inmaop-posix.adb \
1778 s-intman.adb<s-intman-posix.adb \
1779 s-linux.ads<s-linux.ads \
1780 s-osinte.adb<s-osinte-posix.adb \
686d0984 1781 s-tpopsp.adb<s-tpopsp-tls.adb \
7415029d
AC
1782 g-sercom.adb<g-sercom-linux.adb \
1783 $(ATOMICS_TARGET_PAIRS)
9e81dbc7 1784
ab0c3d8e 1785 ifeq ($(strip $(filter-out xenomai,$(THREAD_KIND))),)
9e81dbc7 1786 LIBGNAT_TARGET_PAIRS = \
ab0c3d8e 1787 $(LIBGNAT_TARGET_PAIRS_COMMON)
9e81dbc7 1788
fde4b6f5
AC
1789 LIBGNAT_TARGET_PAIRS += \
1790 s-osinte.ads<s-osinte-linux-xenomai.ads \
1791 s-osprim.adb<s-osprim-linux-xenomai.adb \
1792 s-taprop.adb<s-taprop-linux-xenomai.adb \
1793 s-taspri.ads<s-taspri-linux-xenomai.ads \
2bd2d858 1794 system.ads<system-linux-ppc.ads
fde4b6f5 1795 else
ab0c3d8e
JR
1796 LIBGNAT_TARGET_PAIRS_32 = \
1797 system.ads<system-linux-ppc.ads
1798
1799 LIBGNAT_TARGET_PAIRS_64 = \
1800 system.ads<system-linux-ppc64.ads
1801
1802 ifeq ($(strip $(shell $(GCC_FOR_TARGET) $(GNATLIBCFLAGS) -print-multi-os-directory)),../lib64)
1803 LIBGNAT_TARGET_PAIRS = \
1804 $(LIBGNAT_TARGET_PAIRS_COMMON) $(LIBGNAT_TARGET_PAIRS_64)
1805 else
1806 LIBGNAT_TARGET_PAIRS = \
1807 $(LIBGNAT_TARGET_PAIRS_COMMON) $(LIBGNAT_TARGET_PAIRS_32)
1808 endif
1809
fde4b6f5
AC
1810 LIBGNAT_TARGET_PAIRS += \
1811 s-osinte.ads<s-osinte-linux.ads \
1812 s-osprim.adb<s-osprim-posix.adb \
1813 s-taprop.adb<s-taprop-linux.adb \
f043707f
JG
1814 s-tasinf.ads<s-tasinf-linux.ads \
1815 s-tasinf.adb<s-tasinf-linux.adb \
ab0c3d8e 1816 s-taspri.ads<s-taspri-posix-noaltstack.ads
fde4b6f5
AC
1817 endif
1818
a1ab4c31
AC
1819 TOOLS_TARGET_PAIRS = \
1820 mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb \
1821 indepsw.adb<indepsw-gnu.adb
1822
c775c209 1823 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o a-exetim.o
a1ab4c31 1824 EH_MECHANISM=-gcc
c775c209 1825 THREADSLIB = -lpthread -lrt
a1ab4c31
AC
1826 GNATLIB_SHARED = gnatlib-shared-dual
1827 GMEM_LIB = gmemlib
a1ab4c31
AC
1828 LIBRARY_VERSION := $(LIB_VERSION)
1829endif
1830
34e6988b 1831ifeq ($(strip $(filter-out arm% linux-gnueabi,$(arch) $(osys)-$(word 4,$(targ)))),)
c448ab16
MP
1832 LIBGNAT_TARGET_PAIRS = \
1833 a-intnam.ads<a-intnam-linux.ads \
1834 s-inmaop.adb<s-inmaop-posix.adb \
1835 s-intman.adb<s-intman-posix.adb \
1836 s-linux.ads<s-linux.ads \
1837 s-osinte.adb<s-osinte-posix.adb \
1838 s-osinte.ads<s-osinte-linux.ads \
1839 s-osprim.adb<s-osprim-posix.adb \
1840 s-taprop.adb<s-taprop-linux.adb \
1841 s-tasinf.ads<s-tasinf-linux.ads \
1842 s-tasinf.adb<s-tasinf-linux.adb \
1843 s-taspri.ads<s-taspri-posix-noaltstack.ads \
1844 s-tpopsp.adb<s-tpopsp-posix-foreign.adb
1845
1846 ifeq ($(strip $(filter-out arm%b,$(arch))),)
1847 LIBGNAT_TARGET_PAIRS += \
1848 system.ads<system-linux-armeb.ads
1849 else
1850 LIBGNAT_TARGET_PAIRS += \
1851 system.ads<system-linux-armel.ads
1852 endif
1853
1854 TOOLS_TARGET_PAIRS = \
1855 mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb \
1856 indepsw.adb<indepsw-gnu.adb
1857
1858 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o
1859 EH_MECHANISM=
1860 THREADSLIB = -lpthread
1861 GNATLIB_SHARED = gnatlib-shared-dual
1862 GMEM_LIB = gmemlib
1863 LIBRARY_VERSION := $(LIB_VERSION)
1864endif
1865
a1ab4c31 1866ifeq ($(strip $(filter-out sparc% linux%,$(arch) $(osys))),)
6818f0fc 1867 LIBGNAT_TARGET_PAIRS_COMMON = \
a1ab4c31
AC
1868 a-intnam.ads<a-intnam-linux.ads \
1869 s-inmaop.adb<s-inmaop-posix.adb \
1870 s-intman.adb<s-intman-posix.adb \
0cf1a41a 1871 s-linux.ads<s-linux-sparc.ads \
a1ab4c31
AC
1872 s-osinte.adb<s-osinte-posix.adb \
1873 s-osinte.ads<s-osinte-linux.ads \
1874 s-osprim.adb<s-osprim-posix.adb \
1875 s-taprop.adb<s-taprop-linux.adb \
1876 s-tasinf.ads<s-tasinf-linux.ads \
1877 s-tasinf.adb<s-tasinf-linux.adb \
1878 s-taspri.ads<s-taspri-posix-noaltstack.ads \
686d0984 1879 s-tpopsp.adb<s-tpopsp-tls.adb
6818f0fc
EB
1880
1881 LIBGNAT_TARGET_PAIRS_32 = \
0a0a18c3
AC
1882 g-trasym.ads<g-trasym-unimplemented.ads \
1883 g-trasym.adb<g-trasym-unimplemented.adb \
a1ab4c31
AC
1884 system.ads<system-linux-sparc.ads
1885
7193e639 1886 LIBGNAT_TARGET_PAIRS_64 = \
7193e639
LG
1887 system.ads<system-linux-sparcv9.ads
1888
2692d7f5 1889 ifeq ($(strip $(shell $(GCC_FOR_TARGET) $(GNATLIBCFLAGS) -print-multi-os-directory)),../lib64)
6818f0fc
EB
1890 LIBGNAT_TARGET_PAIRS = \
1891 $(LIBGNAT_TARGET_PAIRS_COMMON) $(LIBGNAT_TARGET_PAIRS_64)
7193e639 1892 else
6818f0fc
EB
1893 LIBGNAT_TARGET_PAIRS = \
1894 $(LIBGNAT_TARGET_PAIRS_COMMON) $(LIBGNAT_TARGET_PAIRS_32)
7193e639
LG
1895 endif
1896
a1ab4c31
AC
1897 TOOLS_TARGET_PAIRS = \
1898 mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb \
1899 indepsw.adb<indepsw-gnu.adb
1900
1901 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o
1902 EH_MECHANISM=-gcc
1903 THREADSLIB = -lpthread
1904 GNATLIB_SHARED = gnatlib-shared-dual
1905 GMEM_LIB = gmemlib
a1ab4c31
AC
1906 LIBRARY_VERSION := $(LIB_VERSION)
1907endif
1908
1909ifeq ($(strip $(filter-out hppa% linux%,$(arch) $(osys))),)
1910 LIBGNAT_TARGET_PAIRS = \
1911 a-intnam.ads<a-intnam-linux.ads \
1912 s-inmaop.adb<s-inmaop-posix.adb \
1913 s-intman.adb<s-intman-posix.adb \
1914 s-linux.ads<s-linux-hppa.ads \
1915 s-osinte.adb<s-osinte-posix.adb \
1916 s-osinte.ads<s-osinte-linux.ads \
1917 s-osprim.adb<s-osprim-posix.adb \
1918 s-taprop.adb<s-taprop-linux.adb \
1919 s-tasinf.ads<s-tasinf-linux.ads \
1920 s-tasinf.adb<s-tasinf-linux.adb \
1921 s-taspri.ads<s-taspri-posix-noaltstack.ads \
1922 s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
0a0a18c3
AC
1923 g-trasym.ads<g-trasym-unimplemented.ads \
1924 g-trasym.adb<g-trasym-unimplemented.adb \
a1ab4c31
AC
1925 system.ads<system-linux-hppa.ads
1926
1927 TOOLS_TARGET_PAIRS = \
1928 mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb \
1929 indepsw.adb<indepsw-gnu.adb
1930
1931 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o
1932 EH_MECHANISM=-gcc
1933 THREADSLIB = -lpthread
1934 GNATLIB_SHARED = gnatlib-shared-dual
1935 GMEM_LIB = gmemlib
a1ab4c31
AC
1936 LIBRARY_VERSION := $(LIB_VERSION)
1937endif
1938
1939ifeq ($(strip $(filter-out sh4% linux%,$(arch) $(osys))),)
1940 LIBGNAT_TARGET_PAIRS = \
1941 a-intnam.ads<a-intnam-linux.ads \
1942 s-inmaop.adb<s-inmaop-posix.adb \
1943 s-intman.adb<s-intman-posix.adb \
1944 s-linux.ads<s-linux.ads \
1945 s-osinte.adb<s-osinte-posix.adb \
1946 s-osinte.ads<s-osinte-linux.ads \
1947 s-osprim.adb<s-osprim-posix.adb \
1948 s-taprop.adb<s-taprop-linux.adb \
1949 s-tasinf.ads<s-tasinf-linux.ads \
1950 s-tasinf.adb<s-tasinf-linux.adb \
1951 s-taspri.ads<s-taspri-posix-noaltstack.ads \
1952 s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
1953 system.ads<system-linux-sh4.ads
1954
1955 TOOLS_TARGET_PAIRS = \
1956 mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb \
1957 indepsw.adb<indepsw-linux.adb
d88a51b1 1958
a1ab4c31
AC
1959 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o
1960 EH_MECHANISM=-gcc
1961 MISCLIB=
1962 THREADSLIB = -lpthread
1963 GNATLIB_SHARED = gnatlib-shared-dual
1964 GMEM_LIB = gmemlib
a1ab4c31
AC
1965 LIBRARY_VERSION := $(LIB_VERSION)
1966endif
1967
1968ifeq ($(strip $(filter-out %ia64 linux%,$(arch) $(osys))),)
1969 LIBGNAT_TARGET_PAIRS = \
c775c209
AC
1970 a-exetim.adb<a-exetim-posix.adb \
1971 a-exetim.ads<a-exetim-default.ads \
a1ab4c31
AC
1972 a-intnam.ads<a-intnam-linux.ads \
1973 a-numaux.ads<a-numaux-libc-x86.ads \
a1ab4c31
AC
1974 s-inmaop.adb<s-inmaop-posix.adb \
1975 s-intman.adb<s-intman-posix.adb \
1976 s-linux.ads<s-linux.ads \
1977 s-osinte.ads<s-osinte-linux.ads \
1978 s-osinte.adb<s-osinte-posix.adb \
1979 s-osprim.adb<s-osprim-posix.adb \
1980 s-taprop.adb<s-taprop-linux.adb \
1981 s-tasinf.ads<s-tasinf-linux.ads \
1982 s-tasinf.adb<s-tasinf-linux.adb \
686d0984 1983 s-tpopsp.adb<s-tpopsp-tls.adb \
a1ab4c31
AC
1984 s-taspri.ads<s-taspri-posix-noaltstack.ads \
1985 g-sercom.adb<g-sercom-linux.adb \
7415029d
AC
1986 system.ads<system-linux-ia64.ads \
1987 $(ATOMICS_TARGET_PAIRS)
a1ab4c31
AC
1988
1989 TOOLS_TARGET_PAIRS = \
1990 mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb \
1991 indepsw.adb<indepsw-gnu.adb
1992
c775c209 1993 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o a-exetim.o
a1ab4c31
AC
1994 EH_MECHANISM=-gcc
1995 MISCLIB=
c775c209 1996 THREADSLIB=-lpthread -lrt
a1ab4c31
AC
1997 GNATLIB_SHARED=gnatlib-shared-dual
1998 GMEM_LIB = gmemlib
a1ab4c31
AC
1999 LIBRARY_VERSION := $(LIB_VERSION)
2000endif
2001
d88a51b1
AC
2002ifeq ($(strip $(filter-out ia64% hp hpux%,$(targ))),)
2003 LIBGNAT_TARGET_PAIRS = \
2004 a-intnam.ads<a-intnam-hpux.ads \
2005 s-inmaop.adb<s-inmaop-posix.adb \
2006 s-intman.adb<s-intman-posix.adb \
2007 s-osinte.adb<s-osinte-posix.adb \
2008 s-osinte.ads<s-osinte-hpux.ads \
2009 s-osprim.adb<s-osprim-posix.adb \
2010 s-taprop.adb<s-taprop-posix.adb \
2011 s-taspri.ads<s-taspri-posix-noaltstack.ads \
2012 s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
7415029d
AC
2013 system.ads<system-hpux-ia64.ads \
2014 $(ATOMICS_TARGET_PAIRS)
d88a51b1
AC
2015
2016 TOOLS_TARGET_PAIRS = \
2017 mlib-tgt-specific.adb<mlib-tgt-specific-ia64-hpux.adb
2018
2019 MISCLIB=
2020 THREADSLIB=-lpthread
2021 GNATLIB_SHARED=gnatlib-shared-dual
2022 GMEM_LIB = gmemlib
2023 soext = .sl
2024 SO_OPTS = -Wl,+h,
d88a51b1
AC
2025 LIBRARY_VERSION := $(LIB_VERSION)
2026endif
2027
a1ab4c31
AC
2028ifeq ($(strip $(filter-out alpha% linux%,$(arch) $(osys))),)
2029 LIBGNAT_TARGET_PAIRS = \
2030 a-intnam.ads<a-intnam-linux.ads \
2031 s-inmaop.adb<s-inmaop-posix.adb \
2032 s-intman.adb<s-intman-posix.adb \
2033 s-linux.ads<s-linux-alpha.ads \
2034 s-osinte.ads<s-osinte-linux.ads \
2035 s-osinte.adb<s-osinte-posix.adb \
2036 s-osprim.adb<s-osprim-posix.adb \
2037 s-taprop.adb<s-taprop-linux.adb \
2038 s-tasinf.ads<s-tasinf-linux.ads \
2039 s-tasinf.adb<s-tasinf-linux.adb \
2040 s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
2041 s-taspri.ads<s-taspri-posix-noaltstack.ads \
0a0a18c3
AC
2042 g-trasym.ads<g-trasym-unimplemented.ads \
2043 g-trasym.adb<g-trasym-unimplemented.adb \
7415029d
AC
2044 system.ads<system-linux-alpha.ads \
2045 $(ATOMICS_TARGET_PAIRS)
a1ab4c31
AC
2046
2047 TOOLS_TARGET_PAIRS = \
2048 mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb \
2049 indepsw.adb<indepsw-gnu.adb
2050
2051 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o
2052 EH_MECHANISM=-gcc
2053 MISCLIB=
2054 THREADSLIB=-lpthread
2055 GNATLIB_SHARED=gnatlib-shared-dual
a1ab4c31
AC
2056 LIBRARY_VERSION := $(LIB_VERSION)
2057endif
2058
2059ifeq ($(strip $(filter-out %x86_64 linux%,$(arch) $(osys))),)
2060 LIBGNAT_TARGET_PAIRS = \
c775c209
AC
2061 a-exetim.adb<a-exetim-posix.adb \
2062 a-exetim.ads<a-exetim-default.ads \
a1ab4c31
AC
2063 a-intnam.ads<a-intnam-linux.ads \
2064 a-numaux.adb<a-numaux-x86.adb \
2065 a-numaux.ads<a-numaux-x86.ads \
a1ab4c31
AC
2066 s-inmaop.adb<s-inmaop-posix.adb \
2067 s-intman.adb<s-intman-posix.adb \
2068 s-linux.ads<s-linux.ads \
2069 s-osinte.ads<s-osinte-linux.ads \
2070 s-osinte.adb<s-osinte-posix.adb \
2071 s-osprim.adb<s-osprim-posix.adb \
2072 s-taprop.adb<s-taprop-linux.adb \
2073 s-tasinf.ads<s-tasinf-linux.ads \
2074 s-tasinf.adb<s-tasinf-linux.adb \
686d0984 2075 s-tpopsp.adb<s-tpopsp-tls.adb \
a1ab4c31
AC
2076 s-taspri.ads<s-taspri-posix.ads \
2077 g-sercom.adb<g-sercom-linux.adb \
7415029d
AC
2078 system.ads<system-linux-x86_64.ads \
2079 $(ATOMICS_TARGET_PAIRS)
a1ab4c31
AC
2080
2081 TOOLS_TARGET_PAIRS = \
2082 mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb \
2083 indepsw.adb<indepsw-gnu.adb
2084
5391897d 2085 EXTRA_GNATRTL_NONTASKING_OBJS=g-sse.o g-ssvety.o
c775c209 2086 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o a-exetim.o
a1ab4c31 2087 EH_MECHANISM=-gcc
c775c209 2088 THREADSLIB=-lpthread -lrt
a1ab4c31
AC
2089 GNATLIB_SHARED=gnatlib-shared-dual
2090 GMEM_LIB = gmemlib
a1ab4c31
AC
2091 LIBRARY_VERSION := $(LIB_VERSION)
2092endif
2093
2094ifeq ($(strip $(filter-out darwin%,$(osys))),)
2095 ifeq ($(strip $(filter-out %86,$(arch))),)
2096 LIBGNAT_TARGET_PAIRS = \
2097 a-intnam.ads<a-intnam-darwin.ads \
90d28ec7 2098 i-forbla.adb<i-forbla-darwin.adb \
a1ab4c31 2099 s-inmaop.adb<s-inmaop-posix.adb \
d88a51b1 2100 s-intman.adb<s-intman-susv3.adb \
a1ab4c31
AC
2101 s-osinte.adb<s-osinte-darwin.adb \
2102 s-osinte.ads<s-osinte-darwin.ads \
d88a51b1 2103 s-osprim.adb<s-osprim-darwin.adb \
a1ab4c31
AC
2104 s-taprop.adb<s-taprop-posix.adb \
2105 s-taspri.ads<s-taspri-posix.ads \
2106 s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
0a0a18c3
AC
2107 g-trasym.ads<g-trasym-unimplemented.ads \
2108 g-trasym.adb<g-trasym-unimplemented.adb \
a1ab4c31 2109 a-numaux.ads<a-numaux-x86.ads \
4364e851
LG
2110 a-numaux.adb<a-numaux-x86.adb
2111 ifeq ($(strip $(MULTISUBDIR)),/x86_64)
2112 LIBGNAT_TARGET_PAIRS += \
2113 system.ads<system-darwin-x86_64.ads
2114 else
2115 LIBGNAT_TARGET_PAIRS += \
2116 system.ads<system-darwin-x86.ads
2117 endif
59f3dd0a
AC
2118 endif
2119
2120 ifeq ($(strip $(filter-out %x86_64,$(arch))),)
2121 LIBGNAT_TARGET_PAIRS = \
2122 a-intnam.ads<a-intnam-darwin.ads \
90d28ec7 2123 i-forbla.adb<i-forbla-darwin.adb \
59f3dd0a 2124 s-inmaop.adb<s-inmaop-posix.adb \
d88a51b1 2125 s-intman.adb<s-intman-susv3.adb \
59f3dd0a
AC
2126 s-osinte.adb<s-osinte-darwin.adb \
2127 s-osinte.ads<s-osinte-darwin.ads \
d88a51b1 2128 s-osprim.adb<s-osprim-darwin.adb \
59f3dd0a
AC
2129 s-taprop.adb<s-taprop-posix.adb \
2130 s-taspri.ads<s-taspri-posix.ads \
2131 s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
0a0a18c3
AC
2132 g-trasym.ads<g-trasym-unimplemented.ads \
2133 g-trasym.adb<g-trasym-unimplemented.adb \
07b8e910
EB
2134 a-numaux.ads<a-numaux-x86.ads \
2135 a-numaux.adb<a-numaux-x86.adb \
7415029d 2136 $(ATOMICS_TARGET_PAIRS)
07b8e910
EB
2137 ifeq ($(strip $(MULTISUBDIR)),/i386)
2138 LIBGNAT_TARGET_PAIRS += \
2139 system.ads<system-darwin-x86.ads
2140 else
2141 LIBGNAT_TARGET_PAIRS += \
2142 system.ads<system-darwin-x86_64.ads
2143 endif
59f3dd0a
AC
2144 endif
2145
2146 ifeq ($(strip $(filter-out powerpc%,$(arch))),)
a1ab4c31
AC
2147 LIBGNAT_TARGET_PAIRS = \
2148 a-intnam.ads<a-intnam-darwin.ads \
90d28ec7 2149 i-forbla.adb<i-forbla-darwin.adb \
a1ab4c31
AC
2150 s-inmaop.adb<s-inmaop-posix.adb \
2151 s-intman.adb<s-intman-posix.adb \
2152 s-osinte.adb<s-osinte-darwin.adb \
2153 s-osinte.ads<s-osinte-darwin.ads \
2154 s-osprim.adb<s-osprim-posix.adb \
2155 s-taprop.adb<s-taprop-posix.adb \
2156 s-taspri.ads<s-taspri-posix.ads \
2157 s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
a1ab4c31
AC
2158 a-numaux.ads<a-numaux-darwin.ads \
2159 a-numaux.adb<a-numaux-darwin.adb \
0a0a18c3
AC
2160 g-trasym.ads<g-trasym-unimplemented.ads \
2161 g-trasym.adb<g-trasym-unimplemented.adb \
a1ab4c31
AC
2162 system.ads<system-darwin-ppc.ads
2163 endif
2164
2165 TOOLS_TARGET_PAIRS = \
2166 mlib-tgt-specific.adb<mlib-tgt-specific-darwin.adb
2167
2168 EH_MECHANISM=-gcc
2169 GNATLIB_SHARED = gnatlib-shared-darwin
5c6a4559 2170 SO_OPTS = -Wl,-flat_namespace -shared-libgcc
a1ab4c31
AC
2171 RANLIB = ranlib -c
2172 GMEM_LIB = gmemlib
a1ab4c31
AC
2173 LIBRARY_VERSION := $(LIB_VERSION)
2174 soext = .dylib
207b1744 2175 GCC_LINK_FLAGS=
a1ab4c31
AC
2176endif
2177
2178ifneq ($(EH_MECHANISM),)
2179 LIBGNAT_TARGET_PAIRS += a-exexpr.adb<a-exexpr$(EH_MECHANISM).adb
2180 EXTRA_LIBGNAT_SRCS+=raise$(EH_MECHANISM).c
2181 EXTRA_LIBGNAT_OBJS+=raise$(EH_MECHANISM).o
2182endif
2183
2184# Use the Ada 2005 version of Ada.Exceptions by default, unless specified
2185# explicitly already. The base files (a-except.ad?) are used only for building
2186# the compiler and other basic tools.
2187# These base versions lack Ada 2005 additions which would cause bootstrap
2188# problems if included in the compiler and other basic tools.
2189
42b9d34f 2190ifeq ($(filter a-except%,$(LIBGNAT_TARGET_PAIRS)),)
a1ab4c31
AC
2191 LIBGNAT_TARGET_PAIRS += \
2192 a-except.ads<a-except-2005.ads \
2193 a-except.adb<a-except-2005.adb
2194endif
2195
2196# The runtime library for gnat comprises two directories. One contains the
2197# Ada source files that the compiler (gnat1) needs -- these files are listed
2198# by ADA_INCLUDE_SRCS -- and the other contains the object files and their
2199# corresponding .ali files for the parts written in Ada, libgnat.a for
2200# the parts of the runtime written in C, and libgthreads.a for the pthreads
2201# emulation library. LIBGNAT_OBJS lists the objects that go into libgnat.a,
2202# while GNATRTL_OBJS lists the object files compiled from Ada sources that
2203# go into the directory. The pthreads emulation is built in the threads
2204# subdirectory and copied.
4f08579c
AC
2205LIBGNAT_SRCS = adadecode.c adadecode.h adaint.c adaint.h \
2206 argv.c cio.c cstreams.c errno.c exit.c cal.c ctrl_c.c env.c env.h \
2207 arit64.c raise.h raise.c sysdep.c aux-io.c init.c initialize.c \
c56a9ba4
AC
2208 locales.c seh_init.c final.c tracebak.c tb-alvms.c tb-alvxw.c \
2209 tb-gcc.c expect.c mkdir.c socket.c gsocket.h targext.c $(EXTRA_LIBGNAT_SRCS)
4f08579c
AC
2210
2211LIBGNAT_OBJS = adadecode.o adaint.o argv.o cio.o cstreams.o ctrl_c.o \
2212 errno.o exit.o env.o raise.o sysdep.o aux-io.o init.o initialize.o \
c56a9ba4
AC
2213 locales.o seh_init.o cal.o arit64.o final.o tracebak.o expect.o \
2214 mkdir.o socket.o targext.o $(EXTRA_LIBGNAT_OBJS)
a1ab4c31
AC
2215
2216# NOTE ??? - when the -I option for compiling Ada code is made to work,
2217# the library installation will change and there will be a
2218# GNAT_RTL_SRCS. Right now we count on being able to build GNATRTL_OBJS
2219# from ADA_INCLUDE_SRCS.
2220
2221# GNATRTL_NONTASKING_OBJS and GNATRTL_TASKING_OBJS can be found in
2222# the following include file:
2223
a760c977 2224include $(fsrcdir)/ada/Makefile.rtl
a1ab4c31
AC
2225
2226GNATRTL_LINEARALGEBRA_OBJS = a-nlcoar.o a-nllcar.o a-nllrar.o a-nlrear.o \
2227 a-nucoar.o a-nurear.o i-forbla.o i-forlap.o s-gearop.o
2228
2229GNATRTL_OBJS = $(GNATRTL_NONTASKING_OBJS) $(GNATRTL_TASKING_OBJS) \
2230 $(GNATRTL_LINEARALGEBRA_OBJS) g-trasym.o memtrack.o
2231
2232# Default run time files
2233
2234ADA_INCLUDE_SRCS =\
2235 ada.ads calendar.ads directio.ads gnat.ads interfac.ads ioexcept.ads \
2236 machcode.ads text_io.ads unchconv.ads unchdeal.ads \
2237 sequenio.ads system.ads memtrack.adb \
2238 a-[a-o]*.adb a-[p-z]*.adb a-[a-o]*.ads a-[p-z]*.ads g-*.ad? i-*.ad? \
2239 s-[a-o]*.adb s-[p-z]*.adb s-[a-o]*.ads s-[p-z]*.ads
2240
a7dafa20 2241LIBGNAT=../$(RTSDIR)/libgnat.a
a1ab4c31 2242
207b1744 2243GCC_LINK=$(CC) $(GCC_LINK_FLAGS) $(ADA_INCLUDES)
a1ab4c31
AC
2244
2245# when compiling the tools, the runtime has to be first on the path so that
2246# it hides the runtime files lying with the rest of the sources
2247ifeq ($(TOOLSCASE),native)
a7dafa20
LG
2248 vpath %.ads ../$(RTSDIR) ../
2249 vpath %.adb ../$(RTSDIR) ../
2250 vpath %.c ../$(RTSDIR) ../
2251 vpath %.h ../$(RTSDIR) ../
a1ab4c31
AC
2252endif
2253
2254# in the cross tools case, everything is compiled with the native
2255# gnatmake/link. Therefore only -I needs to be modified in ADA_INCLUDES
2256ifeq ($(TOOLSCASE),cross)
2257 vpath %.ads ../
2258 vpath %.adb ../
2259 vpath %.c ../
2260 vpath %.h ../
2261endif
2262
2263common-tools:
2264 $(GNATMAKE) -c -b $(ADA_INCLUDES) \
2265 --GNATBIND="$(GNATBIND)" --GCC="$(CC) $(ALL_ADAFLAGS)" \
2266 gnatchop gnatcmd gnatkr gnatls gnatprep gnatxref gnatfind gnatname \
2267 gnatclean -bargs $(ADA_INCLUDES) $(GNATBIND_FLAGS)
2268 $(GNATLINK) -v gnatcmd -o ../../gnat$(exeext) \
2269 --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
2270 $(GNATLINK) -v gnatchop -o ../../gnatchop$(exeext) \
2271 --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
2272 $(GNATLINK) -v gnatkr -o ../../gnatkr$(exeext) \
2273 --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
2274 $(GNATLINK) -v gnatls -o ../../gnatls$(exeext) \
2275 --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
2276 $(GNATLINK) -v gnatprep -o ../../gnatprep$(exeext) \
2277 --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
2278 $(GNATLINK) -v gnatxref -o ../../gnatxref$(exeext) \
2279 --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
2280 $(GNATLINK) -v gnatfind -o ../../gnatfind$(exeext) \
2281 --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
2282 $(GNATLINK) -v gnatname -o ../../gnatname$(exeext) \
2283 --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
2284 $(GNATLINK) -v gnatclean -o ../../gnatclean$(exeext) \
2285 --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
2286
2287../../gnatsym$(exeext):
2288 $(GNATMAKE) -c $(ADA_INCLUDES) gnatsym --GCC="$(CC) $(ALL_ADAFLAGS)"
2289 $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatsym
2290 $(GNATLINK) -v gnatsym -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
2291
2292../../gnatdll$(exeext):
2293 $(GNATMAKE) -c $(ADA_INCLUDES) gnatdll --GCC="$(CC) $(ALL_ADAFLAGS)"
2294 $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatdll
2295 $(GNATLINK) -v gnatdll -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
2296
2297../../vxaddr2line$(exeext): targext.o
2298 $(GNATMAKE) -c $(ADA_INCLUDES) vxaddr2line --GCC="$(CC) $(ALL_ADAFLAGS)"
2299 $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) vxaddr2line
2300 $(GNATLINK) -v vxaddr2line -o $@ --GCC="$(GCC_LINK)" targext.o $(CLIB)
2301
2302gnatmake-re: link.o targext.o
2303 $(GNATMAKE) $(ADA_INCLUDES) -u sdefault --GCC="$(CC) $(MOST_ADA_FLAGS)"
2304 $(GNATMAKE) -c $(ADA_INCLUDES) gnatmake --GCC="$(CC) $(ALL_ADAFLAGS)"
2305 $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatmake
2306 $(GNATLINK) -v gnatmake -o ../../gnatmake$(exeext) \
2307 --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
2308
2309# Note the use of the "mv" command in order to allow gnatlink to be linked with
2310# with the former version of gnatlink itself which cannot override itself.
2311gnatlink-re: link.o targext.o
2312 $(GNATMAKE) -c $(ADA_INCLUDES) gnatlink --GCC="$(CC) $(ALL_ADAFLAGS)"
2313 $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatlink
2314 $(GNATLINK) -v gnatlink -o ../../gnatlinknew$(exeext) \
2315 --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
2316 $(MV) ../../gnatlinknew$(exeext) ../../gnatlink$(exeext)
2317
2318# Needs to be built with CC=gcc
2319# Since the RTL should be built with the latest compiler, remove the
2320# stamp target in the parent directory whenever gnat1 is rebuilt
2321
2322# Likewise for the tools
2323../../gnatmake$(exeext): $(P) b_gnatm.o link.o targext.o $(GNATMAKE_OBJS)
2324 $(GCC_LINK) $(ALL_CFLAGS) $(LDFLAGS) -o $@ b_gnatm.o $(GNATMAKE_OBJS) \
2325 $(TOOLS_LIBS)
2326
2327../../gnatlink$(exeext): $(P) b_gnatl.o link.o targext.o $(GNATLINK_OBJS)
2328 $(GCC_LINK) $(ALL_CFLAGS) $(LDFLAGS) -o $@ b_gnatl.o $(GNATLINK_OBJS) \
2329 $(TOOLS_LIBS)
2330
a7dafa20
LG
2331../stamp-gnatlib-$(RTSDIR):
2332 @if [ ! -f stamp-gnatlib-$(RTSDIR) ] ; \
a1ab4c31
AC
2333 then \
2334 $(ECHO) You must first build the GNAT library: make gnatlib; \
2335 false; \
2336 else \
2337 true; \
2338 fi
2339
a7dafa20 2340install-gnatlib: ../stamp-gnatlib-$(RTSDIR)
a1ab4c31
AC
2341# Create the directory before deleting it, in case the directory is
2342# a list of directories (as it may be on VMS). This ensures we are
2343# deleting the right one.
2344 -$(MKDIR) $(DESTDIR)$(ADA_RTL_OBJ_DIR)
2345 -$(MKDIR) $(DESTDIR)$(ADA_INCLUDE_DIR)
2346 $(RMDIR) $(DESTDIR)$(ADA_RTL_OBJ_DIR)
2347 $(RMDIR) $(DESTDIR)$(ADA_INCLUDE_DIR)
2348 -$(MKDIR) $(DESTDIR)$(ADA_RTL_OBJ_DIR)
2349 -$(MKDIR) $(DESTDIR)$(ADA_INCLUDE_DIR)
a7dafa20 2350 for file in $(RTSDIR)/*.ali; do \
a1ab4c31
AC
2351 $(INSTALL_DATA_DATE) $$file $(DESTDIR)$(ADA_RTL_OBJ_DIR); \
2352 done
a7dafa20
LG
2353 -$(INSTALL_DATA) $(RTSDIR)/g-trasym$(objext) $(DESTDIR)$(ADA_RTL_OBJ_DIR)
2354 -cd $(RTSDIR); for file in *$(arext);do \
a1ab4c31
AC
2355 $(INSTALL_DATA) $$file $(DESTDIR)$(ADA_RTL_OBJ_DIR); \
2356 $(RANLIB_FOR_TARGET) $(DESTDIR)$(ADA_RTL_OBJ_DIR)/$$file; \
2357 done
2358 -$(foreach file, $(EXTRA_ADALIB_FILES), \
a7dafa20 2359 $(INSTALL_DATA_DATE) $(RTSDIR)/$(file) $(DESTDIR)$(ADA_RTL_OBJ_DIR) && \
a1ab4c31
AC
2360 ) true
2361# Install the shared libraries, if any, using $(INSTALL) instead
2362# of $(INSTALL_DATA). The latter may force a mode inappropriate
2363# for shared libraries on some targets, e.g. on HP-UX where the x
2364# permission is required.
059caa3e
NS
2365# Also install the .dSYM directories if they exist (these directories
2366# contain the debug information for the shared libraries on darwin)
a1ab4c31 2367 for file in gnat gnarl; do \
a7dafa20
LG
2368 if [ -f $(RTSDIR)/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext) ]; then \
2369 $(INSTALL) $(RTSDIR)/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext) \
a1ab4c31
AC
2370 $(DESTDIR)$(ADA_RTL_OBJ_DIR); \
2371 fi; \
a7dafa20 2372 if [ -f $(RTSDIR)/lib$${file}$(soext) ]; then \
a1ab4c31
AC
2373 $(LN_S) lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext) \
2374 $(DESTDIR)$(ADA_RTL_OBJ_DIR)/lib$${file}$(soext); \
2375 fi; \
d88a51b1
AC
2376 if [ -d $(RTSDIR)/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext).dSYM ]; then \
2377 $(CP) -r $(RTSDIR)/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext).dSYM \
059caa3e
NS
2378 $(DESTDIR)$(ADA_RTL_OBJ_DIR); \
2379 fi; \
a1ab4c31
AC
2380 done
2381# This copy must be done preserving the date on the original file.
a7dafa20 2382 for file in $(RTSDIR)/*.ad?; do \
a1ab4c31
AC
2383 $(INSTALL_DATA_DATE) $$file $(DESTDIR)$(ADA_INCLUDE_DIR); \
2384 done
2385 cd $(DESTDIR)$(ADA_INCLUDE_DIR); $(CHMOD) a-wx *.adb
2386 cd $(DESTDIR)$(ADA_INCLUDE_DIR); $(CHMOD) a-wx *.ads
2387
a7dafa20
LG
2388../stamp-gnatlib2-$(RTSDIR):
2389 $(RM) $(RTSDIR)/s-*.ali
2390 $(RM) $(RTSDIR)/s-*$(objext)
2391 $(RM) $(RTSDIR)/a-*.ali
2392 $(RM) $(RTSDIR)/a-*$(objext)
2393 $(RM) $(RTSDIR)/*.ali
2394 $(RM) $(RTSDIR)/*$(objext)
2395 $(RM) $(RTSDIR)/*$(arext)
2396 $(RM) $(RTSDIR)/*$(soext)
2397 touch ../stamp-gnatlib2-$(RTSDIR)
2398 $(RM) ../stamp-gnatlib-$(RTSDIR)
a1ab4c31
AC
2399
2400# NOTE: The $(foreach ...) commands assume ";" is the valid separator between
2401# successive target commands. Although the Gnu make documentation
2402# implies this is true on all systems, I suspect it may not be, So care
2403# has been taken to allow a sed script to look for ";)" and substitue
2404# for ";" the appropriate character in the range of lines below
2405# beginning with "GNULLI Begin" and ending with "GNULLI End"
2406
2407# GNULLI Begin ###########################################################
2408
a7dafa20
LG
2409../stamp-gnatlib1-$(RTSDIR): Makefile ../stamp-gnatlib2-$(RTSDIR)
2410 $(RMDIR) $(RTSDIR)
2411 $(MKDIR) $(RTSDIR)
2412 $(CHMOD) u+w $(RTSDIR)
a1ab4c31
AC
2413# Copy target independent sources
2414 $(foreach f,$(ADA_INCLUDE_SRCS) $(LIBGNAT_SRCS), \
a760c977 2415 $(LN_S) $(fsrcpfx)ada/$(f) $(RTSDIR) ;) true
a1ab4c31
AC
2416# Remove files to be replaced by target dependent sources
2417 $(RM) $(foreach PAIR,$(LIBGNAT_TARGET_PAIRS), \
a7dafa20 2418 $(RTSDIR)/$(word 1,$(subst <, ,$(PAIR))))
cb1a6fae
AC
2419 for f in $(RTSDIR)/*-*-*.ads $(RTSDIR)/*-*-*.adb; do \
2420 case "$$f" in \
2421 $(RTSDIR)/s-stratt-*) ;; \
2422 *) $(RM) $$f ;; \
2423 esac; \
2424 done
a1ab4c31
AC
2425# Copy new target dependent sources
2426 $(foreach PAIR,$(LIBGNAT_TARGET_PAIRS), \
a760c977 2427 $(LN_S) $(fsrcpfx)ada/$(word 2,$(subst <, ,$(PAIR))) \
a7dafa20 2428 $(RTSDIR)/$(word 1,$(subst <, ,$(PAIR)));)
e1876cac
EB
2429# Copy tsystem.h
2430 $(CP) $(srcdir)/tsystem.h rts
2d4d7e29
TQ
2431# Copy generated target dependent sources
2432 $(RM) $(RTSDIR)/s-oscons.ads
15d2e2d4 2433 (cd $(RTSDIR); $(LN_S) ../s-oscons.ads s-oscons.ads)
a7dafa20
LG
2434 $(RM) ../stamp-gnatlib-$(RTSDIR)
2435 touch ../stamp-gnatlib1-$(RTSDIR)
a1ab4c31
AC
2436
2437# GNULLI End #############################################################
2438
2439# Don't use semicolon separated shell commands that involve list expansions.
2440# The semicolon triggers a call to DCL on VMS and DCL can't handle command
2441# line lengths in excess of 256 characters.
a7dafa20 2442# Example: cd $(RTSDIR); ar rc libfoo.a $(LONG_LIST_OF_OBJS)
a1ab4c31
AC
2443# is guaranteed to overflow the buffer.
2444
a7dafa20
LG
2445gnatlib: ../stamp-gnatlib1-$(RTSDIR) ../stamp-gnatlib2-$(RTSDIR)
2446 $(MAKE) -C $(RTSDIR) \
a1ab4c31 2447 CC="`echo \"$(GCC_FOR_TARGET)\" \
005ae225 2448 | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'`" \
a1ab4c31
AC
2449 INCLUDES="$(INCLUDES_FOR_SUBDIR) -I./../.." \
2450 CFLAGS="$(GNATLIBCFLAGS_FOR_C)" \
2451 FORCE_DEBUG_ADAFLAGS="$(FORCE_DEBUG_ADAFLAGS)" \
2452 srcdir=$(fsrcdir) \
2453 -f ../Makefile $(LIBGNAT_OBJS)
a7dafa20 2454 $(MAKE) -C $(RTSDIR) \
a1ab4c31 2455 CC="`echo \"$(GCC_FOR_TARGET)\" \
005ae225 2456 | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'`" \
a1ab4c31
AC
2457 ADA_INCLUDES="" \
2458 CFLAGS="$(GNATLIBCFLAGS)" \
2459 ADAFLAGS="$(GNATLIBFLAGS)" \
2460 FORCE_DEBUG_ADAFLAGS="$(FORCE_DEBUG_ADAFLAGS)" \
2461 srcdir=$(fsrcdir) \
2462 -f ../Makefile \
2463 $(GNATRTL_OBJS)
a7dafa20
LG
2464 $(RM) $(RTSDIR)/libgnat$(arext) $(RTSDIR)/libgnarl$(arext)
2465 $(AR_FOR_TARGET) $(AR_FLAGS) $(RTSDIR)/libgnat$(arext) \
2466 $(addprefix $(RTSDIR)/,$(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS))
a7dafa20
LG
2467 $(RANLIB_FOR_TARGET) $(RTSDIR)/libgnat$(arext)
2468 $(AR_FOR_TARGET) $(AR_FLAGS) $(RTSDIR)/libgnarl$(arext) \
2469 $(addprefix $(RTSDIR)/,$(GNATRTL_TASKING_OBJS))
2470 $(RANLIB_FOR_TARGET) $(RTSDIR)/libgnarl$(arext)
2471 $(AR_FOR_TARGET) $(AR_FLAGS) $(RTSDIR)/libgnala$(arext) \
2472 $(addprefix $(RTSDIR)/,$(GNATRTL_LINEARALGEBRA_OBJS))
2473 $(RANLIB_FOR_TARGET) $(RTSDIR)/libgnala$(arext)
a1ab4c31 2474 ifeq ($(GMEM_LIB),gmemlib)
a7dafa20
LG
2475 $(AR_FOR_TARGET) $(AR_FLAGS) $(RTSDIR)/libgmem$(arext) \
2476 $(RTSDIR)/memtrack.o
2477 $(RANLIB_FOR_TARGET) $(RTSDIR)/libgmem$(arext)
a1ab4c31 2478 endif
a7dafa20
LG
2479 $(CHMOD) a-wx $(RTSDIR)/*.ali
2480 touch ../stamp-gnatlib-$(RTSDIR)
a1ab4c31
AC
2481
2482# Warning: this target assumes that LIBRARY_VERSION has been set correctly.
2483gnatlib-shared-default:
2484 $(MAKE) $(FLAGS_TO_PASS) \
2485 GNATLIBFLAGS="$(GNATLIBFLAGS)" \
e3aa9eba 2486 GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(PICFLAG_FOR_TARGET)" \
2f18d9af 2487 GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C)" \
a7dafa20 2488 MULTISUBDIR="$(MULTISUBDIR)" \
a1ab4c31
AC
2489 THREAD_KIND="$(THREAD_KIND)" \
2490 gnatlib
a7dafa20 2491 $(RM) $(RTSDIR)/libgna*$(soext)
28d711bf
NR
2492 cd $(RTSDIR); `echo "$(GCC_FOR_TARGET)" \
2493 | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'` -shared $(GNATLIBCFLAGS) \
e3aa9eba 2494 $(PICFLAG_FOR_TARGET) \
a1ab4c31
AC
2495 -o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
2496 $(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \
2497 $(SO_OPTS)libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
2498 $(MISCLIB) -lm
28d711bf
NR
2499 cd $(RTSDIR); `echo "$(GCC_FOR_TARGET)" \
2500 | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'` -shared $(GNATLIBCFLAGS) \
e3aa9eba 2501 $(PICFLAG_FOR_TARGET) \
a1ab4c31
AC
2502 -o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
2503 $(GNATRTL_TASKING_OBJS) \
2504 $(SO_OPTS)libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
2505 $(THREADSLIB)
a7dafa20 2506 cd $(RTSDIR); $(LN_S) libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
a1ab4c31 2507 libgnat$(soext)
a7dafa20 2508 cd $(RTSDIR); $(LN_S) libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
a1ab4c31
AC
2509 libgnarl$(soext)
2510
2511gnatlib-shared-dual:
2512 $(MAKE) $(FLAGS_TO_PASS) \
2513 GNATLIBFLAGS="$(GNATLIBFLAGS)" \
2514 GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \
2f18d9af 2515 GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C)" \
a7dafa20 2516 MULTISUBDIR="$(MULTISUBDIR)" \
a1ab4c31
AC
2517 THREAD_KIND="$(THREAD_KIND)" \
2518 gnatlib-shared-default
a7dafa20
LG
2519 $(MV) $(RTSDIR)/libgna*$(soext) .
2520 $(RM) ../stamp-gnatlib2-$(RTSDIR)
a1ab4c31
AC
2521 $(MAKE) $(FLAGS_TO_PASS) \
2522 GNATLIBFLAGS="$(GNATLIBFLAGS)" \
2523 GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \
2f18d9af 2524 GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C)" \
a7dafa20 2525 MULTISUBDIR="$(MULTISUBDIR)" \
a1ab4c31
AC
2526 THREAD_KIND="$(THREAD_KIND)" \
2527 gnatlib
a7dafa20 2528 $(MV) libgna*$(soext) $(RTSDIR)
a1ab4c31
AC
2529
2530gnatlib-shared-dual-win32:
2531 $(MAKE) $(FLAGS_TO_PASS) \
2532 GNATLIBFLAGS="$(GNATLIBFLAGS)" \
e3aa9eba 2533 GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(PICFLAG_FOR_TARGET)" \
2f18d9af 2534 GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C)" \
a7dafa20 2535 MULTISUBDIR="$(MULTISUBDIR)" \
a1ab4c31
AC
2536 THREAD_KIND="$(THREAD_KIND)" \
2537 gnatlib-shared-win32
a7dafa20
LG
2538 $(MV) $(RTSDIR)/libgna*$(soext) .
2539 $(RM) ../stamp-gnatlib2-$(RTSDIR)
a1ab4c31
AC
2540 $(MAKE) $(FLAGS_TO_PASS) \
2541 GNATLIBFLAGS="$(GNATLIBFLAGS)" \
2542 GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \
2f18d9af 2543 GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C)" \
a7dafa20 2544 MULTISUBDIR="$(MULTISUBDIR)" \
a1ab4c31
AC
2545 THREAD_KIND="$(THREAD_KIND)" \
2546 gnatlib
a7dafa20 2547 $(MV) libgna*$(soext) $(RTSDIR)
a1ab4c31
AC
2548
2549# ??? we need to add the option to support auto-import of arrays/records to
2550# the GNATLIBFLAGS when this will be supported by GNAT. At this point we will
2551# use the gnatlib-shared-dual-win32 target to build the GNAT runtimes on
2552# Windows.
2553gnatlib-shared-win32:
2554 $(MAKE) $(FLAGS_TO_PASS) \
2555 GNATLIBFLAGS="$(GNATLIBFLAGS)" \
e3aa9eba 2556 GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(PICFLAG_FOR_TARGET)" \
2f18d9af 2557 GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C)" \
a7dafa20 2558 MULTISUBDIR="$(MULTISUBDIR)" \
a1ab4c31
AC
2559 THREAD_KIND="$(THREAD_KIND)" \
2560 gnatlib
a7dafa20 2561 $(RM) $(RTSDIR)/libgna*$(soext)
28d711bf
NR
2562 cd $(RTSDIR); `echo "$(GCC_FOR_TARGET)" \
2563 | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'` -shared -shared-libgcc \
e3aa9eba 2564 $(PICFLAG_FOR_TARGET) \
a1ab4c31
AC
2565 -o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
2566 $(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \
2567 $(SO_OPTS)libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) $(MISCLIB)
28d711bf
NR
2568 cd $(RTSDIR); `echo "$(GCC_FOR_TARGET)" \
2569 | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'` -shared -shared-libgcc \
e3aa9eba 2570 $(PICFLAG_FOR_TARGET) \
a1ab4c31
AC
2571 -o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
2572 $(GNATRTL_TASKING_OBJS) \
2573 $(SO_OPTS)libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
2574 $(THREADSLIB) -Wl,libgnat$(hyphen)$(LIBRARY_VERSION)$(soext)
2575
2576gnatlib-shared-darwin:
2577 $(MAKE) $(FLAGS_TO_PASS) \
2578 GNATLIBFLAGS="$(GNATLIBFLAGS)" \
e3aa9eba 2579 GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(PICFLAG_FOR_TARGET)" \
2f18d9af 2580 GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C) -fno-common" \
a7dafa20 2581 MULTISUBDIR="$(MULTISUBDIR)" \
a1ab4c31
AC
2582 THREAD_KIND="$(THREAD_KIND)" \
2583 gnatlib
a7dafa20 2584 $(RM) $(RTSDIR)/libgnat$(soext) $(RTSDIR)/libgnarl$(soext)
28d711bf 2585 cd $(RTSDIR); `echo "$(GCC_FOR_TARGET)" \
e3aa9eba 2586 | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'` -dynamiclib $(PICFLAG_FOR_TARGET) \
a1ab4c31
AC
2587 -o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
2588 $(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \
2589 $(SO_OPTS) \
5c6a4559 2590 -Wl,-install_name,@rpath/libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
a1ab4c31 2591 $(MISCLIB) -lm
28d711bf 2592 cd $(RTSDIR); `echo "$(GCC_FOR_TARGET)" \
e3aa9eba 2593 | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'` -dynamiclib $(PICFLAG_FOR_TARGET) \
a1ab4c31
AC
2594 -o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
2595 $(GNATRTL_TASKING_OBJS) \
2596 $(SO_OPTS) \
5c6a4559 2597 -Wl,-install_name,@rpath/libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
a1ab4c31 2598 $(THREADSLIB) -Wl,libgnat$(hyphen)$(LIBRARY_VERSION)$(soext)
a7dafa20 2599 cd $(RTSDIR); $(LN_S) libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
a1ab4c31 2600 libgnat$(soext)
a7dafa20 2601 cd $(RTSDIR); $(LN_S) libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
a1ab4c31 2602 libgnarl$(soext)
d88a51b1
AC
2603 cd $(RTSDIR); dsymutil libgnat$(hyphen)$(LIBRARY_VERSION)$(soext)
2604 cd $(RTSDIR); dsymutil libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext)
a1ab4c31
AC
2605
2606gnatlib-shared-vms:
2607 $(MAKE) $(FLAGS_TO_PASS) \
2608 GNATLIBFLAGS="$(GNATLIBFLAGS)" \
2609 GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \
2f18d9af 2610 GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C)" \
a7dafa20 2611 MULTISUBDIR="$(MULTISUBDIR)" \
a1ab4c31
AC
2612 THREAD_KIND="$(THREAD_KIND)" \
2613 gnatlib
a7dafa20
LG
2614 $(RM) $(RTSDIR)/libgna*$(soext)
2615 cd $(RTSDIR) && \
a1ab4c31
AC
2616 ../../gnatsym -s SYMVEC_$$$$.opt \
2617 $(LIBGNAT_OBJS) $(GNATRTL_NONTASKING_OBJS) && \
2618 ../../xgcc -g -B../../ -shared -shared-libgcc \
2619 -o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) libgnat.a \
2620 sys\$$library:trace.exe \
2621 --for-linker=/noinform \
2622 --for-linker=SYMVEC_$$$$.opt \
2623 --for-linker=gsmatch=equal,$(GSMATCH_VERSION)
a7dafa20 2624 cd $(RTSDIR) && \
a1ab4c31
AC
2625 ../../gnatsym -s SYMVEC_$$$$.opt \
2626 $(GNATRTL_TASKING_OBJS) && \
2627 ../../xgcc -g -B../../ -shared -shared-libgcc \
2628 -o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
2629 libgnarl.a libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
2630 sys\$$library:trace.exe \
2631 --for-linker=/noinform \
2632 --for-linker=SYMVEC_$$$$.opt \
2633 --for-linker=gsmatch=equal,$(GSMATCH_VERSION)
2634
2635gnatlib-shared:
2636 $(MAKE) $(FLAGS_TO_PASS) \
2637 GNATLIBFLAGS="$(GNATLIBFLAGS)" \
2638 GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \
2f18d9af 2639 GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C)" \
a7dafa20 2640 MULTISUBDIR="$(MULTISUBDIR)" \
a1ab4c31 2641 THREAD_KIND="$(THREAD_KIND)" \
e3aa9eba 2642 PICFLAG_FOR_TARGET="$(PICFLAG_FOR_TARGET)" \
a1ab4c31
AC
2643 $(GNATLIB_SHARED)
2644
2645gnatlib-sjlj:
90d28ec7
AC
2646 $(MAKE) $(FLAGS_TO_PASS) EH_MECHANISM="" \
2647 THREAD_KIND="$(THREAD_KIND)" ../stamp-gnatlib1-$(RTSDIR)
a7dafa20
LG
2648 sed -e 's/ZCX_By_Default.*/ZCX_By_Default : constant Boolean := False;/' $(RTSDIR)/system.ads > $(RTSDIR)/s.ads
2649 $(MV) $(RTSDIR)/s.ads $(RTSDIR)/system.ads
a1ab4c31
AC
2650 $(MAKE) $(FLAGS_TO_PASS) \
2651 EH_MECHANISM="" \
2652 GNATLIBFLAGS="$(GNATLIBFLAGS)" \
2653 GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \
2f18d9af 2654 GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C)" \
a7dafa20 2655 MULTISUBDIR="$(MULTISUBDIR)" \
a1ab4c31 2656 THREAD_KIND="$(THREAD_KIND)" \
e3aa9eba 2657 PICFLAG_FOR_TARGET="$(PICFLAG_FOR_TARGET)" gnatlib
a1ab4c31
AC
2658
2659gnatlib-zcx:
90d28ec7 2660 $(MAKE) $(FLAGS_TO_PASS) EH_MECHANISM="-gcc" \
e1876cac 2661 THREAD_KIND="$(THREAD_KIND)" ../stamp-gnatlib1-$(RTSDIR)
a7dafa20
LG
2662 sed -e 's/ZCX_By_Default.*/ZCX_By_Default : constant Boolean := True;/' $(RTSDIR)/system.ads > $(RTSDIR)/s.ads
2663 $(MV) $(RTSDIR)/s.ads $(RTSDIR)/system.ads
a1ab4c31
AC
2664 $(MAKE) $(FLAGS_TO_PASS) \
2665 EH_MECHANISM="-gcc" \
2666 GNATLIBFLAGS="$(GNATLIBFLAGS)" \
2667 GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \
2f18d9af 2668 GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C)" \
a7dafa20 2669 MULTISUBDIR="$(MULTISUBDIR)" \
a1ab4c31 2670 THREAD_KIND="$(THREAD_KIND)" \
e3aa9eba 2671 PICFLAG_FOR_TARGET="$(PICFLAG_FOR_TARGET)" gnatlib
a1ab4c31
AC
2672
2673# .s files for cross-building
2674gnat-cross: force
2675 make $(GNAT1_ADA_OBJS) CC="gcc -B../stage1/" CFLAGS="-S -gnatp"
2676
2677# Compiling object files from source files.
2678
2679# Note that dependencies on obstack.h are not written
2680# because that file is not part of GCC.
2681# Dependencies on gvarargs.h are not written
2682# because all that file does, when not compiling with GCC,
2683# is include the system varargs.h.
2684
8ad150f6
TG
2685b_gnatl.adb : $(GNATLINK_OBJS)
2686 $(GNATBIND) $(ADA_INCLUDES) -o b_gnatl.adb gnatlink.ali
a1ab4c31 2687
8ad150f6
TG
2688b_gnatl.o : b_gnatl.adb
2689 $(CC) -c $(ALL_ADAFLAGS) $(ADA_INCLUDES) -gnatws -gnatyN \
2690 $< $(OUTPUT_OPTION)
2691
2692b_gnatm.adb : $(GNATMAKE_OBJS)
2693 $(GNATBIND) $(ADA_INCLUDES) -o b_gnatm.adb gnatmake.ali
2694
2695b_gnatm.o : b_gnatm.adb
2696 $(CC) -c $(ALL_ADAFLAGS) $(ADA_INCLUDES) -gnatws -gnatyN \
2697 $< $(OUTPUT_OPTION)
a1ab4c31
AC
2698
2699ADA_INCLUDE_DIR = $(libsubdir)/adainclude
2700ADA_RTL_OBJ_DIR = $(libsubdir)/adalib
2701
e1876cac
EB
2702# Special flags
2703
a1ab4c31
AC
2704# force no sibling call optimization on s-traceb.o so the number of stack
2705# frames to be skipped when computing a call chain is not modified by
e1876cac 2706# optimization.
a1ab4c31 2707
e1876cac 2708s-traceb.o : s-traceb.adb s-traceb.ads
a1ab4c31 2709 $(CC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) \
e1876cac 2710 $(NO_SIBLING_ADAFLAGS) $(ADA_INCLUDES) $< $(OUTPUT_OPTION)
a1ab4c31
AC
2711
2712# force debugging information on s-tasdeb.o so that it is always
2713# possible to set conditional breakpoints on tasks.
2714
2715s-tasdeb.o : s-tasdeb.adb s-tasdeb.ads
2716 $(CC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) -O0 $(ADA_INCLUDES) \
2717 $< $(OUTPUT_OPTION)
2718
e1876cac
EB
2719# force debugging information on s-vaflop.o so that it is always
2720# possible to call the VAX float debug print routines.
2721# force at least -O so that the inline assembly works.
a1ab4c31 2722
e1876cac
EB
2723s-vaflop.o : s-vaflop.adb s-vaflop.ads
2724 $(CC) -c -O $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) $(ADA_INCLUDES) \
2725 $< $(OUTPUT_OPTION)
a1ab4c31 2726
e1876cac
EB
2727# force no function reordering on a-except.o because of the exclusion bounds
2728# mechanism (see the source file for more detailed information).
a1ab4c31
AC
2729# force debugging information on a-except.o so that it is always
2730# possible to set conditional breakpoints on exceptions.
2731# use -O1 otherwise gdb isn't able to get a full backtrace on mips targets.
2732
2733a-except.o : a-except.adb a-except.ads
2734 $(CC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) -O1 -fno-inline \
2735 $(NO_REORDER_ADAFLAGS) $(ADA_INCLUDES) $< $(OUTPUT_OPTION)
2736
2737# compile s-except.o without optimization and with debug info to let the
2738# debugger set breakpoints and inspect subprogram parameters on exception
2739# related events.
2740
2741s-except.o : s-except.adb s-except.ads
2742 $(CC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) -O0 $(ADA_INCLUDES) \
2743 $< $(OUTPUT_OPTION)
2744
2745# force debugging information on s-assert.o so that it is always
2746# possible to set breakpoint on assert failures.
2747
e1876cac
EB
2748s-assert.o : s-assert.adb s-assert.ads
2749 $(CC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) $(ADA_INCLUDES) \
a1ab4c31
AC
2750 $< $(OUTPUT_OPTION)
2751
e1876cac
EB
2752# force debugging information on a-tags.o so that the debugger can find
2753# the description of Ada.Tags.Type_Specific_Data.
2754
2755a-tags.o : a-tags.adb a-tags.ads
2756 $(CC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) $(ADA_INCLUDES) \
2757 $< $(OUTPUT_OPTION)
2758
2759# need to keep the frame pointer in this file to pop the stack properly on
2760# some targets.
2761tracebak.o : tracebak.c tb-alvms.c tb-alvxw.c tb-gcc.c
2762 $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) $(ALL_CPPFLAGS) \
2763 $(INCLUDES) -fno-omit-frame-pointer $< $(OUTPUT_OPTION)
2764
a1ab4c31
AC
2765adadecode.o : adadecode.c adadecode.h
2766aux-io.o : aux-io.c
2767argv.o : argv.c
2768cal.o : cal.c
2769deftarg.o : deftarg.c
2770errno.o : errno.c
2771exit.o : adaint.h exit.c
2772expect.o : expect.c
2773final.o : final.c
c56a9ba4 2774locales.o : locales.c
a1ab4c31
AC
2775mkdir.o : mkdir.c
2776socket.o : socket.c gsocket.h
2777sysdep.o : sysdep.c
a1ab4c31
AC
2778raise.o : raise.c raise.h
2779vx_stack_info.o : vx_stack_info.c
2780
e1876cac
EB
2781raise-gcc.o : raise-gcc.c raise.h
2782 $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
f446d60e 2783 -iquote $(srcdir) -iquote $(srcdir)/../libgcc \
e1876cac
EB
2784 $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
2785
a1ab4c31 2786cio.o : cio.c
7980bfb8 2787 $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
d88a51b1 2788 $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
a1ab4c31
AC
2789
2790init.o : init.c adaint.h raise.h
7980bfb8 2791 $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
d88a51b1 2792 $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
a1ab4c31
AC
2793
2794initialize.o : initialize.c raise.h
7980bfb8 2795 $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
d88a51b1 2796 $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
a1ab4c31 2797
e1876cac 2798link.o : link.c
7980bfb8 2799 $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
a1ab4c31
AC
2800 $(ALL_CPPFLAGS) $(INCLUDES_FOR_SUBDIR) \
2801 $< $(OUTPUT_OPTION)
2802
e1876cac
EB
2803targext.o : targext.c
2804 $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
2805 -iquote $(srcdir) \
2806 $(ALL_CPPFLAGS) $(INCLUDES_FOR_SUBDIR) \
2807 $< $(OUTPUT_OPTION)
a1ab4c31
AC
2808
2809# In GNU Make, ignore whether `stage*' exists.
2810.PHONY: stage1 stage2 stage3 stage4 clean realclean TAGS bootstrap
2811.PHONY: risky-stage1 risky-stage2 risky-stage3 risky-stage4
2812
2813force: