Mercurial > hg > CbC > CbC_gcc
comparison gcc/ada/gcc-interface/Makefile.in @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children | 84e7813d76e9 |
comparison
equal
deleted
inserted
replaced
68:561a7518be6b | 111:04ced10e8804 |
---|---|
1 # Makefile for GNU Ada Compiler (GNAT). | |
2 # Copyright (C) 1994-2016 Free Software Foundation, Inc. | |
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 | |
69 CFLAGS = -g | |
70 BOOT_CFLAGS = -O $(CFLAGS) | |
71 # These exists to be overridden by the t-* files, respectively. | |
72 T_CFLAGS = | |
73 | |
74 CC = cc | |
75 BISON = bison | |
76 BISONFLAGS = | |
77 ECHO = echo | |
78 LEX = flex | |
79 LEXFLAGS = | |
80 CHMOD = chmod | |
81 LN = ln | |
82 LN_S = ln -s | |
83 CP = cp -p | |
84 MV = mv -f | |
85 RM = rm -f | |
86 RMDIR = rm -rf | |
87 MKDIR = mkdir -p | |
88 AR = ar | |
89 AR_FLAGS = rc | |
90 LS = ls | |
91 RANLIB = @RANLIB@ | |
92 RANLIB_FLAGS = @ranlib_flags@ | |
93 AWK = @AWK@ | |
94 | |
95 COMPILER = $(CC) | |
96 COMPILER_FLAGS = $(CFLAGS) | |
97 | |
98 SHELL = @SHELL@ | |
99 PWD_COMMAND = $${PWDCMD-pwd} | |
100 # How to copy preserving the date | |
101 INSTALL_DATA_DATE = cp -p | |
102 MAKEINFO = makeinfo | |
103 TEXI2DVI = texi2dvi | |
104 TEXI2PDF = texi2pdf | |
105 GNATBIND_FLAGS = -static -x | |
106 ADA_CFLAGS = | |
107 ADAFLAGS = -W -Wall -gnatpg -gnata | |
108 FORCE_DEBUG_ADAFLAGS = -g | |
109 NO_INLINE_ADAFLAGS = -fno-inline | |
110 NO_OMIT_ADAFLAGS = -fno-omit-frame-pointer | |
111 NO_SIBLING_ADAFLAGS = -fno-optimize-sibling-calls | |
112 NO_REORDER_ADAFLAGS = -fno-toplevel-reorder | |
113 GNATLIBFLAGS = -W -Wall -gnatpg -nostdinc | |
114 GNATLIBCFLAGS = -g -O2 | |
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. | |
118 GNATLIBCFLAGS_FOR_C = \ | |
119 -W -Wall $(GNATLIBCFLAGS) -fexceptions -DIN_RTS -DHAVE_GETIPINFO | |
120 PICFLAG_FOR_TARGET = @PICFLAG_FOR_TARGET@ | |
121 ALL_ADAFLAGS = $(CFLAGS) $(ADA_CFLAGS) $(ADAFLAGS) | |
122 THREAD_KIND = native | |
123 THREADSLIB = | |
124 GMEM_LIB = | |
125 MISCLIB = | |
126 OUTPUT_OPTION = -o $@ | |
127 | |
128 objext = .o | |
129 exeext = | |
130 arext = .a | |
131 soext = .so | |
132 shext = | |
133 hyphen = - | |
134 | |
135 # program_transform_name and objdir are set by configure.ac. | |
136 program_transform_name = | |
137 objdir = . | |
138 | |
139 target_alias=@target_alias@ | |
140 target=@target@ | |
141 target_cpu=@target_cpu@ | |
142 target_vendor=@target_vendor@ | |
143 target_os=@target_os@ | |
144 host_cpu=@host_cpu@ | |
145 host_vendor=@host_vendor@ | |
146 host_os=@host_os@ | |
147 target_cpu_default = @target_cpu_default@ | |
148 xmake_file = @xmake_file@ | |
149 tmake_file = @tmake_file@ | |
150 #version=`sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/' < $(srcdir)/version.c` | |
151 #mainversion=`sed -e 's/.*\"\([0-9]*\.[0-9]*\).*/\1/' < $(srcdir)/version.c` | |
152 | |
153 # Directory where sources are, from where we are. | |
154 VPATH = $(srcdir)/ada | |
155 | |
156 # Full path to top source directory | |
157 # In particular this is used to access libgcc headers, so that references to | |
158 # these headers from GNAT runtime objects have path names in debugging info | |
159 # that are consistent with libgcc objects. Also used for other references to | |
160 # the top source directory for consistency. | |
161 ftop_srcdir := $(shell cd $(srcdir)/..;${PWD_COMMAND}) | |
162 | |
163 fsrcdir := $(shell cd $(srcdir);${PWD_COMMAND}) | |
164 fsrcpfx := $(shell cd $(srcdir);${PWD_COMMAND})/ | |
165 fcurdir := $(shell ${PWD_COMMAND}) | |
166 fcurpfx := $(shell ${PWD_COMMAND})/ | |
167 | |
168 # Top build directory, relative to here. | |
169 top_builddir = ../.. | |
170 | |
171 # Internationalization library. | |
172 LIBINTL = @LIBINTL@ | |
173 LIBINTL_DEP = @LIBINTL_DEP@ | |
174 | |
175 # Character encoding conversion library. | |
176 LIBICONV = @LIBICONV@ | |
177 LIBICONV_DEP = @LIBICONV_DEP@ | |
178 | |
179 # Any system libraries needed just for GNAT. | |
180 SYSLIBS = @GNAT_LIBEXC@ | |
181 | |
182 # List extra gnattools | |
183 EXTRA_GNATTOOLS = | |
184 | |
185 # List of target dependent sources, overridden below as necessary | |
186 TARGET_ADA_SRCS = | |
187 | |
188 # Type of tools build we are doing; default is not compiling tools. | |
189 TOOLSCASE = | |
190 | |
191 # Multilib handling | |
192 MULTISUBDIR = | |
193 RTSDIR = rts$(subst /,_,$(MULTISUBDIR)) | |
194 | |
195 # Link flags used to build gnat tools. By default we prefer to statically | |
196 # link with libgcc to avoid a dependency on shared libgcc (which is tricky | |
197 # to deal with as it may conflict with the libgcc provided by the system). | |
198 GCC_LINK_FLAGS=-static-libstdc++ -static-libgcc | |
199 | |
200 # End of variables for you to override. | |
201 | |
202 all: all.indirect | |
203 | |
204 # This tells GNU Make version 3 not to put all variables in the environment. | |
205 .NOEXPORT: | |
206 | |
207 # target overrides | |
208 ifneq ($(tmake_file),) | |
209 include $(tmake_file) | |
210 endif | |
211 | |
212 # host overrides | |
213 ifneq ($(xmake_file),) | |
214 include $(xmake_file) | |
215 endif | |
216 | |
217 # Now figure out from those variables how to compile and link. | |
218 | |
219 all.indirect: Makefile ../gnat1$(exeext) | |
220 | |
221 # IN_GCC is meant to distinguish between code compiled into GCC itself, i.e. | |
222 # for the host, and the rest. But we also use it for the tools (link.c) and | |
223 # even break the host/target wall by using it for the library (targext.c). | |
224 # autoconf inserts -DCROSS_DIRECTORY_STRUCTURE if we are building a cross | |
225 # compiler which does not use the native libraries and headers. | |
226 INTERNAL_CFLAGS = @CROSS@ -DIN_GCC | |
227 | |
228 # This is the variable actually used when we compile. | |
229 ALL_CFLAGS = $(INTERNAL_CFLAGS) $(T_CFLAGS) $(CFLAGS) | |
230 | |
231 # Likewise. | |
232 ALL_CPPFLAGS = $(CPPFLAGS) | |
233 | |
234 # Used with $(COMPILER). | |
235 ALL_COMPILERFLAGS = $(ALL_CFLAGS) | |
236 | |
237 # This is where we get libiberty.a from. | |
238 LIBIBERTY = ../../libiberty/libiberty.a | |
239 | |
240 # We need to link against libbacktrace because diagnostic.c in | |
241 # libcommon.a uses it. | |
242 LIBBACKTRACE = ../../libbacktrace/.libs/libbacktrace.a | |
243 | |
244 # How to link with both our special library facilities | |
245 # and the system's installed libraries. | |
246 LIBS = $(LIBINTL) $(LIBICONV) $(LIBBACKTRACE) $(LIBIBERTY) $(SYSLIBS) | |
247 LIBDEPS = $(LIBINTL_DEP) $(LIBICONV_DEP) $(LIBBACKTRACE) $(LIBIBERTY) | |
248 # Default is no TGT_LIB; one might be passed down or something | |
249 TGT_LIB = | |
250 TOOLS_LIBS = ../link.o ../targext.o ../../ggc-none.o ../../libcommon-target.a \ | |
251 ../../libcommon.a ../../../libcpp/libcpp.a $(LIBGNAT) $(LIBINTL) $(LIBICONV) \ | |
252 ../$(LIBBACKTRACE) ../$(LIBIBERTY) $(SYSLIBS) $(TGT_LIB) | |
253 | |
254 # Add -no-pie to TOOLS_LIBS since some of them are compiled with -fno-PIE. | |
255 TOOLS_LIBS += @NO_PIE_FLAG@ | |
256 | |
257 # Specify the directories to be searched for header files. | |
258 # Both . and srcdir are used, in that order, | |
259 # so that tm.h and config.h will be found in the compilation | |
260 # subdirectory rather than in the source directory. | |
261 INCLUDES = -iquote . -iquote .. -iquote $(srcdir)/ada -iquote $(srcdir) \ | |
262 -I $(ftop_srcdir)/include $(GMPINC) | |
263 | |
264 ADA_INCLUDES = -I- -I. -I$(srcdir)/ada | |
265 | |
266 # Likewise, but valid for subdirectories of the current dir. | |
267 # FIXME: for VxWorks, we cannot add $(fsrcdir) because the regs.h file in | |
268 # that directory conflicts with a system header file. | |
269 ifneq ($(findstring vxworks,$(target_os)),) | |
270 INCLUDES_FOR_SUBDIR = -iquote . -iquote .. -iquote ../.. \ | |
271 -iquote $(fsrcdir)/ada \ | |
272 -I$(ftop_srcdir)/include $(GMPINC) | |
273 else | |
274 INCLUDES_FOR_SUBDIR = -iquote . -iquote .. -iquote ../.. \ | |
275 -iquote $(fsrcdir)/ada -iquote $(fsrcdir) \ | |
276 -I$(ftop_srcdir)/include $(GMPINC) | |
277 endif | |
278 | |
279 ADA_INCLUDES_FOR_SUBDIR = -I. -I$(fsrcdir)/ada | |
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: | |
292 $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) $(ALL_CPPFLAGS) \ | |
293 $(INCLUDES) $< $(OUTPUT_OPTION) | |
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 | |
302 Makefile: ../config.status $(srcdir)/ada/gcc-interface/Makefile.in $(srcdir)/ada/Makefile.in $(srcdir)/version.c | |
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 | |
312 # Lists of files for various purposes. | |
313 | |
314 GNATLINK_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 | |
321 GNATMAKE_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 \ | |
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 make_util.o namet.o nlists.o opt.o osint.o osint-m.o \ | |
326 output.o restrict.o rident.o s-exctab.o \ | |
327 s-secsta.o s-stalib.o s-stoele.o scans.o scng.o sdefault.o sfn_scan.o \ | |
328 s-purexc.o s-htable.o scil_ll.o sem_aux.o sinfo.o sinput.o sinput-c.o \ | |
329 snames.o stand.o stringt.o styleg.o stylesw.o system.o validsw.o \ | |
330 switch.o switch-m.o table.o targparm.o tempdir.o tree_io.o types.o uintp.o \ | |
331 uname.o urealp.o usage.o widechar.o \ | |
332 $(EXTRA_GNATMAKE_OBJS) | |
333 | |
334 # Make arch match the current multilib so that the RTS selection code | |
335 # picks up the right files. For a given target this must be coherent | |
336 # with MULTILIB_DIRNAMES defined in gcc/config/target/t-*. | |
337 | |
338 ifeq ($(strip $(filter-out %x86_64, $(target_cpu))),) | |
339 ifeq ($(strip $(MULTISUBDIR)),/32) | |
340 target_cpu:=i686 | |
341 else | |
342 ifeq ($(strip $(MULTISUBDIR)),/x32) | |
343 target_cpu:=x32 | |
344 endif | |
345 endif | |
346 endif | |
347 | |
348 # ???: handle more multilib targets | |
349 | |
350 # LIBGNAT_TARGET_PAIRS is a list of pairs of filenames. | |
351 # The members of each pair must be separated by a '<' and no whitespace. | |
352 # Each pair must be separated by some amount of whitespace from the following | |
353 # pair. | |
354 | |
355 # Non-tasking case: | |
356 | |
357 LIBGNAT_TARGET_PAIRS = \ | |
358 a-intnam.ads<libgnarl/a-intnam__dummy.ads \ | |
359 s-inmaop.adb<libgnarl/s-inmaop__dummy.adb \ | |
360 s-intman.adb<libgnarl/s-intman__dummy.adb \ | |
361 s-osinte.ads<libgnarl/s-osinte__dummy.ads \ | |
362 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
363 s-taprop.adb<libgnarl/s-taprop__dummy.adb \ | |
364 s-taspri.ads<libgnarl/s-taspri__dummy.ads | |
365 | |
366 # When using the GCC exception handling mechanism, we need to use an | |
367 # alternate body for a-exexpr.adb (a-exexpr-gcc.adb) | |
368 | |
369 EH_MECHANISM= | |
370 | |
371 # Default shared object option. Note that we rely on the fact that the "soname" | |
372 # option will always be present and last in this flag, so that we can have | |
373 # $(SO_OPTS)libgnat-x.xx | |
374 | |
375 SO_OPTS = -Wl,-soname, | |
376 | |
377 # Default gnatlib-shared target. | |
378 # By default, equivalent to gnatlib. | |
379 # Set to gnatlib-shared-default, gnatlib-shared-dual, or a platform specific | |
380 # target when supported. | |
381 GNATLIB_SHARED = gnatlib | |
382 | |
383 # By default, build socket support units. On platforms that do not support | |
384 # sockets, reset this variable to empty and add DUMMY_SOCKETS_TARGET_PAIRS | |
385 # to LIBGNAT_TARGET_PAIRS. | |
386 | |
387 GNATRTL_SOCKETS_OBJS = g-soccon$(objext) g-socket$(objext) g-socthi$(objext) \ | |
388 g-soliop$(objext) g-sothco$(objext) | |
389 | |
390 DUMMY_SOCKETS_TARGET_PAIRS = \ | |
391 g-socket.adb<libgnat/g-socket__dummy.adb \ | |
392 g-socket.ads<libgnat/g-socket__dummy.ads \ | |
393 g-socthi.adb<libgnat/g-socthi__dummy.adb \ | |
394 g-socthi.ads<libgnat/g-socthi__dummy.ads \ | |
395 g-sothco.adb<libgnat/g-sothco__dummy.adb \ | |
396 g-sothco.ads<libgnat/g-sothco__dummy.ads | |
397 | |
398 # On platforms where atomic increment/decrement operations are supported, | |
399 # special version of Ada.Strings.Unbounded package can be used. | |
400 | |
401 ATOMICS_TARGET_PAIRS = \ | |
402 a-coinho.adb<libgnat/a-coinho__shared.adb \ | |
403 a-coinho.ads<libgnat/a-coinho__shared.ads \ | |
404 a-stunau.adb<libgnat/a-stunau__shared.adb \ | |
405 a-suteio.adb<libgnat/a-suteio__shared.adb \ | |
406 a-strunb.ads<libgnat/a-strunb__shared.ads \ | |
407 a-strunb.adb<libgnat/a-strunb__shared.adb \ | |
408 a-stwiun.adb<libgnat/a-stwiun__shared.adb \ | |
409 a-stwiun.ads<libgnat/a-stwiun__shared.ads \ | |
410 a-swunau.adb<libgnat/a-swunau__shared.adb \ | |
411 a-swuwti.adb<libgnat/a-swuwti__shared.adb \ | |
412 a-stzunb.adb<libgnat/a-stzunb__shared.adb \ | |
413 a-stzunb.ads<libgnat/a-stzunb__shared.ads \ | |
414 a-szunau.adb<libgnat/a-szunau__shared.adb \ | |
415 a-szuzti.adb<libgnat/a-szuzti__shared.adb | |
416 | |
417 ATOMICS_BUILTINS_TARGET_PAIRS = \ | |
418 s-atocou.adb<libgnat/s-atocou__builtin.adb | |
419 | |
420 # Special version of units for x86 and x86-64 platforms. | |
421 | |
422 X86_TARGET_PAIRS = \ | |
423 a-numaux.ads<libgnat/a-numaux__x86.ads \ | |
424 a-numaux.adb<libgnat/a-numaux__x86.adb \ | |
425 s-atocou.adb<libgnat/s-atocou__x86.adb | |
426 | |
427 X86_64_TARGET_PAIRS = \ | |
428 a-numaux.ads<libgnat/a-numaux__x86.ads \ | |
429 a-numaux.adb<libgnat/a-numaux__x86.adb \ | |
430 s-atocou.adb<libgnat/s-atocou__builtin.adb | |
431 | |
432 # Implementation of symbolic traceback based on dwarf | |
433 TRASYM_DWARF_UNIX_PAIRS = \ | |
434 s-trasym.adb<libgnat/s-trasym__dwarf.adb \ | |
435 s-mmosin.ads<libgnat/s-mmosin__unix.ads \ | |
436 s-mmosin.adb<libgnat/s-mmosin__unix.adb \ | |
437 s-mmauni.ads<libgnat/s-mmauni__long.ads | |
438 | |
439 TRASYM_DWARF_MINGW_PAIRS = \ | |
440 s-trasym.adb<libgnat/s-trasym__dwarf.adb \ | |
441 s-mmosin.ads<libgnat/s-mmosin__mingw.ads \ | |
442 s-mmosin.adb<libgnat/s-mmosin__mingw.adb | |
443 | |
444 TRASYM_DWARF_COMMON_OBJS = s-objrea$(objext) s-dwalin$(objext) s-mmap$(objext) \ | |
445 s-mmosin$(objext) | |
446 | |
447 TRASYM_DWARF_UNIX_OBJS = $(TRASYM_DWARF_COMMON_OBJS) s-mmauni$(objext) | |
448 | |
449 TRASYM_DWARF_MINGW_OBJS = $(TRASYM_DWARF_COMMON_OBJS) | |
450 | |
451 # Shared library version | |
452 LIB_VERSION = $(strip $(shell grep ' Library_Version :' $(fsrcpfx)ada/gnatvsn.ads | sed -e 's/.*"\(.*\)".*/\1/')) | |
453 | |
454 # Additionnal object files from C source to be added to libgnat. | |
455 EXTRA_LIBGNAT_OBJS= | |
456 | |
457 # Additionnal C source files to be added to libgnat without corresponding | |
458 # object file (#included files). This should include at least the GNAT | |
459 # specific header files required to rebuild the runtime library from sources. | |
460 EXTRA_LIBGNAT_SRCS= | |
461 | |
462 # Additionnal object files from Ada sources to be added in libgnat | |
463 EXTRA_GNATRTL_NONTASKING_OBJS= | |
464 | |
465 # Additionnal object files from Ada sources to be added in libgnarl | |
466 EXTRA_GNATRTL_TASKING_OBJS= | |
467 | |
468 # Subsets of extra libgnat sources that always go together | |
469 VX_SIGTRAMP_EXTRA_SRCS=sigtramp.h sigtramp-vxworks-target.inc | |
470 | |
471 # Additional object files that should go in the same directory as libgnat, | |
472 # aside the library itself. Typically useful for crtbegin/crtend kind of files. | |
473 EXTRA_ADALIB_OBJS= | |
474 | |
475 VX_CRTBE_EXTRA_ADALIB_OBJS=vx_crtbegin.o vx_crtbegin_auto.o vx_crtend.o | |
476 | |
477 # GCC spec files to be installed in $(libsubdir), so --specs=<spec-filename> | |
478 # finds them at runtime. | |
479 GCC_SPEC_FILES= | |
480 | |
481 # $(filter-out PATTERN...,TEXT) removes all PATTERN words from TEXT. | |
482 # $(strip STRING) removes leading and trailing spaces from STRING. | |
483 # If what's left is null then it's a match. | |
484 | |
485 # PowerPC and e500v2 VxWorks | |
486 ifeq ($(strip $(filter-out powerpc% wrs vxworks vxworksspe vxworks7 vxworks7spe,$(target_cpu) $(target_vendor) $(target_os))),) | |
487 | |
488 ifeq ($(strip $(filter-out e500%, $(target_alias))),) | |
489 ARCH_STR=e500 | |
490 # gcc config translates the target e500v2-wrs-vxworks to | |
491 # powerpc-wrs-vxworksspe. Let's keep the original alias here when | |
492 # generating s-oscons.ads. | |
493 target=$(target_alias) | |
494 else | |
495 ifeq ($(strip $(filter-out powerpc64, $(target_cpu))),) | |
496 ARCH_STR=ppc64 | |
497 else | |
498 ARCH_STR=ppc | |
499 endif | |
500 endif | |
501 | |
502 ifeq ($(strip $(filter-out vxworks7%, $(target_os))),) | |
503 SVX=system-vxworks7 | |
504 else | |
505 SVX=system-vxworks | |
506 endif | |
507 | |
508 LIBGNAT_TARGET_PAIRS = \ | |
509 a-intnam.ads<libgnarl/a-intnam__vxworks.ads \ | |
510 a-numaux.ads<libgnat/a-numaux__vxworks.ads \ | |
511 s-inmaop.adb<libgnarl/s-inmaop__vxworks.adb \ | |
512 s-intman.ads<libgnarl/s-intman__vxworks.ads \ | |
513 s-intman.adb<libgnarl/s-intman__vxworks.adb \ | |
514 s-osinte.ads<libgnarl/s-osinte__vxworks.ads \ | |
515 s-osinte.adb<libgnarl/s-osinte__vxworks.adb \ | |
516 s-osprim.adb<libgnat/s-osprim__vxworks.adb \ | |
517 s-parame.ads<libgnat/s-parame__vxworks.ads \ | |
518 s-parame.adb<libgnat/s-parame__vxworks.adb \ | |
519 s-taprop.adb<libgnarl/s-taprop__vxworks.adb \ | |
520 s-tasinf.ads<libgnarl/s-tasinf__vxworks.ads \ | |
521 s-taspri.ads<libgnarl/s-taspri__vxworks.ads \ | |
522 s-vxwork.ads<libgnarl/s-vxwork__ppc.ads \ | |
523 g-socthi.ads<libgnat/g-socthi__vxworks.ads \ | |
524 g-socthi.adb<libgnat/g-socthi__vxworks.adb \ | |
525 g-stsifd.adb<libgnat/g-stsifd__sockets.adb \ | |
526 $(ATOMICS_TARGET_PAIRS) \ | |
527 $(ATOMICS_BUILTINS_TARGET_PAIRS) | |
528 | |
529 # VxWorks 5 and 6 both use the same target triplet making them | |
530 # indistinguishable in the context of this make file. Package | |
531 # System.Stack_Checking.Operations is not needed on VxWorks 6 as it leads to | |
532 # an undefined symbol when building a dynamic shared library. To alleviate | |
533 # this problem and distinguish this case, we use the THREAD_KIND and include | |
534 # the package only in default mode. | |
535 | |
536 ifeq ($(strip $(filter-out default,$(THREAD_KIND))),) | |
537 LIBGNAT_TARGET_PAIRS += \ | |
538 s-stchop.ads<libgnat/s-stchop__limit.ads \ | |
539 s-stchop.adb<libgnat/s-stchop__vxworks.adb | |
540 EXTRA_GNATRTL_NONTASKING_OBJS+=s-stchop.o | |
541 endif | |
542 | |
543 TOOLS_TARGET_PAIRS=indepsw.adb<indepsw-gnu.adb | |
544 | |
545 ifeq ($(strip $(filter-out rtp,$(THREAD_KIND))),) | |
546 LIBGNAT_TARGET_PAIRS += \ | |
547 s-vxwext.ads<libgnarl/s-vxwext__rtp.ads \ | |
548 s-vxwext.adb<libgnarl/s-vxwext__rtp.adb \ | |
549 s-tpopsp.adb<libgnarl/s-tpopsp__vxworks-rtp.adb \ | |
550 system.ads<libgnat/system-vxworks-$(ARCH_STR)-rtp.ads | |
551 | |
552 EH_MECHANISM=-gcc | |
553 else | |
554 ifeq ($(strip $(filter-out rtp-smp,$(THREAD_KIND))),) | |
555 LIBGNAT_TARGET_PAIRS += \ | |
556 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ | |
557 s-vxwext.ads<libgnarl/s-vxwext__rtp.ads \ | |
558 s-vxwext.adb<libgnarl/s-vxwext__rtp-smp.adb \ | |
559 s-tpopsp.adb<libgnarl/s-tpopsp__vxworks-tls.adb \ | |
560 system.ads<libgnat/$(SVX)-$(ARCH_STR)-rtp-smp.ads | |
561 | |
562 EH_MECHANISM=-gcc | |
563 EXTRA_LIBGNAT_OBJS+=affinity.o | |
564 else | |
565 ifeq ($(strip $(filter-out kernel-smp,$(THREAD_KIND))),) | |
566 LIBGNAT_TARGET_PAIRS += \ | |
567 s-interr.adb<libgnarl/s-interr__vxworks.adb \ | |
568 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ | |
569 s-tpopsp.adb<libgnarl/s-tpopsp__vxworks-tls.adb \ | |
570 s-vxwext.ads<libgnarl/s-vxwext__kernel.ads \ | |
571 s-vxwext.adb<libgnarl/s-vxwext__kernel-smp.adb \ | |
572 system.ads<libgnat/system-vxworks-$(ARCH_STR)-kernel.ads | |
573 | |
574 EH_MECHANISM=-gcc | |
575 EXTRA_LIBGNAT_OBJS+=affinity.o | |
576 else | |
577 LIBGNAT_TARGET_PAIRS += \ | |
578 s-interr.adb<libgnarl/s-interr__vxworks.adb \ | |
579 s-tpopsp.adb<libgnarl/s-tpopsp__vxworks.adb | |
580 | |
581 ifeq ($(strip $(filter-out kernel,$(THREAD_KIND))),) | |
582 EH_MECHANISM=-gcc | |
583 LIBGNAT_TARGET_PAIRS += \ | |
584 s-vxwext.ads<libgnarl/s-vxwext__kernel.ads \ | |
585 s-vxwext.adb<libgnarl/s-vxwext__kernel.adb \ | |
586 system.ads<libgnat/system-vxworks-$(ARCH_STR)-kernel.ads | |
587 else | |
588 LIBGNAT_TARGET_PAIRS += \ | |
589 system.ads<libgnat/system-vxworks-ppc.ads | |
590 endif | |
591 endif | |
592 EXTRA_GNATRTL_NONTASKING_OBJS+=i-vxinco.o i-vxwork.o i-vxwoio.o | |
593 endif | |
594 endif | |
595 | |
596 EXTRA_GNATRTL_TASKING_OBJS += s-vxwork.o s-vxwext.o | |
597 | |
598 EXTRA_LIBGNAT_OBJS+=vx_stack_info.o | |
599 | |
600 EXTRA_ADALIB_OBJS+=$(VX_CRTBE_EXTRA_ADALIB_OBJS) | |
601 EXTRA_LIBGNAT_SRCS+=vx_crtbegin.inc | |
602 GCC_SPEC_FILES+=vxworks-gnat-crtbe-link.spec | |
603 | |
604 ifeq ($(strip $(filter-out vxworks7%, $(target_os))),) | |
605 ifeq ($(strip $(filter-out powerpc64, $(target_cpu))),) | |
606 GCC_SPEC_FILES+=vxworks7-ppc64-rtp-base-link.spec | |
607 else | |
608 GCC_SPEC_FILES+=vxworks7-rtp-base-link.spec | |
609 endif | |
610 else | |
611 GCC_SPEC_FILES+=vxworks-$(ARCH_STR)-link.spec | |
612 GCC_SPEC_FILES+=vxworks-cert-$(ARCH_STR)-link.spec | |
613 GCC_SPEC_FILES+=vxworks-smp-$(ARCH_STR)-link.spec | |
614 endif | |
615 endif | |
616 | |
617 # x86/x86_64 VxWorks | |
618 ifeq ($(strip $(filter-out %86 x86_64 wrs vxworks vxworks7,$(target_cpu) $(target_vendor) $(target_os))),) | |
619 | |
620 EH_MECHANISM=-gcc | |
621 | |
622 ifeq ($(strip $(filter-out vxworks7%, $(target_os))),) | |
623 SVX=system-vxworks7 | |
624 else | |
625 SVX=system-vxworks | |
626 endif | |
627 | |
628 ifeq ($(strip $(filter-out x86_64, $(target_cpu))),) | |
629 X86CPU=x86_64 | |
630 LIBGNAT_TARGET_PAIRS=$(X86_64_TARGET_PAIRS) | |
631 else | |
632 X86CPU=x86 | |
633 LIBGNAT_TARGET_PAIRS=$(X86_TARGET_PAIRS) | |
634 endif | |
635 | |
636 LIBGNAT_TARGET_PAIRS+= \ | |
637 a-intnam.ads<libgnarl/a-intnam__vxworks.ads \ | |
638 i-vxwork.ads<libgnat/i-vxwork__x86.ads \ | |
639 s-osinte.adb<libgnarl/s-osinte__vxworks.adb \ | |
640 s-osinte.ads<libgnarl/s-osinte__vxworks.ads \ | |
641 s-inmaop.adb<libgnarl/s-inmaop__vxworks.adb \ | |
642 s-intman.ads<libgnarl/s-intman__vxworks.ads \ | |
643 s-intman.adb<libgnarl/s-intman__vxworks.adb \ | |
644 s-osprim.adb<libgnat/s-osprim__vxworks.adb \ | |
645 s-parame.ads<libgnat/s-parame__vxworks.ads \ | |
646 s-parame.adb<libgnat/s-parame__vxworks.adb \ | |
647 s-stchop.ads<libgnat/s-stchop__limit.ads \ | |
648 s-stchop.adb<libgnat/s-stchop__vxworks.adb \ | |
649 s-taprop.adb<libgnarl/s-taprop__vxworks.adb \ | |
650 s-tasinf.ads<libgnarl/s-tasinf__vxworks.ads \ | |
651 s-taspri.ads<libgnarl/s-taspri__vxworks.ads \ | |
652 s-vxwork.ads<libgnarl/s-vxwork__x86.ads \ | |
653 g-socthi.ads<libgnat/g-socthi__vxworks.ads \ | |
654 g-socthi.adb<libgnat/g-socthi__vxworks.adb \ | |
655 g-stsifd.adb<libgnat/g-stsifd__sockets.adb \ | |
656 $(ATOMICS_TARGET_PAIRS) | |
657 | |
658 TOOLS_TARGET_PAIRS=indepsw.adb<indepsw-gnu.adb | |
659 | |
660 # The CPU setting for VxSim varies with the | |
661 # host (Windows or Linux) | |
662 # target (VxWorks6 or VxWorks7) | |
663 # runtime (rtp or kernel) | |
664 # ------------------------------------------------------------- | |
665 # vx6 vx7 | |
666 # Windows (host_os = mingw32) | |
667 # kernel SIMNT SIMNT | |
668 # rtp SIMPENTIUM SIMNT | |
669 # Linux (host_os = linux-gnu) | |
670 # kernel SIMLINUX SIMLINUX | |
671 # rtp SIMPENTIUM SIMLINUX | |
672 # ------------------------------------------------------------- | |
673 # It is overridden by VXSIM_CPU only in files init-vxsim.c and | |
674 # sigtramp-vxworks-vxsim.c which contain functions determined at | |
675 # runtime to be called if a program is running on VxSim vs real hardware | |
676 # (due to differences in signal context for unwinding). | |
677 | |
678 ifneq ($(strip $(filter-out vxworks7, $(target_os))),) | |
679 ifeq ($(strip $(filter-out vxworks rtp rtp-smp,$(target_os) $(THREAD_KIND))),) | |
680 VXSIM_CPU = SIMPENTIUM | |
681 else | |
682 ifeq ($(strip $(filter-out kernel kernel-smp rtp rtp-smp,$(THREAD_KIND))),) | |
683 ifeq ($(strip $(filter-out linux%,$(host_os))),) | |
684 # Linux | |
685 VXSIM_CPU = SIMLINUX | |
686 else | |
687 # Windows | |
688 VXSIM_CPU = SIMNT | |
689 endif | |
690 endif | |
691 endif | |
692 | |
693 GNATLIBCFLAGS_FOR_C := $(GNATLIBCFLAGS_FOR_C) -D__VXSIM_CPU__=$(VXSIM_CPU) | |
694 endif | |
695 | |
696 ifeq ($(strip $(filter-out rtp,$(THREAD_KIND))),) | |
697 # Runtime N/A for VxWorks7 (non-existent system file) | |
698 LIBGNAT_TARGET_PAIRS += \ | |
699 s-vxwext.ads<libgnarl/s-vxwext__rtp.ads \ | |
700 s-vxwext.adb<libgnarl/s-vxwext__rtp.adb \ | |
701 s-tpopsp.adb<libgnarl/s-tpopsp__vxworks-rtp.adb \ | |
702 system.ads<libgnat/system-vxworks-x86-rtp.ads | |
703 else | |
704 ifeq ($(strip $(filter-out rtp-smp, $(THREAD_KIND))),) | |
705 LIBGNAT_TARGET_PAIRS += \ | |
706 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ | |
707 s-vxwext.ads<libgnarl/s-vxwext__rtp.ads \ | |
708 s-vxwext.adb<libgnarl/s-vxwext__rtp-smp.adb \ | |
709 s-tpopsp.adb<libgnarl/s-tpopsp__vxworks-tls.adb \ | |
710 system.ads<libgnat/$(SVX)-$(X86CPU)-rtp-smp.ads | |
711 | |
712 EXTRA_LIBGNAT_OBJS+=affinity.o | |
713 else | |
714 ifeq ($(strip $(filter-out kernel-smp, $(THREAD_KIND))),) | |
715 LIBGNAT_TARGET_PAIRS += \ | |
716 s-interr.adb<libgnarl/s-interr__vxworks.adb \ | |
717 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ | |
718 s-tpopsp.adb<libgnarl/s-tpopsp__vxworks-tls.adb \ | |
719 s-vxwext.ads<libgnarl/s-vxwext__kernel.ads \ | |
720 s-vxwext.adb<libgnarl/s-vxwext__kernel-smp.adb \ | |
721 system.ads<libgnat/$(SVX)-$(X86CPU)-kernel.ads | |
722 | |
723 EXTRA_LIBGNAT_OBJS+=affinity.o | |
724 else | |
725 LIBGNAT_TARGET_PAIRS += \ | |
726 s-interr.adb<libgnarl/s-interr__vxworks.adb \ | |
727 s-tpopsp.adb<libgnarl/s-tpopsp__vxworks.adb | |
728 | |
729 ifeq ($(strip $(filter-out kernel,$(THREAD_KIND))),) | |
730 # Runtime N/A for VxWorks7 (non-existent system file) | |
731 LIBGNAT_TARGET_PAIRS += \ | |
732 s-vxwext.ads<libgnarl/s-vxwext__kernel.ads \ | |
733 s-vxwext.adb<libgnarl/s-vxwext__kernel.adb \ | |
734 system.ads<libgnat/$(SVX)-x86-kernel.ads | |
735 else | |
736 LIBGNAT_TARGET_PAIRS += \ | |
737 system.ads<libgnat/system-vxworks-x86.ads | |
738 endif | |
739 endif | |
740 | |
741 EXTRA_GNATRTL_NONTASKING_OBJS=i-vxwork.o i-vxwoio.o | |
742 endif | |
743 endif | |
744 | |
745 EXTRA_GNATRTL_NONTASKING_OBJS += s-stchop.o | |
746 EXTRA_GNATRTL_TASKING_OBJS += i-vxinco.o s-vxwork.o s-vxwext.o | |
747 | |
748 EXTRA_LIBGNAT_OBJS+=vx_stack_info.o | |
749 | |
750 EXTRA_LIBGNAT_OBJS+=sigtramp-vxworks.o | |
751 EXTRA_LIBGNAT_SRCS+=$(VX_SIGTRAMP_EXTRA_SRCS) | |
752 | |
753 EXTRA_ADALIB_OBJS+=$(VX_CRTBE_EXTRA_ADALIB_OBJS) | |
754 EXTRA_LIBGNAT_SRCS+=vx_crtbegin.inc | |
755 GCC_SPEC_FILES+=vxworks-gnat-crtbe-link.spec | |
756 | |
757 ifeq ($(strip $(filter-out vxworks7%, $(target_os))),) | |
758 GCC_SPEC_FILES+=vxworks7-$(X86CPU)-rtp-base-link.spec | |
759 else | |
760 GCC_SPEC_FILES+=vxworks-x86-link.spec | |
761 GCC_SPEC_FILES+=vxworks-cert-x86-link.spec | |
762 GCC_SPEC_FILES+=vxworks-smp-x86-link.spec | |
763 endif | |
764 endif | |
765 | |
766 # ARM VxWorks | |
767 ifeq ($(strip $(filter-out arm% coff wrs vx%,$(target_cpu) $(target_vendor) $(target_os))),) | |
768 | |
769 ifeq ($(strip $(filter-out vxworks7%, $(target_os))),) | |
770 SVX=system-vxworks7 | |
771 EH_MECHANISM=-arm | |
772 SIGTRAMP_OBJ=sigtramp-armvxworks.o | |
773 else | |
774 SVX=system-vxworks | |
775 EH_MECHANISM=-gcc | |
776 SIGTRAMP_OBJ=sigtramp-vxworks.o | |
777 endif | |
778 | |
779 LIBGNAT_TARGET_PAIRS = \ | |
780 a-intnam.ads<libgnarl/a-intnam__vxworks.ads \ | |
781 a-numaux.ads<libgnat/a-numaux__vxworks.ads \ | |
782 s-inmaop.adb<libgnarl/s-inmaop__vxworks.adb \ | |
783 s-interr.adb<libgnarl/s-interr__vxworks.adb \ | |
784 s-intman.ads<libgnarl/s-intman__vxworks.ads \ | |
785 s-intman.adb<libgnarl/s-intman__vxworks.adb \ | |
786 s-osinte.adb<libgnarl/s-osinte__vxworks.adb \ | |
787 s-osinte.ads<libgnarl/s-osinte__vxworks.ads \ | |
788 s-osprim.adb<libgnat/s-osprim__vxworks.adb \ | |
789 s-parame.ads<libgnat/s-parame__vxworks.ads \ | |
790 s-parame.adb<libgnat/s-parame__vxworks.adb \ | |
791 s-stchop.ads<libgnat/s-stchop__limit.ads \ | |
792 s-stchop.adb<libgnat/s-stchop__vxworks.adb \ | |
793 s-taprop.adb<libgnarl/s-taprop__vxworks.adb \ | |
794 s-tasinf.ads<libgnarl/s-tasinf__vxworks.ads \ | |
795 s-taspri.ads<libgnarl/s-taspri__vxworks.ads \ | |
796 s-vxwork.ads<libgnarl/s-vxwork__arm.ads \ | |
797 g-socthi.ads<libgnat/g-socthi__vxworks.ads \ | |
798 g-socthi.adb<libgnat/g-socthi__vxworks.adb \ | |
799 g-stsifd.adb<libgnat/g-stsifd__sockets.adb | |
800 | |
801 TOOLS_TARGET_PAIRS=indepsw.adb<indepsw-gnu.adb | |
802 | |
803 ifeq ($(strip $(filter-out rtp-smp,$(THREAD_KIND))),) | |
804 LIBGNAT_TARGET_PAIRS += \ | |
805 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ | |
806 s-vxwext.ads<libgnarl/s-vxwext__rtp.ads \ | |
807 s-vxwext.adb<libgnarl/s-vxwext__rtp-smp.adb \ | |
808 s-tpopsp.adb<libgnarl/s-tpopsp__vxworks-tls.adb \ | |
809 system.ads<libgnat/$(SVX)-arm-rtp-smp.ads | |
810 | |
811 EXTRA_LIBGNAT_OBJS+=affinity.o | |
812 | |
813 EXTRA_LIBGNAT_OBJS+=$(SIGTRAMP_OBJ) | |
814 EXTRA_LIBGNAT_SRCS+=$(VX_SIGTRAMP_EXTRA_SRCS) | |
815 else | |
816 ifeq ($(strip $(filter-out kernel-smp,$(THREAD_KIND))),) | |
817 LIBGNAT_TARGET_PAIRS += \ | |
818 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ | |
819 s-tpopsp.adb<libgnarl/s-tpopsp__vxworks-tls.adb \ | |
820 s-vxwext.ads<libgnarl/s-vxwext__kernel.ads \ | |
821 s-vxwext.adb<libgnarl/s-vxwext__kernel-smp.adb \ | |
822 system.ads<libgnat/$(SVX)-arm.ads | |
823 | |
824 EXTRA_LIBGNAT_OBJS+=affinity.o | |
825 | |
826 EXTRA_LIBGNAT_OBJS+=$(SIGTRAMP_OBJ) | |
827 EXTRA_LIBGNAT_SRCS+=$(VX_SIGTRAMP_EXTRA_SRCS) | |
828 else | |
829 LIBGNAT_TARGET_PAIRS += \ | |
830 s-tpopsp.adb<libgnarl/s-tpopsp__vxworks.adb \ | |
831 system.ads<libgnat/$(SVX)-arm.ads | |
832 | |
833 ifeq ($(strip $(filter-out kernel,$(THREAD_KIND))),) | |
834 LIBGNAT_TARGET_PAIRS += \ | |
835 s-vxwext.ads<libgnarl/s-vxwext__kernel.ads \ | |
836 s-vxwext.adb<libgnarl/s-vxwext__kernel.adb | |
837 | |
838 EXTRA_LIBGNAT_OBJS+=$(SIGTRAMP_OBJ) | |
839 EXTRA_LIBGNAT_SRCS+=$(VX_SIGTRAMP_EXTRA_SRCS) | |
840 endif | |
841 endif | |
842 endif | |
843 | |
844 EXTRA_GNATRTL_NONTASKING_OBJS=i-vxwork.o i-vxwoio.o \ | |
845 s-stchop.o | |
846 EXTRA_GNATRTL_TASKING_OBJS=i-vxinco.o s-vxwork.o s-vxwext.o | |
847 | |
848 EXTRA_LIBGNAT_OBJS+=vx_stack_info.o | |
849 | |
850 ifeq ($(strip $(filter-out vxworks7%, $(target_os))),) | |
851 GCC_SPEC_FILES+=vxworks7-rtp-base-link.spec | |
852 else | |
853 EXTRA_ADALIB_OBJS+=$(VX_CRTBE_EXTRA_ADALIB_OBJS) | |
854 EXTRA_LIBGNAT_SRCS+=vx_crtbegin.inc | |
855 GCC_SPEC_FILES+=vxworks-gnat-crtbe-link.spec | |
856 | |
857 GCC_SPEC_FILES+=vxworks-arm-link.spec | |
858 GCC_SPEC_FILES+=vxworks-smp-arm-link.spec | |
859 endif | |
860 endif | |
861 | |
862 # ARM android | |
863 ifeq ($(strip $(filter-out arm% linux-androideabi,$(target_cpu) $(target_os))),) | |
864 LIBGNAT_TARGET_PAIRS = \ | |
865 a-intnam.ads<libgnarl/a-intnam__linux.ads \ | |
866 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
867 s-intman.adb<libgnarl/s-intman__android.adb \ | |
868 s-linux.ads<libgnarl/s-linux__android.ads \ | |
869 s-osinte.adb<libgnarl/s-osinte__android.adb \ | |
870 s-osinte.ads<libgnarl/s-osinte__android.ads \ | |
871 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
872 s-taprop.adb<libgnarl/s-taprop__posix.adb \ | |
873 s-taspri.ads<libgnarl/s-taspri__posix.ads \ | |
874 s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \ | |
875 $(ATOMICS_TARGET_PAIRS) \ | |
876 $(ATOMICS_BUILTINS_TARGET_PAIRS) \ | |
877 system.ads<libgnat/system-linux-arm.ads | |
878 | |
879 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb | |
880 | |
881 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o | |
882 EXTRA_LIBGNAT_OBJS+=sigtramp-armdroid.o | |
883 EXTRA_LIBGNAT_SRCS+=sigtramp.h | |
884 EH_MECHANISM=-arm | |
885 THREADSLIB = | |
886 GNATLIB_SHARED = gnatlib-shared-dual | |
887 LIBRARY_VERSION := $(LIB_VERSION) | |
888 endif | |
889 | |
890 # Sparc Solaris | |
891 ifeq ($(strip $(filter-out sparc% sun solaris%,$(target_cpu) $(target_vendor) $(target_os))),) | |
892 LIBGNAT_TARGET_PAIRS = \ | |
893 a-intnam.ads<libgnarl/a-intnam__solaris.ads \ | |
894 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
895 s-intman.adb<libgnarl/s-intman__solaris.adb \ | |
896 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ | |
897 s-osinte.adb<libgnarl/s-osinte__solaris.adb \ | |
898 s-osinte.ads<libgnarl/s-osinte__solaris.ads \ | |
899 s-osprim.adb<libgnat/s-osprim__solaris.adb \ | |
900 s-taprop.adb<libgnarl/s-taprop__solaris.adb \ | |
901 s-tasinf.adb<libgnarl/s-tasinf__solaris.adb \ | |
902 s-tasinf.ads<libgnarl/s-tasinf__solaris.ads \ | |
903 s-taspri.ads<libgnarl/s-taspri__solaris.ads \ | |
904 s-tpopsp.adb<libgnarl/s-tpopsp__solaris.adb \ | |
905 g-soliop.ads<libgnat/g-soliop__solaris.ads \ | |
906 $(ATOMICS_TARGET_PAIRS) \ | |
907 $(ATOMICS_BUILTINS_TARGET_PAIRS) \ | |
908 system.ads<libgnat/system-solaris-sparc.ads | |
909 | |
910 EH_MECHANISM=-gcc | |
911 THREADSLIB = -lposix4 -lthread | |
912 MISCLIB = -lposix4 -lnsl -lsocket | |
913 SO_OPTS = -Wl,-h, | |
914 GNATLIB_SHARED = gnatlib-shared-dual | |
915 GMEM_LIB = gmemlib | |
916 LIBRARY_VERSION := $(LIB_VERSION) | |
917 endif | |
918 | |
919 # x86 and x86-64 solaris | |
920 ifeq ($(strip $(filter-out %86 %x86_64 solaris2%,$(target_cpu) $(target_os))),) | |
921 LIBGNAT_TARGET_PAIRS_COMMON = \ | |
922 a-intnam.ads<libgnarl/a-intnam__solaris.ads \ | |
923 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
924 s-intman.adb<libgnarl/s-intman__solaris.adb \ | |
925 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ | |
926 s-osinte.adb<libgnarl/s-osinte__solaris.adb \ | |
927 s-osinte.ads<libgnarl/s-osinte__solaris.ads \ | |
928 s-osprim.adb<libgnat/s-osprim__solaris.adb \ | |
929 s-taprop.adb<libgnarl/s-taprop__solaris.adb \ | |
930 s-tasinf.adb<libgnarl/s-tasinf__solaris.adb \ | |
931 s-tasinf.ads<libgnarl/s-tasinf__solaris.ads \ | |
932 s-taspri.ads<libgnarl/s-taspri__solaris.ads \ | |
933 s-tpopsp.adb<libgnarl/s-tpopsp__solaris.adb \ | |
934 g-soliop.ads<libgnat/g-soliop__solaris.ads \ | |
935 $(ATOMICS_TARGET_PAIRS) \ | |
936 system.ads<libgnat/system-solaris-x86.ads | |
937 | |
938 ifeq ($(strip $(filter-out %86 solaris2%,$(target_cpu) $(target_os))),) | |
939 ifeq ($(strip $(MULTISUBDIR)),/amd64) | |
940 LIBGNAT_TARGET_PAIRS = \ | |
941 $(LIBGNAT_TARGET_PAIRS_COMMON) $(X86_64_TARGET_PAIRS) | |
942 else | |
943 LIBGNAT_TARGET_PAIRS = \ | |
944 $(LIBGNAT_TARGET_PAIRS_COMMON) $(X86_TARGET_PAIRS) | |
945 endif | |
946 else | |
947 ifeq ($(strip $(MULTISUBDIR)),/32) | |
948 LIBGNAT_TARGET_PAIRS = \ | |
949 $(LIBGNAT_TARGET_PAIRS_COMMON) $(X86_TARGET_PAIRS) | |
950 else | |
951 LIBGNAT_TARGET_PAIRS = \ | |
952 $(LIBGNAT_TARGET_PAIRS_COMMON) $(X86_64_TARGET_PAIRS) | |
953 endif | |
954 endif | |
955 | |
956 EXTRA_GNATRTL_NONTASKING_OBJS += g-sse.o g-ssvety.o | |
957 | |
958 EH_MECHANISM=-gcc | |
959 THREADSLIB = -lposix4 -lthread | |
960 MISCLIB = -lposix4 -lnsl -lsocket | |
961 SO_OPTS = -Wl,-h, | |
962 GNATLIB_SHARED = gnatlib-shared-dual | |
963 GMEM_LIB = gmemlib | |
964 LIBRARY_VERSION := $(LIB_VERSION) | |
965 endif | |
966 | |
967 # x86 Linux | |
968 ifeq ($(strip $(filter-out %86 linux%,$(target_cpu) $(target_os))),) | |
969 LIBGNAT_TARGET_PAIRS = \ | |
970 a-intnam.ads<libgnarl/a-intnam__linux.ads \ | |
971 a-synbar.adb<libgnarl/a-synbar__posix.adb \ | |
972 a-synbar.ads<libgnarl/a-synbar__posix.ads \ | |
973 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
974 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
975 s-tpopsp.adb<libgnarl/s-tpopsp__tls.adb \ | |
976 $(TRASYM_DWARF_UNIX_PAIRS) \ | |
977 g-sercom.adb<libgnat/g-sercom__linux.adb \ | |
978 s-tsmona.adb<libgnat/s-tsmona__linux.adb \ | |
979 a-exetim.adb<libgnarl/a-exetim__posix.adb \ | |
980 a-exetim.ads<libgnarl/a-exetim__default.ads \ | |
981 s-linux.ads<libgnarl/s-linux.ads \ | |
982 s-osinte.adb<libgnarl/s-osinte__posix.adb \ | |
983 $(ATOMICS_TARGET_PAIRS) \ | |
984 system.ads<libgnat/system-linux-x86.ads | |
985 | |
986 ifeq ($(strip $(MULTISUBDIR)),/64) | |
987 LIBGNAT_TARGET_PAIRS += $(X86_64_TARGET_PAIRS) | |
988 else | |
989 LIBGNAT_TARGET_PAIRS += $(X86_TARGET_PAIRS) | |
990 endif | |
991 | |
992 LIBGNAT_TARGET_PAIRS += \ | |
993 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ | |
994 s-osinte.ads<libgnarl/s-osinte__linux.ads \ | |
995 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
996 s-taprop.adb<libgnarl/s-taprop__linux.adb \ | |
997 s-tasinf.ads<libgnarl/s-tasinf__linux.ads \ | |
998 s-tasinf.adb<libgnarl/s-tasinf__linux.adb \ | |
999 s-taspri.ads<libgnarl/s-taspri__posix.ads | |
1000 | |
1001 EH_MECHANISM=-gcc | |
1002 THREADSLIB = -lpthread -lrt | |
1003 EXTRA_GNATRTL_NONTASKING_OBJS += g-sse.o g-ssvety.o | |
1004 EXTRA_GNATRTL_NONTASKING_OBJS += $(TRASYM_DWARF_UNIX_OBJS) | |
1005 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o a-exetim.o | |
1006 | |
1007 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb | |
1008 | |
1009 GNATLIB_SHARED = gnatlib-shared-dual | |
1010 MISCLIB = -ldl | |
1011 GMEM_LIB = gmemlib | |
1012 LIBRARY_VERSION := $(LIB_VERSION) | |
1013 endif | |
1014 | |
1015 # x86 kfreebsd | |
1016 ifeq ($(strip $(filter-out %86 kfreebsd%,$(target_cpu) $(target_os))),) | |
1017 LIBGNAT_TARGET_PAIRS = \ | |
1018 a-intnam.ads<libgnarl/a-intnam__freebsd.ads \ | |
1019 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
1020 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
1021 s-osinte.adb<libgnarl/s-osinte__posix.adb \ | |
1022 s-osinte.ads<libgnarl/s-osinte__kfreebsd-gnu.ads \ | |
1023 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
1024 s-taprop.adb<libgnarl/s-taprop__posix.adb \ | |
1025 s-taspri.ads<libgnarl/s-taspri__posix.ads \ | |
1026 s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \ | |
1027 $(ATOMICS_TARGET_PAIRS) \ | |
1028 $(X86_TARGET_PAIRS) \ | |
1029 system.ads<libgnat/system-freebsd.ads | |
1030 | |
1031 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb | |
1032 | |
1033 EXTRA_GNATRTL_NONTASKING_OBJS += g-sse.o g-ssvety.o | |
1034 | |
1035 EH_MECHANISM=-gcc | |
1036 THREADSLIB = -lpthread | |
1037 GNATLIB_SHARED = gnatlib-shared-dual | |
1038 GMEM_LIB = gmemlib | |
1039 LIBRARY_VERSION := $(LIB_VERSION) | |
1040 MISCLIB = -lutil | |
1041 endif | |
1042 | |
1043 # i[3456]86-pc-gnu i.e. GNU Hurd | |
1044 ifeq ($(strip $(filter-out %86 pc gnu,$(target_cpu) $(target_vendor) $(target_os))),) | |
1045 LIBGNAT_TARGET_PAIRS = \ | |
1046 a-intnam.ads<libgnarl/a-intnam__freebsd.ads \ | |
1047 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
1048 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
1049 s-osinte.adb<libgnarl/s-osinte__gnu.adb \ | |
1050 s-osinte.ads<libgnarl/s-osinte__gnu.ads \ | |
1051 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
1052 s-taprop.adb<libgnarl/s-taprop__posix.adb \ | |
1053 s-taspri.ads<libgnarl/s-taspri__posix.ads \ | |
1054 s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \ | |
1055 $(ATOMICS_TARGET_PAIRS) \ | |
1056 $(X86_TARGET_PAIRS) \ | |
1057 system.ads<libgnat/system-freebsd.ads | |
1058 | |
1059 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb | |
1060 | |
1061 EXTRA_GNATRTL_NONTASKING_OBJS=g-sse.o g-ssvety.o | |
1062 | |
1063 EH_MECHANISM=-gcc | |
1064 THREADSLIB = -lpthread | |
1065 GNATLIB_SHARED = gnatlib-shared-dual | |
1066 GMEM_LIB = gmemlib | |
1067 LIBRARY_VERSION := $(LIB_VERSION) | |
1068 endif | |
1069 | |
1070 ifeq ($(strip $(filter-out x86_64 kfreebsd%,$(target_cpu) $(target_os))),) | |
1071 LIBGNAT_TARGET_PAIRS = \ | |
1072 a-intnam.ads<libgnarl/a-intnam__freebsd.ads \ | |
1073 a-numaux.adb<libgnat/a-numaux__x86.adb \ | |
1074 a-numaux.ads<libgnat/a-numaux__x86.ads \ | |
1075 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
1076 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
1077 s-osinte.adb<libgnarl/s-osinte__posix.adb \ | |
1078 s-osinte.ads<libgnarl/s-osinte__kfreebsd-gnu.ads \ | |
1079 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
1080 s-taprop.adb<libgnarl/s-taprop__posix.adb \ | |
1081 s-taspri.ads<libgnarl/s-taspri__posix.ads \ | |
1082 s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \ | |
1083 system.ads<libgnat/system-freebsd.ads | |
1084 | |
1085 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb | |
1086 | |
1087 EH_MECHANISM=-gcc | |
1088 THREADSLIB = -lpthread | |
1089 GNATLIB_SHARED = gnatlib-shared-dual | |
1090 GMEM_LIB = gmemlib | |
1091 LIBRARY_VERSION := $(LIB_VERSION) | |
1092 endif | |
1093 | |
1094 # aarch64 FreeBSD | |
1095 ifeq ($(strip $(filter-out %aarch64 freebsd%,$(target_cpu) $(target_os))),) | |
1096 LIBGNAT_TARGET_PAIRS = \ | |
1097 a-intnam.ads<libgnarl/a-intnam__freebsd.ads \ | |
1098 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
1099 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
1100 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ | |
1101 s-osinte.adb<libgnarl/s-osinte__freebsd.adb \ | |
1102 s-osinte.ads<libgnarl/s-osinte__freebsd.ads \ | |
1103 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
1104 s-taprop.adb<libgnarl/s-taprop__posix.adb \ | |
1105 s-taspri.ads<libgnarl/s-taspri__posix.ads \ | |
1106 s-tpopsp.adb<libgnarl/s-tpopsp__posix.adb \ | |
1107 $(ATOMICS_TARGET_PAIRS) \ | |
1108 $(ATOMICS_BUILTINS_TARGET_PAIRS) \ | |
1109 system.ads<libgnat/system-freebsd.ads | |
1110 | |
1111 GNATLIB_SHARED = gnatlib-shared-dual | |
1112 | |
1113 EH_MECHANISM=-gcc | |
1114 THREADSLIB= -lpthread | |
1115 GMEM_LIB = gmemlib | |
1116 LIBRARY_VERSION := $(LIB_VERSION) | |
1117 MISCLIB = -lutil | |
1118 endif | |
1119 | |
1120 # x86 FreeBSD | |
1121 ifeq ($(strip $(filter-out %86 freebsd%,$(target_cpu) $(target_os))),) | |
1122 LIBGNAT_TARGET_PAIRS = \ | |
1123 a-intnam.ads<libgnarl/a-intnam__freebsd.ads \ | |
1124 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
1125 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
1126 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ | |
1127 s-osinte.adb<libgnarl/s-osinte__freebsd.adb \ | |
1128 s-osinte.ads<libgnarl/s-osinte__freebsd.ads \ | |
1129 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
1130 s-taprop.adb<libgnarl/s-taprop__posix.adb \ | |
1131 s-taspri.ads<libgnarl/s-taspri__posix.ads \ | |
1132 s-tpopsp.adb<libgnarl/s-tpopsp__posix.adb \ | |
1133 $(ATOMICS_TARGET_PAIRS) \ | |
1134 $(X86_TARGET_PAIRS) \ | |
1135 system.ads<libgnat/system-freebsd.ads | |
1136 | |
1137 GNATLIB_SHARED = gnatlib-shared-dual | |
1138 | |
1139 EXTRA_GNATRTL_NONTASKING_OBJS += g-sse.o g-ssvety.o | |
1140 | |
1141 EH_MECHANISM=-gcc | |
1142 THREADSLIB= -lpthread | |
1143 GMEM_LIB = gmemlib | |
1144 LIBRARY_VERSION := $(LIB_VERSION) | |
1145 MISCLIB = -lutil | |
1146 endif | |
1147 | |
1148 # x86-64 FreeBSD | |
1149 ifeq ($(strip $(filter-out %86_64 freebsd%,$(target_cpu) $(target_os))),) | |
1150 LIBGNAT_TARGET_PAIRS = \ | |
1151 a-intnam.ads<libgnarl/a-intnam__freebsd.ads \ | |
1152 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
1153 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
1154 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ | |
1155 s-osinte.adb<libgnarl/s-osinte__freebsd.adb \ | |
1156 s-osinte.ads<libgnarl/s-osinte__freebsd.ads \ | |
1157 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
1158 s-taprop.adb<libgnarl/s-taprop__posix.adb \ | |
1159 s-taspri.ads<libgnarl/s-taspri__posix.ads \ | |
1160 s-tpopsp.adb<libgnarl/s-tpopsp__posix.adb \ | |
1161 $(ATOMICS_TARGET_PAIRS) \ | |
1162 $(X86_64_TARGET_PAIRS) \ | |
1163 system.ads<libgnat/system-freebsd.ads | |
1164 | |
1165 GNATLIB_SHARED = gnatlib-shared-dual | |
1166 | |
1167 EXTRA_GNATRTL_NONTASKING_OBJS += g-sse.o g-ssvety.o | |
1168 | |
1169 EH_MECHANISM=-gcc | |
1170 THREADSLIB= -lpthread | |
1171 GMEM_LIB = gmemlib | |
1172 LIBRARY_VERSION := $(LIB_VERSION) | |
1173 MISCLIB = -lutil | |
1174 endif | |
1175 | |
1176 # x86-64 DragonFly | |
1177 ifeq ($(strip $(filter-out %86_64 dragonfly%,$(target_cpu) $(target_os))),) | |
1178 LIBGNAT_TARGET_PAIRS = \ | |
1179 a-intnam.ads<libgnarl/a-intnam__dragonfly.ads \ | |
1180 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
1181 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
1182 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ | |
1183 s-osinte.adb<libgnarl/s-osinte__dragonfly.adb \ | |
1184 s-osinte.ads<libgnarl/s-osinte__dragonfly.ads \ | |
1185 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
1186 s-taprop.adb<libgnarl/s-taprop__posix.adb \ | |
1187 s-taspri.ads<libgnarl/s-taspri__posix.ads \ | |
1188 s-tpopsp.adb<libgnarl/s-tpopsp__posix.adb \ | |
1189 $(ATOMICS_TARGET_PAIRS) \ | |
1190 $(X86_64_TARGET_PAIRS) \ | |
1191 system.ads<libgnat/system-dragonfly-x86_64.ads | |
1192 | |
1193 GNATLIB_SHARED = gnatlib-shared-dual | |
1194 | |
1195 EXTRA_GNATRTL_NONTASKING_OBJS=g-sse.o g-ssvety.o | |
1196 | |
1197 EH_MECHANISM=-gcc | |
1198 THREADSLIB= -lpthread | |
1199 GMEM_LIB = gmemlib | |
1200 LIBRARY_VERSION := $(LIB_VERSION) | |
1201 MISCLIB = -lutil | |
1202 endif | |
1203 | |
1204 # S390 Linux | |
1205 ifeq ($(strip $(filter-out s390% linux%,$(target_cpu) $(target_os))),) | |
1206 LIBGNAT_TARGET_PAIRS = \ | |
1207 a-intnam.ads<libgnarl/a-intnam__linux.ads \ | |
1208 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
1209 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
1210 s-linux.ads<libgnarl/s-linux.ads \ | |
1211 s-osinte.adb<libgnarl/s-osinte__posix.adb \ | |
1212 s-osinte.ads<libgnarl/s-osinte__linux.ads \ | |
1213 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
1214 s-taprop.adb<libgnarl/s-taprop__linux.adb \ | |
1215 s-tasinf.ads<libgnarl/s-tasinf__linux.ads \ | |
1216 s-tasinf.adb<libgnarl/s-tasinf__linux.adb \ | |
1217 s-taspri.ads<libgnarl/s-taspri__posix-noaltstack.ads \ | |
1218 s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \ | |
1219 system.ads<libgnat/system-linux-s390.ads | |
1220 | |
1221 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb | |
1222 | |
1223 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o | |
1224 EH_MECHANISM=-gcc | |
1225 THREADSLIB = -lpthread | |
1226 GNATLIB_SHARED = gnatlib-shared-dual | |
1227 LIBRARY_VERSION := $(LIB_VERSION) | |
1228 endif | |
1229 | |
1230 # HP/PA HP-UX 10 | |
1231 ifeq ($(strip $(filter-out hppa% hp hpux10%,$(target_cpu) $(target_vendor) $(target_os))),) | |
1232 LIBGNAT_TARGET_PAIRS = \ | |
1233 a-excpol.adb<libgnat/a-excpol__abort.adb \ | |
1234 a-intnam.ads<libgnarl/a-intnam__hpux.ads \ | |
1235 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
1236 s-interr.adb<libgnarl/s-interr__sigaction.adb \ | |
1237 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
1238 s-osinte.adb<libgnarl/s-osinte__hpux-dce.adb \ | |
1239 s-osinte.ads<libgnarl/s-osinte__hpux-dce.ads \ | |
1240 s-parame.ads<libgnat/s-parame__hpux.ads \ | |
1241 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
1242 s-taprop.adb<libgnarl/s-taprop__hpux-dce.adb \ | |
1243 s-taspri.ads<libgnarl/s-taspri__hpux-dce.ads \ | |
1244 s-tpopsp.adb<libgnarl/s-tpopsp__posix.adb \ | |
1245 system.ads<libgnat/system-hpux.ads | |
1246 | |
1247 EH_MECHANISM=-gcc | |
1248 endif | |
1249 | |
1250 # HP/PA HP-UX 11 | |
1251 ifeq ($(strip $(filter-out hppa% hp hpux11%,$(target_cpu) $(target_vendor) $(target_os))),) | |
1252 LIBGNAT_TARGET_PAIRS = \ | |
1253 a-intnam.ads<libgnarl/a-intnam__hpux.ads \ | |
1254 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
1255 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
1256 s-osinte.adb<libgnarl/s-osinte__posix.adb \ | |
1257 s-osinte.ads<libgnarl/s-osinte__hpux.ads \ | |
1258 s-parame.ads<libgnat/s-parame__hpux.ads \ | |
1259 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
1260 s-traceb.adb<libgnat/s-traceb__hpux.adb \ | |
1261 s-taprop.adb<libgnarl/s-taprop__posix.adb \ | |
1262 s-taspri.ads<libgnarl/s-taspri__posix.ads \ | |
1263 s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \ | |
1264 system.ads<libgnat/system-hpux.ads | |
1265 | |
1266 EH_MECHANISM=-gcc | |
1267 TGT_LIB = /usr/lib/libcl.a | |
1268 THREADSLIB = -lpthread | |
1269 GMEM_LIB = gmemlib | |
1270 soext = .sl | |
1271 SO_OPTS = -Wl,+h, | |
1272 GNATLIB_SHARED = gnatlib-shared-dual | |
1273 LIBRARY_VERSION := $(LIB_VERSION) | |
1274 endif | |
1275 | |
1276 # IBM AIX | |
1277 ifeq ($(strip $(filter-out ibm aix%,$(target_vendor) $(target_os))),) | |
1278 LIBGNAT_TARGET_PAIRS = \ | |
1279 a-intnam.ads<libgnarl/a-intnam__aix.ads \ | |
1280 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
1281 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
1282 s-osinte.adb<libgnarl/s-osinte__aix.adb \ | |
1283 s-osinte.ads<libgnarl/s-osinte__aix.ads \ | |
1284 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
1285 s-taprop.adb<libgnarl/s-taprop__posix.adb \ | |
1286 s-taspri.ads<libgnarl/s-taspri__posix.ads \ | |
1287 s-tpopsp.adb<libgnarl/s-tpopsp__posix.adb \ | |
1288 $(ATOMICS_TARGET_PAIRS) \ | |
1289 $(ATOMICS_BUILTINS_TARGET_PAIRS) \ | |
1290 system.ads<libgnat/system-aix.ads | |
1291 | |
1292 ifeq ($(findstring ppc64, \ | |
1293 $(shell $(GCC_FOR_TARGET) $(GNATLIBCFLAGS) \ | |
1294 -print-multi-os-directory)), \ | |
1295 ppc64) | |
1296 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-aix.adb | |
1297 else | |
1298 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb | |
1299 endif | |
1300 | |
1301 THREADSLIB = -lpthreads | |
1302 EH_MECHANISM=-gcc | |
1303 | |
1304 GMEM_LIB = gmemlib | |
1305 endif | |
1306 | |
1307 # RTEMS | |
1308 ifeq ($(strip $(filter-out rtems%,$(target_os))),) | |
1309 LIBGNAT_TARGET_PAIRS = \ | |
1310 system.ads<libgnat/system-rtems.ads \ | |
1311 a-intnam.ads<libgnarl/a-intnam__rtems.ads \ | |
1312 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
1313 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
1314 s-osinte.adb<libgnarl/s-osinte__rtems.adb \ | |
1315 s-osinte.ads<libgnarl/s-osinte__rtems.ads \ | |
1316 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
1317 s-parame.adb<libgnat/s-parame__rtems.adb \ | |
1318 s-taprop.adb<libgnarl/s-taprop__posix.adb \ | |
1319 s-taspri.ads<libgnarl/s-taspri__posix.ads \ | |
1320 s-tpopsp.adb<libgnarl/s-tpopsp__tls.adb \ | |
1321 s-stchop.adb<libgnat/s-stchop__rtems.adb \ | |
1322 s-interr.adb<libgnarl/s-interr__hwint.adb | |
1323 endif | |
1324 | |
1325 # PikeOS | |
1326 ifeq ($(strip $(filter-out powerpc% %86 sysgo pikeos,$(target_cpu) $(target_vendor) $(target_os)))),) | |
1327 TOOLS_TARGET_PAIRS=indepsw.adb<indepsw-gnu.adb | |
1328 endif | |
1329 | |
1330 # *-elf, *-eabi, or *-eabispe | |
1331 ifeq ($(strip $(filter-out elf eabi eabispe,$(target_os))),) | |
1332 TOOLS_TARGET_PAIRS=indepsw.adb<indepsw-gnu.adb | |
1333 endif | |
1334 | |
1335 ifeq ($(strip $(filter-out %djgpp,$(target_os))),) | |
1336 GNATRTL_SOCKETS_OBJS = | |
1337 | |
1338 LIBGNAT_TARGET_PAIRS = \ | |
1339 a-intnam.ads<libgnarl/a-intnam__dummy.ads \ | |
1340 s-inmaop.adb<libgnarl/s-inmaop__dummy.adb \ | |
1341 s-intman.adb<libgnarl/s-intman__dummy.adb \ | |
1342 s-osinte.ads<libgnarl/s-osinte__dummy.ads \ | |
1343 s-osprim.adb<libgnat/s-osprim__unix.adb \ | |
1344 s-taprop.adb<libgnarl/s-taprop__dummy.adb \ | |
1345 s-taspri.ads<libgnarl/s-taspri__dummy.ads \ | |
1346 system.ads<libgnat/system-djgpp.ads \ | |
1347 $(DUMMY_SOCKETS_TARGET_PAIRS) | |
1348 | |
1349 EH_MECHANISM=-gcc | |
1350 endif | |
1351 | |
1352 # Cygwin/Mingw32 | |
1353 ifeq ($(strip $(filter-out cygwin% mingw32% pe,$(target_os))),) | |
1354 # Cygwin provides a full Posix environment, and so we use the default | |
1355 # versions of s-memory and g-socthi rather than the Windows-specific | |
1356 # MinGW versions. Ideally we would use all the default versions for | |
1357 # Cygwin and none of the MinGW versions, but for historical reasons | |
1358 # the Cygwin port has always been a CygMing frankenhybrid and it is | |
1359 # a long-term project to disentangle them. | |
1360 ifeq ($(strip $(filter-out cygwin%,$(target_os))),) | |
1361 LIBGNAT_TARGET_PAIRS = \ | |
1362 s-memory.adb<libgnat/s-memory.adb \ | |
1363 g-socthi.ads<libgnat/g-socthi.ads \ | |
1364 g-socthi.adb<libgnat/g-socthi.adb | |
1365 else | |
1366 LIBGNAT_TARGET_PAIRS = \ | |
1367 s-memory.adb<libgnat/s-memory__mingw.adb \ | |
1368 g-socthi.ads<libgnat/g-socthi__mingw.ads \ | |
1369 g-socthi.adb<libgnat/g-socthi__mingw.adb | |
1370 endif | |
1371 LIBGNAT_TARGET_PAIRS += \ | |
1372 a-dirval.adb<libgnat/a-dirval__mingw.adb \ | |
1373 a-excpol.adb<libgnat/a-excpol__abort.adb \ | |
1374 s-gloloc.adb<libgnat/s-gloloc__mingw.adb \ | |
1375 s-inmaop.adb<libgnarl/s-inmaop__dummy.adb \ | |
1376 s-taspri.ads<libgnarl/s-taspri__mingw.ads \ | |
1377 s-tasinf.adb<libgnarl/s-tasinf__mingw.adb \ | |
1378 s-tasinf.ads<libgnarl/s-tasinf__mingw.ads \ | |
1379 g-stsifd.adb<libgnat/g-stsifd__sockets.adb \ | |
1380 g-soliop.ads<libgnat/g-soliop__mingw.ads \ | |
1381 $(ATOMICS_TARGET_PAIRS) \ | |
1382 system.ads<libgnat/system-mingw.ads | |
1383 | |
1384 LIBGNAT_TARGET_PAIRS += \ | |
1385 a-exetim.adb<libgnarl/a-exetim__mingw.adb \ | |
1386 a-exetim.ads<libgnarl/a-exetim__mingw.ads \ | |
1387 a-intnam.ads<libgnarl/a-intnam__mingw.ads \ | |
1388 g-sercom.adb<libgnat/g-sercom__mingw.adb \ | |
1389 s-tsmona.adb<libgnat/s-tsmona__mingw.adb \ | |
1390 s-interr.adb<libgnarl/s-interr__sigaction.adb \ | |
1391 s-intman.adb<libgnarl/s-intman__mingw.adb \ | |
1392 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ | |
1393 s-osinte.ads<libgnarl/s-osinte__mingw.ads \ | |
1394 s-osprim.adb<libgnat/s-osprim__mingw.adb \ | |
1395 s-taprop.adb<libgnarl/s-taprop__mingw.adb | |
1396 | |
1397 ifeq ($(strip $(filter-out x86_64%,$(target_cpu))),) | |
1398 ifeq ($(strip $(MULTISUBDIR)),/32) | |
1399 LIBGNAT_TARGET_PAIRS += $(X86_TARGET_PAIRS) | |
1400 SO_OPTS= -m32 -Wl,-soname, | |
1401 else | |
1402 LIBGNAT_TARGET_PAIRS += $(X86_64_TARGET_PAIRS) | |
1403 SO_OPTS = -m64 -Wl,-soname, | |
1404 endif | |
1405 else | |
1406 ifeq ($(strip $(MULTISUBDIR)),/64) | |
1407 LIBGNAT_TARGET_PAIRS += $(X86_64_TARGET_PAIRS) | |
1408 SO_OPTS = -m64 -Wl,-soname, | |
1409 else | |
1410 LIBGNAT_TARGET_PAIRS += $(X86_TARGET_PAIRS) | |
1411 SO_OPTS = -m32 -Wl,-soname, | |
1412 endif | |
1413 endif | |
1414 | |
1415 EXTRA_GNATRTL_NONTASKING_OBJS += \ | |
1416 s-win32.o s-winext.o g-regist.o g-sse.o g-ssvety.o | |
1417 EXTRA_GNATRTL_TASKING_OBJS = a-exetim.o | |
1418 EXTRA_LIBGNAT_SRCS+=mingw32.h | |
1419 MISCLIB = -lws2_32 | |
1420 | |
1421 # ??? This will be replaced by gnatlib-shared-dual-win32 when GNAT | |
1422 # auto-import support for array/record will be done. | |
1423 GNATLIB_SHARED = gnatlib-shared-win32 | |
1424 | |
1425 EH_MECHANISM=-gcc | |
1426 | |
1427 TOOLS_TARGET_PAIRS=indepsw.adb<indepsw-gnu.adb | |
1428 | |
1429 GMEM_LIB = gmemlib | |
1430 EXTRA_GNATTOOLS = ../../gnatdll$(exeext) | |
1431 EXTRA_GNATMAKE_OBJS = mdll.o mdll-utl.o mdll-fil.o | |
1432 soext = .dll | |
1433 LIBRARY_VERSION := $(LIB_VERSION) | |
1434 endif | |
1435 | |
1436 # Mips Linux | |
1437 ifeq ($(strip $(filter-out mips% linux%,$(target_cpu) $(target_os))),) | |
1438 LIBGNAT_TARGET_PAIRS = \ | |
1439 a-intnam.ads<libgnarl/a-intnam__linux.ads \ | |
1440 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
1441 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
1442 s-linux.ads<libgnarl/s-linux__mips.ads \ | |
1443 s-osinte.adb<libgnarl/s-osinte__posix.adb \ | |
1444 s-osinte.ads<libgnarl/s-osinte__linux.ads \ | |
1445 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
1446 s-taprop.adb<libgnarl/s-taprop__linux.adb \ | |
1447 s-tasinf.ads<libgnarl/s-tasinf__linux.ads \ | |
1448 s-tasinf.adb<libgnarl/s-tasinf__linux.adb \ | |
1449 s-taspri.ads<libgnarl/s-taspri__posix-noaltstack.ads \ | |
1450 s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \ | |
1451 g-sercom.adb<libgnat/g-sercom__linux.adb \ | |
1452 system.ads<libgnat/system-linux-mips.ads | |
1453 | |
1454 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb | |
1455 | |
1456 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o | |
1457 EH_MECHANISM=-gcc | |
1458 THREADSLIB = -lpthread | |
1459 GNATLIB_SHARED = gnatlib-shared-dual | |
1460 GMEM_LIB = gmemlib | |
1461 LIBRARY_VERSION := $(LIB_VERSION) | |
1462 endif | |
1463 | |
1464 # PowerPC and e500v2 Linux | |
1465 ifeq ($(strip $(filter-out powerpc% linux%,$(target_cpu) $(target_os))),) | |
1466 LIBGNAT_TARGET_PAIRS_COMMON = \ | |
1467 a-exetim.adb<libgnarl/a-exetim__posix.adb \ | |
1468 a-exetim.ads<libgnarl/a-exetim__default.ads \ | |
1469 a-intnam.ads<libgnarl/a-intnam__linux.ads \ | |
1470 a-synbar.adb<libgnarl/a-synbar__posix.adb \ | |
1471 a-synbar.ads<libgnarl/a-synbar__posix.ads \ | |
1472 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
1473 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
1474 s-linux.ads<libgnarl/s-linux.ads \ | |
1475 s-osinte.adb<libgnarl/s-osinte__posix.adb \ | |
1476 s-tpopsp.adb<libgnarl/s-tpopsp__tls.adb \ | |
1477 g-sercom.adb<libgnat/g-sercom__linux.adb \ | |
1478 $(ATOMICS_TARGET_PAIRS) \ | |
1479 $(ATOMICS_BUILTINS_TARGET_PAIRS) \ | |
1480 system.ads<libgnat/system-linux-ppc.ads | |
1481 | |
1482 LIBGNAT_TARGET_PAIRS = \ | |
1483 $(LIBGNAT_TARGET_PAIRS_COMMON) \ | |
1484 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ | |
1485 s-osinte.ads<libgnarl/s-osinte__linux.ads \ | |
1486 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
1487 s-taprop.adb<libgnarl/s-taprop__linux.adb \ | |
1488 s-tasinf.ads<libgnarl/s-tasinf__linux.ads \ | |
1489 s-tasinf.adb<libgnarl/s-tasinf__linux.adb \ | |
1490 s-taspri.ads<libgnarl/s-taspri__posix-noaltstack.ads | |
1491 | |
1492 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb | |
1493 | |
1494 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o a-exetim.o | |
1495 | |
1496 EH_MECHANISM=-gcc | |
1497 THREADSLIB = -lpthread -lrt | |
1498 GNATLIB_SHARED = gnatlib-shared-dual | |
1499 GMEM_LIB = gmemlib | |
1500 LIBRARY_VERSION := $(LIB_VERSION) | |
1501 endif | |
1502 | |
1503 # ARM linux, GNU eabi | |
1504 ifeq ($(strip $(filter-out arm% linux-gnueabi%,$(target_cpu) $(target_os))),) | |
1505 LIBGNAT_TARGET_PAIRS = \ | |
1506 a-intnam.ads<libgnarl/a-intnam__linux.ads \ | |
1507 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
1508 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
1509 s-linux.ads<libgnarl/s-linux.ads \ | |
1510 s-osinte.adb<libgnarl/s-osinte__posix.adb \ | |
1511 s-osinte.ads<libgnarl/s-osinte__linux.ads \ | |
1512 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
1513 s-taprop.adb<libgnarl/s-taprop__linux.adb \ | |
1514 s-tasinf.ads<libgnarl/s-tasinf__linux.ads \ | |
1515 s-tasinf.adb<libgnarl/s-tasinf__linux.adb \ | |
1516 s-taspri.ads<libgnarl/s-taspri__posix-noaltstack.ads \ | |
1517 s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \ | |
1518 $(ATOMICS_TARGET_PAIRS) \ | |
1519 $(ATOMICS_BUILTINS_TARGET_PAIRS) \ | |
1520 system.ads<libgnat/system-linux-arm.ads | |
1521 | |
1522 ifeq ($(strip $(filter-out arm%b,$(target_cpu))),) | |
1523 EH_MECHANISM= | |
1524 else | |
1525 EH_MECHANISM=-arm | |
1526 endif | |
1527 | |
1528 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb | |
1529 | |
1530 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o | |
1531 THREADSLIB = -lpthread | |
1532 GNATLIB_SHARED = gnatlib-shared-dual | |
1533 GMEM_LIB = gmemlib | |
1534 LIBRARY_VERSION := $(LIB_VERSION) | |
1535 endif | |
1536 | |
1537 # AArch64 Linux | |
1538 ifeq ($(strip $(filter-out aarch64% linux%,$(target_cpu) $(target_os))),) | |
1539 LIBGNAT_TARGET_PAIRS = \ | |
1540 a-exetim.adb<libgnarl/a-exetim__posix.adb \ | |
1541 a-exetim.ads<libgnarl/a-exetim__default.ads \ | |
1542 a-intnam.ads<libgnarl/a-intnam__linux.ads \ | |
1543 a-synbar.adb<libgnarl/a-synbar__posix.adb \ | |
1544 a-synbar.ads<libgnarl/a-synbar__posix.ads \ | |
1545 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
1546 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
1547 s-linux.ads<libgnarl/s-linux.ads \ | |
1548 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ | |
1549 s-osinte.ads<libgnarl/s-osinte__linux.ads \ | |
1550 s-osinte.adb<libgnarl/s-osinte__posix.adb \ | |
1551 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
1552 s-taprop.adb<libgnarl/s-taprop__linux.adb \ | |
1553 s-tasinf.ads<libgnarl/s-tasinf__linux.ads \ | |
1554 s-tasinf.adb<libgnarl/s-tasinf__linux.adb \ | |
1555 s-tpopsp.adb<libgnarl/s-tpopsp__tls.adb \ | |
1556 s-taspri.ads<libgnarl/s-taspri__posix.ads \ | |
1557 g-sercom.adb<libgnat/g-sercom__linux.adb \ | |
1558 $(ATOMICS_TARGET_PAIRS) \ | |
1559 $(ATOMICS_BUILTINS_TARGET_PAIRS) \ | |
1560 system.ads<libgnat/system-linux-arm.ads | |
1561 | |
1562 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb | |
1563 | |
1564 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o a-exetim.o | |
1565 EH_MECHANISM=-gcc | |
1566 THREADSLIB=-lpthread -lrt | |
1567 GNATLIB_SHARED=gnatlib-shared-dual | |
1568 GMEM_LIB = gmemlib | |
1569 LIBRARY_VERSION := $(LIB_VERSION) | |
1570 endif | |
1571 | |
1572 # Sparc Linux | |
1573 ifeq ($(strip $(filter-out sparc% linux%,$(target_cpu) $(target_os))),) | |
1574 LIBGNAT_TARGET_PAIRS = \ | |
1575 a-intnam.ads<libgnarl/a-intnam__linux.ads \ | |
1576 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
1577 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
1578 s-linux.ads<libgnarl/s-linux__sparc.ads \ | |
1579 s-osinte.adb<libgnarl/s-osinte__posix.adb \ | |
1580 s-osinte.ads<libgnarl/s-osinte__linux.ads \ | |
1581 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
1582 s-taprop.adb<libgnarl/s-taprop__linux.adb \ | |
1583 s-tasinf.ads<libgnarl/s-tasinf__linux.ads \ | |
1584 s-tasinf.adb<libgnarl/s-tasinf__linux.adb \ | |
1585 s-taspri.ads<libgnarl/s-taspri__posix-noaltstack.ads \ | |
1586 s-tpopsp.adb<libgnarl/s-tpopsp__tls.adb \ | |
1587 system.ads<libgnat/system-linux-sparc.ads | |
1588 | |
1589 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb | |
1590 | |
1591 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o | |
1592 EH_MECHANISM=-gcc | |
1593 THREADSLIB = -lpthread | |
1594 GNATLIB_SHARED = gnatlib-shared-dual | |
1595 GMEM_LIB = gmemlib | |
1596 LIBRARY_VERSION := $(LIB_VERSION) | |
1597 endif | |
1598 | |
1599 # HP/PA Linux | |
1600 ifeq ($(strip $(filter-out hppa% linux%,$(target_cpu) $(target_os))),) | |
1601 LIBGNAT_TARGET_PAIRS = \ | |
1602 a-intnam.ads<libgnarl/a-intnam__linux.ads \ | |
1603 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
1604 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
1605 s-linux.ads<libgnarl/s-linux__hppa.ads \ | |
1606 s-osinte.adb<libgnarl/s-osinte__posix.adb \ | |
1607 s-osinte.ads<libgnarl/s-osinte__linux.ads \ | |
1608 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
1609 s-taprop.adb<libgnarl/s-taprop__linux.adb \ | |
1610 s-tasinf.ads<libgnarl/s-tasinf__linux.ads \ | |
1611 s-tasinf.adb<libgnarl/s-tasinf__linux.adb \ | |
1612 s-taspri.ads<libgnarl/s-taspri__posix-noaltstack.ads \ | |
1613 s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \ | |
1614 system.ads<libgnat/system-linux-hppa.ads | |
1615 | |
1616 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb | |
1617 | |
1618 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o | |
1619 EH_MECHANISM=-gcc | |
1620 THREADSLIB = -lpthread | |
1621 GNATLIB_SHARED = gnatlib-shared-dual | |
1622 GMEM_LIB = gmemlib | |
1623 LIBRARY_VERSION := $(LIB_VERSION) | |
1624 endif | |
1625 | |
1626 # M68K Linux | |
1627 ifeq ($(strip $(filter-out m68k% linux%,$(target_cpu) $(target_os))),) | |
1628 LIBGNAT_TARGET_PAIRS = \ | |
1629 a-intnam.ads<libgnarl/a-intnam__linux.ads \ | |
1630 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
1631 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
1632 s-linux.ads<libgnat/s-linux.ads \ | |
1633 s-osinte.adb<libgnarl/s-osinte__posix.adb \ | |
1634 s-osinte.ads<libgnarl/s-osinte__linux.ads \ | |
1635 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
1636 s-taprop.adb<libgnarl/s-taprop__linux.adb \ | |
1637 s-tasinf.ads<libgnarl/s-tasinf__linux.ads \ | |
1638 s-tasinf.adb<libgnarl/s-tasinf__linux.adb \ | |
1639 s-taspri.ads<libgnarl/s-taspri__posix.ads \ | |
1640 s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \ | |
1641 system.ads<libgnat/system-linux-m68k.ads | |
1642 | |
1643 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb | |
1644 | |
1645 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o | |
1646 EH_MECHANISM=-gcc | |
1647 THREADSLIB = -lpthread | |
1648 GNATLIB_SHARED = gnatlib-shared-dual | |
1649 GMEM_LIB = gmemlib | |
1650 LIBRARY_VERSION := $(LIB_VERSION) | |
1651 endif | |
1652 | |
1653 # SH4 Linux | |
1654 ifeq ($(strip $(filter-out sh4% linux%,$(target_cpu) $(target_os))),) | |
1655 LIBGNAT_TARGET_PAIRS = \ | |
1656 a-intnam.ads<libgnarl/a-intnam__linux.ads \ | |
1657 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
1658 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
1659 s-linux.ads<libgnarl/s-linux.ads \ | |
1660 s-osinte.adb<libgnarl/s-osinte__posix.adb \ | |
1661 s-osinte.ads<libgnarl/s-osinte__linux.ads \ | |
1662 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
1663 s-taprop.adb<libgnarl/s-taprop__linux.adb \ | |
1664 s-tasinf.ads<libgnarl/s-tasinf__linux.ads \ | |
1665 s-tasinf.adb<libgnarl/s-tasinf__linux.adb \ | |
1666 s-taspri.ads<libgnarl/s-taspri__posix-noaltstack.ads \ | |
1667 s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \ | |
1668 system.ads<libgnat/system-linux-sh4.ads | |
1669 | |
1670 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-linux.adb | |
1671 | |
1672 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o | |
1673 EH_MECHANISM=-gcc | |
1674 MISCLIB= | |
1675 THREADSLIB = -lpthread | |
1676 GNATLIB_SHARED = gnatlib-shared-dual | |
1677 GMEM_LIB = gmemlib | |
1678 LIBRARY_VERSION := $(LIB_VERSION) | |
1679 endif | |
1680 | |
1681 # IA64 Linux | |
1682 ifeq ($(strip $(filter-out %ia64 linux%,$(target_cpu) $(target_os))),) | |
1683 LIBGNAT_TARGET_PAIRS = \ | |
1684 a-exetim.adb<libgnarl/a-exetim__posix.adb \ | |
1685 a-exetim.ads<libgnarl/a-exetim__default.ads \ | |
1686 a-intnam.ads<libgnarl/a-intnam__linux.ads \ | |
1687 a-numaux.ads<libgnat/a-numaux__libc-x86.ads \ | |
1688 a-synbar.adb<libgnarl/a-synbar__posix.adb \ | |
1689 a-synbar.ads<libgnarl/a-synbar__posix.ads \ | |
1690 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
1691 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
1692 s-linux.ads<libgnarl/s-linux.ads \ | |
1693 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ | |
1694 s-osinte.ads<libgnarl/s-osinte__linux.ads \ | |
1695 s-osinte.adb<libgnarl/s-osinte__posix.adb \ | |
1696 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
1697 s-taprop.adb<libgnarl/s-taprop__linux.adb \ | |
1698 s-tasinf.ads<libgnarl/s-tasinf__linux.ads \ | |
1699 s-tasinf.adb<libgnarl/s-tasinf__linux.adb \ | |
1700 s-tpopsp.adb<libgnarl/s-tpopsp__tls.adb \ | |
1701 s-taspri.ads<libgnarl/s-taspri__posix-noaltstack.ads \ | |
1702 g-sercom.adb<libgnat/g-sercom__linux.adb \ | |
1703 $(ATOMICS_TARGET_PAIRS) \ | |
1704 $(ATOMICS_BUILTINS_TARGET_PAIRS) \ | |
1705 system.ads<libgnat/system-linux-ia64.ads | |
1706 | |
1707 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb | |
1708 | |
1709 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o a-exetim.o | |
1710 EH_MECHANISM=-gcc | |
1711 MISCLIB= | |
1712 THREADSLIB=-lpthread -lrt | |
1713 GNATLIB_SHARED=gnatlib-shared-dual | |
1714 GMEM_LIB = gmemlib | |
1715 LIBRARY_VERSION := $(LIB_VERSION) | |
1716 endif | |
1717 | |
1718 # IA64 HP-UX | |
1719 ifeq ($(strip $(filter-out ia64% hp hpux%,$(target_cpu) $(target_vendor) $(target_os))),) | |
1720 LIBGNAT_TARGET_PAIRS = \ | |
1721 a-intnam.ads<libgnarl/a-intnam__hpux.ads \ | |
1722 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
1723 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
1724 s-osinte.adb<libgnarl/s-osinte__posix.adb \ | |
1725 s-osinte.ads<libgnarl/s-osinte__hpux.ads \ | |
1726 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
1727 s-taprop.adb<libgnarl/s-taprop__posix.adb \ | |
1728 s-taspri.ads<libgnarl/s-taspri__posix.ads \ | |
1729 s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \ | |
1730 $(ATOMICS_TARGET_PAIRS) \ | |
1731 $(ATOMICS_BUILTINS_TARGET_PAIRS) \ | |
1732 system.ads<libgnat/system-hpux-ia64.ads | |
1733 | |
1734 MISCLIB= | |
1735 EH_MECHANISM=-gcc | |
1736 THREADSLIB=-lpthread | |
1737 GNATLIB_SHARED=gnatlib-shared-dual | |
1738 GMEM_LIB = gmemlib | |
1739 soext = .so | |
1740 SO_OPTS = -Wl,+h, | |
1741 LIBRARY_VERSION := $(LIB_VERSION) | |
1742 endif | |
1743 | |
1744 # Alpha Linux | |
1745 ifeq ($(strip $(filter-out alpha% linux%,$(target_cpu) $(target_os))),) | |
1746 LIBGNAT_TARGET_PAIRS = \ | |
1747 a-intnam.ads<libgnarl/a-intnam__linux.ads \ | |
1748 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
1749 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
1750 s-linux.ads<libgnarl/s-linux__alpha.ads \ | |
1751 s-osinte.ads<libgnarl/s-osinte__linux.ads \ | |
1752 s-osinte.adb<libgnarl/s-osinte__posix.adb \ | |
1753 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
1754 s-taprop.adb<libgnarl/s-taprop__linux.adb \ | |
1755 s-tasinf.ads<libgnarl/s-tasinf__linux.ads \ | |
1756 s-tasinf.adb<libgnarl/s-tasinf__linux.adb \ | |
1757 s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \ | |
1758 s-taspri.ads<libgnarl/s-taspri__posix-noaltstack.ads \ | |
1759 $(ATOMICS_TARGET_PAIRS) \ | |
1760 $(ATOMICS_BUILTINS_TARGET_PAIRS) \ | |
1761 system.ads<libgnat/system-linux-alpha.ads | |
1762 | |
1763 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb | |
1764 | |
1765 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o | |
1766 EH_MECHANISM=-gcc | |
1767 MISCLIB= | |
1768 THREADSLIB=-lpthread | |
1769 GNATLIB_SHARED=gnatlib-shared-dual | |
1770 LIBRARY_VERSION := $(LIB_VERSION) | |
1771 endif | |
1772 | |
1773 # x86-64 Linux | |
1774 ifeq ($(strip $(filter-out %x86_64 linux%,$(target_cpu) $(target_os))),) | |
1775 LIBGNAT_TARGET_PAIRS = \ | |
1776 a-exetim.adb<libgnarl/a-exetim__posix.adb \ | |
1777 a-exetim.ads<libgnarl/a-exetim__default.ads \ | |
1778 a-intnam.ads<libgnarl/a-intnam__linux.ads \ | |
1779 a-synbar.adb<libgnarl/a-synbar__posix.adb \ | |
1780 a-synbar.ads<libgnarl/a-synbar__posix.ads \ | |
1781 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
1782 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
1783 s-linux.ads<libgnarl/s-linux.ads \ | |
1784 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ | |
1785 s-osinte.ads<libgnarl/s-osinte__linux.ads \ | |
1786 s-osinte.adb<libgnarl/s-osinte__posix.adb \ | |
1787 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
1788 s-taprop.adb<libgnarl/s-taprop__linux.adb \ | |
1789 s-tasinf.ads<libgnarl/s-tasinf__linux.ads \ | |
1790 s-tasinf.adb<libgnarl/s-tasinf__linux.adb \ | |
1791 s-tpopsp.adb<libgnarl/s-tpopsp__tls.adb \ | |
1792 s-taspri.ads<libgnarl/s-taspri__posix.ads \ | |
1793 g-sercom.adb<libgnat/g-sercom__linux.adb \ | |
1794 $(TRASYM_DWARF_UNIX_PAIRS) \ | |
1795 s-tsmona.adb<libgnat/s-tsmona__linux.adb \ | |
1796 $(ATOMICS_TARGET_PAIRS) \ | |
1797 $(X86_64_TARGET_PAIRS) \ | |
1798 system.ads<libgnat/system-linux-x86.ads | |
1799 | |
1800 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb | |
1801 | |
1802 EXTRA_GNATRTL_NONTASKING_OBJS += g-sse.o g-ssvety.o | |
1803 EXTRA_GNATRTL_NONTASKING_OBJS += $(TRASYM_DWARF_UNIX_OBJS) | |
1804 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o a-exetim.o | |
1805 | |
1806 EH_MECHANISM=-gcc | |
1807 THREADSLIB=-lpthread -lrt | |
1808 MISCLIB = -ldl | |
1809 GNATLIB_SHARED=gnatlib-shared-dual | |
1810 GMEM_LIB = gmemlib | |
1811 LIBRARY_VERSION := $(LIB_VERSION) | |
1812 endif | |
1813 | |
1814 ifeq ($(strip $(filter-out %x32 linux%,$(target_cpu) $(target_os))),) | |
1815 LIBGNAT_TARGET_PAIRS = \ | |
1816 a-exetim.adb<libgnarl/a-exetim__posix.adb \ | |
1817 a-exetim.ads<libgnarl/a-exetim__default.ads \ | |
1818 a-intnam.ads<libgnarl/a-intnam__linux.ads \ | |
1819 a-synbar.adb<libgnarl/a-synbar__posix.adb \ | |
1820 a-synbar.ads<libgnarl/a-synbar__posix.ads \ | |
1821 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
1822 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
1823 s-linux.ads<libgnarl/s-linux__x32.ads \ | |
1824 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ | |
1825 s-osinte.ads<libgnarl/s-osinte__linux.ads \ | |
1826 s-osinte.adb<libgnarl/s-osinte__x32.adb \ | |
1827 s-osprim.adb<libgnat/s-osprim__x32.adb \ | |
1828 s-taprop.adb<libgnarl/s-taprop__linux.adb \ | |
1829 s-tasinf.ads<libgnarl/s-tasinf__linux.ads \ | |
1830 s-tasinf.adb<libgnarl/s-tasinf__linux.adb \ | |
1831 s-tpopsp.adb<libgnarl/s-tpopsp__tls.adb \ | |
1832 s-taspri.ads<libgnarl/s-taspri__posix.ads \ | |
1833 g-sercom.adb<libgnat/g-sercom__linux.adb \ | |
1834 $(ATOMICS_TARGET_PAIRS) \ | |
1835 $(X86_64_TARGET_PAIRS) \ | |
1836 system.ads<libgnat/system-linux-x86.ads | |
1837 | |
1838 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb | |
1839 | |
1840 EXTRA_GNATRTL_NONTASKING_OBJS=g-sse.o g-ssvety.o | |
1841 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o a-exetim.o | |
1842 EH_MECHANISM=-gcc | |
1843 THREADSLIB=-lpthread -lrt | |
1844 GNATLIB_SHARED=gnatlib-shared-dual | |
1845 GMEM_LIB = gmemlib | |
1846 LIBRARY_VERSION := $(LIB_VERSION) | |
1847 endif | |
1848 | |
1849 # Darwin (Mac OS X) | |
1850 ifeq ($(strip $(filter-out darwin%,$(target_os))),) | |
1851 SO_OPTS = -shared-libgcc | |
1852 LIBGNAT_TARGET_PAIRS = \ | |
1853 a-intnam.ads<libgnarl/a-intnam__darwin.ads \ | |
1854 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
1855 s-osinte.adb<libgnarl/s-osinte__darwin.adb \ | |
1856 s-osinte.ads<libgnarl/s-osinte__darwin.ads \ | |
1857 s-taprop.adb<libgnarl/s-taprop__posix.adb \ | |
1858 s-taspri.ads<libgnarl/s-taspri__posix.ads \ | |
1859 g-sercom.adb<libgnat/g-sercom__linux.adb \ | |
1860 s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb | |
1861 | |
1862 ifeq ($(strip $(filter-out %86,$(target_cpu))),) | |
1863 LIBGNAT_TARGET_PAIRS += \ | |
1864 s-intman.adb<libgnarl/s-intman__susv3.adb \ | |
1865 s-osprim.adb<libgnat/s-osprim__darwin.adb \ | |
1866 $(ATOMICS_TARGET_PAIRS) \ | |
1867 system.ads<libgnat/system-darwin-x86.ads | |
1868 | |
1869 ifeq ($(strip $(MULTISUBDIR)),/x86_64) | |
1870 SO_OPTS += -m64 | |
1871 LIBGNAT_TARGET_PAIRS += $(X86_64_TARGET_PAIRS) | |
1872 else | |
1873 LIBGNAT_TARGET_PAIRS += $(X86_TARGET_PAIRS) | |
1874 endif | |
1875 | |
1876 EXTRA_GNATRTL_NONTASKING_OBJS=g-sse.o g-ssvety.o | |
1877 endif | |
1878 | |
1879 ifeq ($(strip $(filter-out %x86_64,$(target_cpu))),) | |
1880 LIBGNAT_TARGET_PAIRS += \ | |
1881 s-intman.adb<libgnarl/s-intman__susv3.adb \ | |
1882 s-osprim.adb<libgnat/s-osprim__darwin.adb \ | |
1883 a-exetim.ads<libgnarl/a-exetim__default.ads \ | |
1884 a-exetim.adb<libgnarl/a-exetim__darwin.adb \ | |
1885 $(ATOMICS_TARGET_PAIRS) \ | |
1886 system.ads<libgnat/system-darwin-x86.ads | |
1887 | |
1888 ifeq ($(strip $(MULTISUBDIR)),/i386) | |
1889 SO_OPTS += -m32 | |
1890 LIBGNAT_TARGET_PAIRS += $(X86_TARGET_PAIRS) | |
1891 else | |
1892 LIBGNAT_TARGET_PAIRS += $(X86_64_TARGET_PAIRS) | |
1893 endif | |
1894 | |
1895 EXTRA_GNATRTL_NONTASKING_OBJS=g-sse.o g-ssvety.o | |
1896 EXTRA_GNATRTL_TASKING_OBJS=a-exetim.o | |
1897 endif | |
1898 | |
1899 ifeq ($(strip $(filter-out powerpc%,$(target_cpu))),) | |
1900 LIBGNAT_TARGET_PAIRS += \ | |
1901 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
1902 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
1903 a-numaux.ads<libgnat/a-numaux__darwin.ads \ | |
1904 a-numaux.adb<libgnat/a-numaux__darwin.adb \ | |
1905 $(ATOMICS_TARGET_PAIRS) \ | |
1906 $(ATOMICS_BUILTINS_TARGET_PAIRS) \ | |
1907 system.ads<libgnat/system-darwin-ppc.ads | |
1908 | |
1909 ifeq ($(strip $(MULTISUBDIR)),/ppc64) | |
1910 SO_OPTS += -m64 | |
1911 endif | |
1912 endif | |
1913 | |
1914 ifeq ($(strip $(filter-out arm,$(target_cpu))),) | |
1915 LIBGNAT_TARGET_PAIRS += \ | |
1916 s-intman.adb<libgnarl/s-intman__susv3.adb \ | |
1917 s-osprim.adb<libgnat/s-osprim__darwin.adb \ | |
1918 $(ATOMICS_TARGET_PAIRS) \ | |
1919 $(ATOMICS_BUILTINS_TARGET_PAIRS) | |
1920 | |
1921 LIBGNAT_TARGET_PAIRS += \ | |
1922 system.ads<libgnat/system-darwin-arm.ads | |
1923 endif | |
1924 | |
1925 ifeq ($(strip $(filter-out arm64 aarch64,$(target_cpu))),) | |
1926 LIBGNAT_TARGET_PAIRS += \ | |
1927 s-intman.adb<libgnarl/s-intman__susv3.adb \ | |
1928 s-osprim.adb<libgnat/s-osprim__darwin.adb \ | |
1929 $(ATOMICS_TARGET_PAIRS) \ | |
1930 $(ATOMICS_BUILTINS_TARGET_PAIRS) | |
1931 | |
1932 EXTRA_LIBGNAT_OBJS+=sigtramp-ios.o | |
1933 EXTRA_LIBGNAT_SRCS+=sigtramp.h | |
1934 LIBGNAT_TARGET_PAIRS += \ | |
1935 system.ads<libgnat/system-darwin-arm.ads | |
1936 endif | |
1937 | |
1938 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-darwin.adb | |
1939 | |
1940 EH_MECHANISM=-gcc | |
1941 GNATLIB_SHARED = gnatlib-shared-darwin | |
1942 GMEM_LIB = gmemlib | |
1943 LIBRARY_VERSION := $(LIB_VERSION) | |
1944 soext = .dylib | |
1945 GCC_LINK_FLAGS=-static-libstdc++ | |
1946 endif | |
1947 | |
1948 ifeq ($(EH_MECHANISM),-gcc) | |
1949 LIBGNAT_TARGET_PAIRS += \ | |
1950 s-excmac.ads<libgnat/s-excmac__gcc.ads \ | |
1951 s-excmac.adb<libgnat/s-excmac__gcc.adb | |
1952 EXTRA_LIBGNAT_OBJS+=raise-gcc.o | |
1953 EXTRA_GNATRTL_NONTASKING_OBJS+=g-cppexc.o s-excmac.o | |
1954 endif | |
1955 | |
1956 ifeq ($(EH_MECHANISM),-arm) | |
1957 LIBGNAT_TARGET_PAIRS += \ | |
1958 s-excmac.ads<libgnat/s-excmac__arm.ads \ | |
1959 s-excmac.adb<libgnat/s-excmac__arm.adb | |
1960 EXTRA_LIBGNAT_OBJS+=raise-gcc.o | |
1961 EXTRA_GNATRTL_NONTASKING_OBJS+=g-cppexc.o s-excmac.o | |
1962 endif | |
1963 | |
1964 # Configuration of host tools | |
1965 | |
1966 # Under linux, host tools need to be linked with -ldl | |
1967 | |
1968 ifeq ($(strip $(filter-out linux%,$(host_os))),) | |
1969 TOOLS1_LIBS=-ldl | |
1970 endif | |
1971 | |
1972 # LIBGNAT_SRCS is the list of all C files (including headers) of the runtime | |
1973 # library. LIBGNAT_OBJS is the list of object files for libgnat. | |
1974 # thread.c is special as put into GNATRTL_TASKING_OBJS by Makefile.rtl | |
1975 LIBGNAT_OBJS = adadecode.o adaint.o argv.o aux-io.o \ | |
1976 cal.o cio.o cstreams.o ctrl_c.o \ | |
1977 env.o errno.o exit.o expect.o final.o rtfinal.o rtinit.o \ | |
1978 init.o initialize.o locales.o mkdir.o \ | |
1979 raise.o seh_init.o socket.o sysdep.o \ | |
1980 targext.o terminals.o tracebak.o \ | |
1981 $(EXTRA_LIBGNAT_OBJS) | |
1982 | |
1983 # NOTE ??? - when the -I option for compiling Ada code is made to work, | |
1984 # the library installation will change and there will be a | |
1985 # GNAT_RTL_SRCS. Right now we count on being able to build GNATRTL_OBJS | |
1986 # from ADA_INCLUDE_SRCS. | |
1987 | |
1988 LIBGNAT_SRCS = $(patsubst %.o,%.c,$(LIBGNAT_OBJS)) \ | |
1989 adadecode.h adaint.h env.h gsocket.h raise.h standard.ads.h \ | |
1990 tb-gcc.c libgnarl/thread.c $(EXTRA_LIBGNAT_SRCS) | |
1991 | |
1992 # GNATRTL_NONTASKING_OBJS and GNATRTL_TASKING_OBJS can be found in | |
1993 # the following include file: | |
1994 | |
1995 include $(fsrcdir)/ada/Makefile.rtl | |
1996 | |
1997 # memtrack.o is special as not put into libgnat. | |
1998 GNATRTL_OBJS = $(GNATRTL_NONTASKING_OBJS) $(GNATRTL_TASKING_OBJS) \ | |
1999 memtrack.o | |
2000 | |
2001 # Run time source files | |
2002 # Note that libgnat contains a significant number of files. In orde to avoid | |
2003 # command line length limitations the source regexp has been split for that | |
2004 # directory. | |
2005 ADA_INCLUDE_SRCS =\ | |
2006 libgnat/ada.ads libgnat/calendar.ads libgnat/directio.ads libgnat/gnat.ads libgnat/interfac.ads libgnat/ioexcept.ads \ | |
2007 libgnat/machcode.ads libgnat/text_io.ads libgnat/unchconv.ads libgnat/unchdeal.ads \ | |
2008 libgnat/sequenio.ads libgnat/system.ads libgnat/memtrack.adb \ | |
2009 libgnat/a-[a-o]*.adb libgnat/a-[a-o]*.ads \ | |
2010 libgnat/a-[p-z]*.adb libgnat/a-[p-z]*.ads \ | |
2011 libgnat/g-[a-o]*.adb libgnat/g-[a-o]*.ads \ | |
2012 libgnat/g-[p-z]*.adb libgnat/g-[p-z]*.ads \ | |
2013 libgnat/s-[a-o]*.adb libgnat/s-[a-o]*.ads \ | |
2014 libgnat/s-[p-z]*.adb libgnat/s-[p-z]*.ads \ | |
2015 libgnat/i-[a-o]*.adb libgnat/i-[a-o]*.ads \ | |
2016 libgnat/i-[p-z]*.adb libgnat/i-[p-z]*.ads \ | |
2017 libgnarl/[agis]-[a-z]*.ad[sb] | |
2018 | |
2019 # Files that are in ADA_INCLUDE_SRCS but not in all configurations. | |
2020 # They will be removed from the run time if not used. | |
2021 ADA_EXCLUDE_SRCS =\ | |
2022 g-allein.ads g-alleve.adb g-alleve.ads g-altcon.adb g-altcon.ads \ | |
2023 g-altive.ads g-alveop.adb g-alveop.ads g-alvety.ads g-alvevi.ads \ | |
2024 g-intpri.ads g-regist.adb g-regist.ads g-sse.ads g-ssvety.ads \ | |
2025 i-vxinco.adb i-vxinco.ads i-vxwoio.adb i-vxwoio.ads i-vxwork.ads \ | |
2026 s-bb.ads s-bbbosu.ads s-bbcaco.ads s-bbcppr.ads s-bbexti.adb \ | |
2027 s-bbexti.ads s-bbinte.adb s-bbinte.ads s-bbprot.adb s-bbprot.ads \ | |
2028 s-bbsle3.ads s-bbsuer.ads s-bbsule.ads s-bbthqu.adb s-bbthqu.ads \ | |
2029 s-bbthre.adb s-bbthre.ads s-bbtiev.adb s-bbtiev.ads s-bbtime.adb \ | |
2030 s-bbtime.ads s-bcprmu.adb s-bcprmu.ads s-btstch.adb s-btstch.ads \ | |
2031 s-gcc.adb s-gcc.ads s-gccdiv.adb s-gccdiv.ads \ | |
2032 s-gccshi.adb s-gccshi.ads \ | |
2033 s-init.ads s-init.adb s-linux.ads s-macres.ads \ | |
2034 s-memcom.adb s-memcom.ads s-memmov.adb s-memmov.ads s-memset.adb \ | |
2035 s-memset.ads s-mufalo.adb s-mufalo.ads s-musplo.adb s-musplo.ads \ | |
2036 s-sam4.ads s-sopco3.adb s-sopco3.ads s-sopco4.adb s-sopco4.ads \ | |
2037 s-sopco5.adb s-sopco5.ads s-stchop.ads s-stchop.adb s-stm32.ads \ | |
2038 s-strcom.adb s-strcom.ads s-thread.ads \ | |
2039 s-vxwext.adb s-vxwext.ads \ | |
2040 s-win32.ads s-winext.ads | |
2041 | |
2042 # ADA_EXCLUDE_SRCS without the sources used by the target | |
2043 ADA_EXCLUDE_FILES=$(filter-out \ | |
2044 $(patsubst %$(objext),%.ads,$(GNATRTL_OBJS)) \ | |
2045 $(patsubst %$(objext),%.adb,$(GNATRTL_OBJS)), \ | |
2046 $(ADA_EXCLUDE_SRCS)) | |
2047 | |
2048 LIBGNAT=../$(RTSDIR)/libgnat.a | |
2049 | |
2050 TOOLS_FLAGS_TO_PASS= \ | |
2051 "CC=$(CC)" \ | |
2052 "CFLAGS=$(CFLAGS)" \ | |
2053 "LDFLAGS=$(LDFLAGS)" \ | |
2054 "ADAFLAGS=$(ADAFLAGS)" \ | |
2055 "INCLUDES=$(INCLUDES_FOR_SUBDIR)"\ | |
2056 "ADA_INCLUDES=$(ADA_INCLUDES) $(ADA_INCLUDES_FOR_SUBDIR)"\ | |
2057 "libsubdir=$(libsubdir)" \ | |
2058 "exeext=$(exeext)" \ | |
2059 "fsrcdir=$(fsrcdir)" \ | |
2060 "srcdir=$(fsrcdir)" \ | |
2061 "TOOLS_LIBS=$(TOOLS_LIBS) $(TGT_LIB)" \ | |
2062 "GNATMAKE=$(GNATMAKE)" \ | |
2063 "GNATLINK=$(GNATLINK)" \ | |
2064 "GNATBIND=$(GNATBIND)" | |
2065 | |
2066 GCC_LINK=$(CXX) $(GCC_LINK_FLAGS) $(ADA_INCLUDES) $(LDFLAGS) | |
2067 | |
2068 # Build directory for the tools. Let's copy the target-dependent | |
2069 # sources using the same mechanism as for gnatlib. The other sources are | |
2070 # accessed using the vpath directive below | |
2071 | |
2072 ../stamp-tools: | |
2073 -$(RM) tools/* | |
2074 -$(RMDIR) tools | |
2075 -$(MKDIR) tools | |
2076 -(cd tools; $(LN_S) ../sdefault.adb ../snames.ads ../snames.adb .) | |
2077 -$(foreach PAIR,$(TOOLS_TARGET_PAIRS), \ | |
2078 $(RM) tools/$(word 1,$(subst <, ,$(PAIR)));\ | |
2079 $(LN_S) $(fsrcpfx)ada/$(word 2,$(subst <, ,$(PAIR))) \ | |
2080 tools/$(word 1,$(subst <, ,$(PAIR)));) | |
2081 touch ../stamp-tools | |
2082 | |
2083 # when compiling the tools, the runtime has to be first on the path so that | |
2084 # it hides the runtime files lying with the rest of the sources | |
2085 ifeq ($(TOOLSCASE),native) | |
2086 vpath %.ads ../$(RTSDIR) ../ | |
2087 vpath %.adb ../$(RTSDIR) ../ | |
2088 vpath %.c ../$(RTSDIR) ../ | |
2089 vpath %.h ../$(RTSDIR) ../ | |
2090 endif | |
2091 | |
2092 # in the cross tools case, everything is compiled with the native | |
2093 # gnatmake/link. Therefore only -I needs to be modified in ADA_INCLUDES | |
2094 ifeq ($(TOOLSCASE),cross) | |
2095 vpath %.ads ../ | |
2096 vpath %.adb ../ | |
2097 vpath %.c ../ | |
2098 vpath %.h ../ | |
2099 endif | |
2100 | |
2101 # gnatmake/link tools cannot always be built with gnatmake/link for bootstrap | |
2102 # reasons: gnatmake should be built with a recent compiler, a recent compiler | |
2103 # may not generate ALI files compatible with an old gnatmake so it is important | |
2104 # to be able to build gnatmake without a version of gnatmake around. Once | |
2105 # everything has been compiled once, gnatmake can be recompiled with itself | |
2106 # (see target gnattools1-re) | |
2107 gnattools1: ../stamp-tools ../stamp-gnatlib-$(RTSDIR) | |
2108 $(MAKE) -C tools -f ../Makefile $(TOOLS_FLAGS_TO_PASS) \ | |
2109 TOOLSCASE=native \ | |
2110 ../../gnatmake$(exeext) ../../gnatlink$(exeext) | |
2111 | |
2112 # gnatmake/link can be built with recent gnatmake/link if they are available. | |
2113 # This is especially convenient for building cross tools or for rebuilding | |
2114 # the tools when the original bootstrap has already be done. | |
2115 gnattools1-re: ../stamp-tools | |
2116 $(MAKE) -C tools -f ../Makefile $(TOOLS_FLAGS_TO_PASS) \ | |
2117 TOOLSCASE=cross INCLUDES="" gnatmake-re gnatlink-re | |
2118 | |
2119 # these tools are built with gnatmake & are common to native and cross | |
2120 gnattools2: ../stamp-tools | |
2121 $(MAKE) -C tools -f ../Makefile $(TOOLS_FLAGS_TO_PASS) \ | |
2122 TOOLSCASE=native common-tools $(EXTRA_GNATTOOLS) | |
2123 | |
2124 # those tools are only built for the cross version | |
2125 gnattools4: ../stamp-tools | |
2126 ifeq ($(ENABLE_VXADDR2LINE),true) | |
2127 $(MAKE) -C tools -f ../Makefile $(TOOLS_FLAGS_TO_PASS) \ | |
2128 TOOLSCASE=cross top_buildir=../../.. \ | |
2129 ../../vxaddr2line$(exeext) | |
2130 endif | |
2131 | |
2132 common-tools: ../stamp-tools | |
2133 $(GNATMAKE) -j0 -c -b $(ADA_INCLUDES) \ | |
2134 --GNATBIND="$(GNATBIND)" --GCC="$(CC) $(ALL_ADAFLAGS)" \ | |
2135 gnatchop gnatcmd gnatkr gnatls gnatprep gnatxref gnatfind gnatname \ | |
2136 gnatclean -bargs $(ADA_INCLUDES) $(GNATBIND_FLAGS) | |
2137 $(GNATLINK) -v gnatcmd -o ../../gnat$(exeext) \ | |
2138 --GCC="$(GCC_LINK)" $(TOOLS_LIBS) | |
2139 $(GNATLINK) -v gnatchop -o ../../gnatchop$(exeext) \ | |
2140 --GCC="$(GCC_LINK)" $(TOOLS_LIBS) | |
2141 $(GNATLINK) -v gnatkr -o ../../gnatkr$(exeext) \ | |
2142 --GCC="$(GCC_LINK)" $(TOOLS_LIBS) | |
2143 $(GNATLINK) -v gnatls -o ../../gnatls$(exeext) \ | |
2144 --GCC="$(GCC_LINK)" $(TOOLS_LIBS) | |
2145 $(GNATLINK) -v gnatprep -o ../../gnatprep$(exeext) \ | |
2146 --GCC="$(GCC_LINK)" $(TOOLS_LIBS) | |
2147 $(GNATLINK) -v gnatxref -o ../../gnatxref$(exeext) \ | |
2148 --GCC="$(GCC_LINK)" $(TOOLS_LIBS) | |
2149 $(GNATLINK) -v gnatfind -o ../../gnatfind$(exeext) \ | |
2150 --GCC="$(GCC_LINK)" $(TOOLS_LIBS) | |
2151 $(GNATLINK) -v gnatname -o ../../gnatname$(exeext) \ | |
2152 --GCC="$(GCC_LINK)" $(TOOLS_LIBS) | |
2153 $(GNATLINK) -v gnatclean -o ../../gnatclean$(exeext) \ | |
2154 --GCC="$(GCC_LINK)" $(TOOLS_LIBS) | |
2155 | |
2156 ../../gnatdll$(exeext): ../stamp-tools | |
2157 $(GNATMAKE) -c $(ADA_INCLUDES) gnatdll --GCC="$(CC) $(ALL_ADAFLAGS)" | |
2158 $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatdll | |
2159 $(GNATLINK) -v gnatdll -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS) | |
2160 | |
2161 ../../vxaddr2line$(exeext): ../stamp-tools | |
2162 $(GNATMAKE) -c $(ADA_INCLUDES) vxaddr2line --GCC="$(CC) $(ALL_ADAFLAGS)" | |
2163 $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) vxaddr2line | |
2164 $(GNATLINK) -v vxaddr2line -o $@ --GCC="$(GCC_LINK)" ../targext.o $(CLIB) | |
2165 | |
2166 gnatmake-re: ../stamp-tools | |
2167 $(GNATMAKE) -j0 $(ADA_INCLUDES) -u sdefault --GCC="$(CC) $(MOST_ADA_FLAGS)" | |
2168 $(GNATMAKE) -j0 -c $(ADA_INCLUDES) gnatmake --GCC="$(CC) $(ALL_ADAFLAGS)" | |
2169 $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatmake | |
2170 $(GNATLINK) -v gnatmake -o ../../gnatmake$(exeext) \ | |
2171 --GCC="$(GCC_LINK)" $(TOOLS_LIBS) | |
2172 | |
2173 # Note the use of the "mv" command in order to allow gnatlink to be linked with | |
2174 # with the former version of gnatlink itself which cannot override itself. | |
2175 # gnatlink-re cannot be run at the same time as gnatmake-re, hence the | |
2176 # dependency | |
2177 gnatlink-re: ../stamp-tools gnatmake-re | |
2178 $(GNATMAKE) -j0 -c $(ADA_INCLUDES) gnatlink --GCC="$(CC) $(ALL_ADAFLAGS)" | |
2179 $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatlink | |
2180 $(GNATLINK) -v gnatlink -o ../../gnatlinknew$(exeext) \ | |
2181 --GCC="$(GCC_LINK)" $(TOOLS_LIBS) | |
2182 $(MV) ../../gnatlinknew$(exeext) ../../gnatlink$(exeext) | |
2183 | |
2184 # Needs to be built with CC=gcc | |
2185 # Since the RTL should be built with the latest compiler, remove the | |
2186 # stamp target in the parent directory whenever gnat1 is rebuilt | |
2187 | |
2188 # Likewise for the tools | |
2189 ../../gnatmake$(exeext): b_gnatm.o $(GNATMAKE_OBJS) | |
2190 +$(GCC_LINK) $(ALL_CFLAGS) -o $@ b_gnatm.o $(GNATMAKE_OBJS) $(TOOLS_LIBS) $(TOOLS1_LIBS) | |
2191 | |
2192 ../../gnatlink$(exeext): b_gnatl.o $(GNATLINK_OBJS) | |
2193 +$(GCC_LINK) $(ALL_CFLAGS) -o $@ b_gnatl.o $(GNATLINK_OBJS) $(TOOLS_LIBS) $(TOOLS1_LIBS) | |
2194 | |
2195 ../stamp-gnatlib-$(RTSDIR): | |
2196 @if [ ! -f stamp-gnatlib-$(RTSDIR) ] ; \ | |
2197 then \ | |
2198 $(ECHO) You must first build the GNAT library: make gnatlib; \ | |
2199 false; \ | |
2200 else \ | |
2201 true; \ | |
2202 fi | |
2203 | |
2204 install-gcc-specs: | |
2205 # Install all the requested GCC spec files. | |
2206 | |
2207 for f in $(GCC_SPEC_FILES); do \ | |
2208 $(INSTALL_DATA_DATE) $(srcdir)/ada/$$f $(libsubdir)/; \ | |
2209 done | |
2210 | |
2211 install-gnatlib: ../stamp-gnatlib-$(RTSDIR) install-gcc-specs | |
2212 $(RMDIR) $(DESTDIR)$(ADA_RTL_OBJ_DIR) | |
2213 $(RMDIR) $(DESTDIR)$(ADA_INCLUDE_DIR) | |
2214 -$(MKDIR) $(DESTDIR)$(ADA_RTL_OBJ_DIR) | |
2215 -$(MKDIR) $(DESTDIR)$(ADA_INCLUDE_DIR) | |
2216 for file in $(RTSDIR)/*.ali; do \ | |
2217 $(INSTALL_DATA_DATE) $$file $(DESTDIR)$(ADA_RTL_OBJ_DIR); \ | |
2218 done | |
2219 -cd $(RTSDIR); for file in *$(arext);do \ | |
2220 $(INSTALL_DATA) $$file $(DESTDIR)$(ADA_RTL_OBJ_DIR); \ | |
2221 $(RANLIB_FOR_TARGET) $(DESTDIR)$(ADA_RTL_OBJ_DIR)/$$file; \ | |
2222 done | |
2223 -$(foreach file, $(EXTRA_ADALIB_OBJS), \ | |
2224 $(INSTALL_DATA_DATE) $(RTSDIR)/$(file) $(DESTDIR)$(ADA_RTL_OBJ_DIR) && \ | |
2225 ) true | |
2226 # Install the shared libraries, if any, using $(INSTALL) instead | |
2227 # of $(INSTALL_DATA). The latter may force a mode inappropriate | |
2228 # for shared libraries on some targets, e.g. on HP-UX where the x | |
2229 # permission is required. | |
2230 # Also install the .dSYM directories if they exist (these directories | |
2231 # contain the debug information for the shared libraries on darwin) | |
2232 for file in gnat gnarl; do \ | |
2233 if [ -f $(RTSDIR)/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext) ]; then \ | |
2234 $(INSTALL) $(RTSDIR)/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext) \ | |
2235 $(DESTDIR)$(ADA_RTL_OBJ_DIR); \ | |
2236 fi; \ | |
2237 if [ -f $(RTSDIR)/lib$${file}$(soext) ]; then \ | |
2238 $(LN_S) lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext) \ | |
2239 $(DESTDIR)$(ADA_RTL_OBJ_DIR)/lib$${file}$(soext); \ | |
2240 fi; \ | |
2241 if [ -d $(RTSDIR)/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext).dSYM ]; then \ | |
2242 $(CP) -r $(RTSDIR)/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext).dSYM \ | |
2243 $(DESTDIR)$(ADA_RTL_OBJ_DIR); \ | |
2244 fi; \ | |
2245 done | |
2246 # This copy must be done preserving the date on the original file. | |
2247 for file in $(RTSDIR)/*.ad[sb]*; do \ | |
2248 $(INSTALL_DATA_DATE) $$file $(DESTDIR)$(ADA_INCLUDE_DIR); \ | |
2249 done | |
2250 cd $(DESTDIR)$(ADA_INCLUDE_DIR); $(CHMOD) a-wx *.adb | |
2251 cd $(DESTDIR)$(ADA_INCLUDE_DIR); $(CHMOD) a-wx *.ads | |
2252 | |
2253 ../stamp-gnatlib2-$(RTSDIR): | |
2254 $(RM) $(RTSDIR)/s-*.ali | |
2255 $(RM) $(RTSDIR)/s-*$(objext) | |
2256 $(RM) $(RTSDIR)/a-*.ali | |
2257 $(RM) $(RTSDIR)/a-*$(objext) | |
2258 $(RM) $(RTSDIR)/*.ali | |
2259 $(RM) $(RTSDIR)/*$(objext) | |
2260 $(RM) $(RTSDIR)/*$(arext) | |
2261 $(RM) $(RTSDIR)/*$(soext) | |
2262 touch ../stamp-gnatlib2-$(RTSDIR) | |
2263 $(RM) ../stamp-gnatlib-$(RTSDIR) | |
2264 | |
2265 ../stamp-gnatlib1-$(RTSDIR): Makefile ../stamp-gnatlib2-$(RTSDIR) | |
2266 $(RMDIR) $(RTSDIR) | |
2267 $(MKDIR) $(RTSDIR) | |
2268 $(CHMOD) u+w $(RTSDIR) | |
2269 # Copy target independent sources | |
2270 $(foreach f,$(ADA_INCLUDE_SRCS) $(LIBGNAT_SRCS), \ | |
2271 $(LN_S) $(fsrcpfx)ada/$(f) $(RTSDIR) ;) true | |
2272 # Remove files not used | |
2273 $(RM) $(patsubst %,$(RTSDIR)/%,$(ADA_EXCLUDE_FILES)) | |
2274 # Remove files to be replaced by target dependent sources | |
2275 $(RM) $(foreach PAIR,$(LIBGNAT_TARGET_PAIRS), \ | |
2276 $(RTSDIR)/$(word 1,$(subst <, ,$(PAIR)))) | |
2277 for f in $(RTSDIR)/*-*__*.ads $(RTSDIR)/*-*__*.adb; do \ | |
2278 case "$$f" in \ | |
2279 $(RTSDIR)/s-stratt__*) ;; \ | |
2280 *) $(RM) $$f ;; \ | |
2281 esac; \ | |
2282 done | |
2283 # Copy new target dependent sources | |
2284 $(foreach PAIR,$(LIBGNAT_TARGET_PAIRS), \ | |
2285 $(LN_S) $(fsrcpfx)ada/$(word 2,$(subst <, ,$(PAIR))) \ | |
2286 $(RTSDIR)/$(word 1,$(subst <, ,$(PAIR)));) | |
2287 # Copy tsystem.h | |
2288 $(CP) $(srcdir)/tsystem.h $(RTSDIR) | |
2289 $(RM) ../stamp-gnatlib-$(RTSDIR) | |
2290 touch ../stamp-gnatlib1-$(RTSDIR) | |
2291 | |
2292 # GCC_FOR_TARGET has paths relative to the gcc directory, so we need to adjust | |
2293 # for running it from ada/rts | |
2294 | |
2295 OSCONS_CC=$(subst ./xgcc,../../xgcc,$(subst -B./, -B../../,$(GCC_FOR_TARGET))) | |
2296 | |
2297 # The main ada source directory must be on the include path for #include "..." | |
2298 # because s-oscons-tmplt.c requires adaint.h, gsocket.h, and any file included | |
2299 # by these headers. However note that we must use -iquote, not -I, so that | |
2300 # ada/types.h does not conflict with a same-named system header (VxWorks | |
2301 # has a <types.h> header). | |
2302 | |
2303 OSCONS_CPP=$(OSCONS_CC) $(GNATLIBCFLAGS) $(GNATLIBCFLAGS_FOR_C) -E -C \ | |
2304 -DTARGET=\"$(target)\" -iquote $(fsrcpfx)ada $(fsrcpfx)ada/s-oscons-tmplt.c > s-oscons-tmplt.i | |
2305 OSCONS_EXTRACT=$(OSCONS_CC) -S s-oscons-tmplt.i | |
2306 | |
2307 # Note: if you need to build with a non-GNU compiler, you could adapt the | |
2308 # following definitions (written for VMS DEC-C) | |
2309 #OSCONS_CPP=../../../$(DECC) -E /comment=as_is -DNATIVE \ | |
2310 # -DTARGET='""$(target)""' -I$(OSCONS_SRCDIR) s-oscons-tmplt.c | |
2311 # | |
2312 #OSCONS_EXTRACT=../../../$(DECC) -DNATIVE \ | |
2313 # -DTARGET='""$(target)""' -I$(OSCONS_SRCDIR) s-oscons-tmplt.c ; \ | |
2314 # ld -o s-oscons-tmplt.exe s-oscons-tmplt.obj; \ | |
2315 # ./s-oscons-tmplt.exe > s-oscons-tmplt.s | |
2316 | |
2317 ./bldtools/oscons/xoscons: xoscons.adb xutil.ads xutil.adb | |
2318 -$(MKDIR) ./bldtools/oscons | |
2319 $(RM) $(addprefix ./bldtools/oscons/,$(notdir $^)) | |
2320 $(CP) $^ ./bldtools/oscons | |
2321 (cd ./bldtools/oscons ; gnatmake -q xoscons) | |
2322 | |
2323 $(RTSDIR)/s-oscons.ads: ../stamp-gnatlib1-$(RTSDIR) s-oscons-tmplt.c gsocket.h ./bldtools/oscons/xoscons | |
2324 $(RM) $(RTSDIR)/s-oscons-tmplt.i $(RTSDIR)/s-oscons-tmplt.s | |
2325 (cd $(RTSDIR) ; \ | |
2326 $(OSCONS_CPP) ; \ | |
2327 $(OSCONS_EXTRACT) ; \ | |
2328 ../bldtools/oscons/xoscons s-oscons) | |
2329 | |
2330 gnatlib: ../stamp-gnatlib1-$(RTSDIR) ../stamp-gnatlib2-$(RTSDIR) $(RTSDIR)/s-oscons.ads | |
2331 test -f $(RTSDIR)/s-oscons.ads || exit 1 | |
2332 # C files | |
2333 $(MAKE) -C $(RTSDIR) \ | |
2334 CC="`echo \"$(GCC_FOR_TARGET)\" \ | |
2335 | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'`" \ | |
2336 INCLUDES="$(INCLUDES_FOR_SUBDIR) -I./../.." \ | |
2337 CFLAGS="$(GNATLIBCFLAGS_FOR_C)" \ | |
2338 FORCE_DEBUG_ADAFLAGS="$(FORCE_DEBUG_ADAFLAGS)" \ | |
2339 srcdir=$(fsrcdir) \ | |
2340 -f ../Makefile $(LIBGNAT_OBJS) $(EXTRA_ADALIB_OBJS) | |
2341 # Ada files | |
2342 $(MAKE) -C $(RTSDIR) \ | |
2343 CC="`echo \"$(GCC_FOR_TARGET)\" \ | |
2344 | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'`" \ | |
2345 ADA_INCLUDES="" \ | |
2346 CFLAGS="$(GNATLIBCFLAGS)" \ | |
2347 ADAFLAGS="$(GNATLIBFLAGS)" \ | |
2348 FORCE_DEBUG_ADAFLAGS="$(FORCE_DEBUG_ADAFLAGS)" \ | |
2349 srcdir=$(fsrcdir) \ | |
2350 -f ../Makefile $(GNATRTL_OBJS) | |
2351 $(RM) $(RTSDIR)/libgnat$(arext) $(RTSDIR)/libgnarl$(arext) | |
2352 $(AR_FOR_TARGET) $(AR_FLAGS) $(RTSDIR)/libgnat$(arext) \ | |
2353 $(addprefix $(RTSDIR)/,$(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS)) | |
2354 $(RANLIB_FOR_TARGET) $(RTSDIR)/libgnat$(arext) | |
2355 $(AR_FOR_TARGET) $(AR_FLAGS) $(RTSDIR)/libgnarl$(arext) \ | |
2356 $(addprefix $(RTSDIR)/,$(GNATRTL_TASKING_OBJS)) | |
2357 $(RANLIB_FOR_TARGET) $(RTSDIR)/libgnarl$(arext) | |
2358 ifeq ($(GMEM_LIB),gmemlib) | |
2359 $(AR_FOR_TARGET) $(AR_FLAGS) $(RTSDIR)/libgmem$(arext) \ | |
2360 $(RTSDIR)/memtrack.o | |
2361 $(RANLIB_FOR_TARGET) $(RTSDIR)/libgmem$(arext) | |
2362 endif | |
2363 $(CHMOD) a-wx $(RTSDIR)/*.ali | |
2364 touch ../stamp-gnatlib-$(RTSDIR) | |
2365 | |
2366 # Warning: this target assumes that LIBRARY_VERSION has been set correctly. | |
2367 gnatlib-shared-default: | |
2368 $(MAKE) $(FLAGS_TO_PASS) \ | |
2369 GNATLIBFLAGS="$(GNATLIBFLAGS)" \ | |
2370 GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(PICFLAG_FOR_TARGET)" \ | |
2371 GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C) $(PICFLAG_FOR_TARGET)" \ | |
2372 MULTISUBDIR="$(MULTISUBDIR)" \ | |
2373 THREAD_KIND="$(THREAD_KIND)" \ | |
2374 gnatlib | |
2375 $(RM) $(RTSDIR)/libgna*$(soext) | |
2376 cd $(RTSDIR); `echo "$(GCC_FOR_TARGET)" \ | |
2377 | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'` -shared $(GNATLIBCFLAGS) \ | |
2378 $(PICFLAG_FOR_TARGET) \ | |
2379 -o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ | |
2380 $(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \ | |
2381 $(SO_OPTS)libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ | |
2382 $(MISCLIB) -lm | |
2383 cd $(RTSDIR); `echo "$(GCC_FOR_TARGET)" \ | |
2384 | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'` -shared $(GNATLIBCFLAGS) \ | |
2385 $(PICFLAG_FOR_TARGET) \ | |
2386 -o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ | |
2387 $(GNATRTL_TASKING_OBJS) \ | |
2388 $(SO_OPTS)libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ | |
2389 $(THREADSLIB) | |
2390 cd $(RTSDIR); $(LN_S) libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ | |
2391 libgnat$(soext) | |
2392 cd $(RTSDIR); $(LN_S) libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ | |
2393 libgnarl$(soext) | |
2394 | |
2395 # Create static libgnat and libgnarl compiled with -fPIC | |
2396 $(RM) $(RTSDIR)/libgnat_pic$(arext) $(RTSDIR)/libgnarl_pic$(arext) | |
2397 $(AR_FOR_TARGET) $(AR_FLAGS) $(RTSDIR)/libgnat_pic$(arext) \ | |
2398 $(addprefix $(RTSDIR)/,$(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS)) | |
2399 $(RANLIB_FOR_TARGET) $(RTSDIR)/libgnat_pic$(arext) | |
2400 $(AR_FOR_TARGET) $(AR_FLAGS) $(RTSDIR)/libgnarl_pic$(arext) \ | |
2401 $(addprefix $(RTSDIR)/,$(GNATRTL_TASKING_OBJS)) | |
2402 $(RANLIB_FOR_TARGET) $(RTSDIR)/libgnarl_pic$(arext) | |
2403 | |
2404 | |
2405 gnatlib-shared-dual: | |
2406 $(MAKE) $(FLAGS_TO_PASS) \ | |
2407 GNATLIBFLAGS="$(GNATLIBFLAGS)" \ | |
2408 GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ | |
2409 GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C)" \ | |
2410 MULTISUBDIR="$(MULTISUBDIR)" \ | |
2411 THREAD_KIND="$(THREAD_KIND)" \ | |
2412 gnatlib-shared-default | |
2413 $(MV) $(RTSDIR)/libgna*$(soext) . | |
2414 $(MV) $(RTSDIR)/libgnat_pic$(arext) . | |
2415 $(MV) $(RTSDIR)/libgnarl_pic$(arext) . | |
2416 $(RM) ../stamp-gnatlib2-$(RTSDIR) | |
2417 $(MAKE) $(FLAGS_TO_PASS) \ | |
2418 GNATLIBFLAGS="$(GNATLIBFLAGS)" \ | |
2419 GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ | |
2420 GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C)" \ | |
2421 MULTISUBDIR="$(MULTISUBDIR)" \ | |
2422 THREAD_KIND="$(THREAD_KIND)" \ | |
2423 gnatlib | |
2424 $(MV) libgna*$(soext) $(RTSDIR) | |
2425 $(MV) libgnat_pic$(arext) $(RTSDIR) | |
2426 $(MV) libgnarl_pic$(arext) $(RTSDIR) | |
2427 | |
2428 gnatlib-shared-dual-win32: | |
2429 $(MAKE) $(FLAGS_TO_PASS) \ | |
2430 GNATLIBFLAGS="$(GNATLIBFLAGS)" \ | |
2431 GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ | |
2432 GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C)" \ | |
2433 PICFLAG_FOR_TARGET="$(PICFLAG_FOR_TARGET)" \ | |
2434 MULTISUBDIR="$(MULTISUBDIR)" \ | |
2435 THREAD_KIND="$(THREAD_KIND)" \ | |
2436 gnatlib-shared-win32 | |
2437 $(MV) $(RTSDIR)/libgna*$(soext) . | |
2438 $(RM) ../stamp-gnatlib2-$(RTSDIR) | |
2439 $(MAKE) $(FLAGS_TO_PASS) \ | |
2440 GNATLIBFLAGS="$(GNATLIBFLAGS)" \ | |
2441 GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ | |
2442 GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C)" \ | |
2443 MULTISUBDIR="$(MULTISUBDIR)" \ | |
2444 THREAD_KIND="$(THREAD_KIND)" \ | |
2445 gnatlib | |
2446 $(MV) libgna*$(soext) $(RTSDIR) | |
2447 | |
2448 # ??? we need to add the option to support auto-import of arrays/records to | |
2449 # the GNATLIBFLAGS when this will be supported by GNAT. At this point we will | |
2450 # use the gnatlib-shared-dual-win32 target to build the GNAT runtimes on | |
2451 # Windows. | |
2452 gnatlib-shared-win32: | |
2453 $(MAKE) $(FLAGS_TO_PASS) \ | |
2454 GNATLIBFLAGS="$(GNATLIBFLAGS)" \ | |
2455 GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(PICFLAG_FOR_TARGET)" \ | |
2456 GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C) $(PICFLAG_FOR_TARGET)" \ | |
2457 MULTISUBDIR="$(MULTISUBDIR)" \ | |
2458 THREAD_KIND="$(THREAD_KIND)" \ | |
2459 gnatlib | |
2460 $(RM) $(RTSDIR)/libgna*$(soext) | |
2461 $(CP) $(RTSDIR)/libgnat$(arext) $(RTSDIR)/libgnat_pic$(arext) | |
2462 $(CP) $(RTSDIR)/libgnarl$(arext) $(RTSDIR)/libgnarl_pic$(arext) | |
2463 cd $(RTSDIR); `echo "$(GCC_FOR_TARGET)" \ | |
2464 | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'` -shared -shared-libgcc \ | |
2465 $(PICFLAG_FOR_TARGET) \ | |
2466 -o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ | |
2467 $(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \ | |
2468 $(SO_OPTS)libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) $(MISCLIB) | |
2469 cd $(RTSDIR); `echo "$(GCC_FOR_TARGET)" \ | |
2470 | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'` -shared -shared-libgcc \ | |
2471 $(PICFLAG_FOR_TARGET) \ | |
2472 -o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ | |
2473 $(GNATRTL_TASKING_OBJS) \ | |
2474 $(SO_OPTS)libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ | |
2475 $(THREADSLIB) -Wl,libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) | |
2476 | |
2477 gnatlib-shared-darwin: | |
2478 $(MAKE) $(FLAGS_TO_PASS) \ | |
2479 GNATLIBFLAGS="$(GNATLIBFLAGS)" \ | |
2480 GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(PICFLAG_FOR_TARGET)" \ | |
2481 GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C) $(PICFLAG_FOR_TARGET) -fno-common" \ | |
2482 MULTISUBDIR="$(MULTISUBDIR)" \ | |
2483 THREAD_KIND="$(THREAD_KIND)" \ | |
2484 gnatlib | |
2485 $(RM) $(RTSDIR)/libgnat$(soext) $(RTSDIR)/libgnarl$(soext) | |
2486 $(CP) $(RTSDIR)/libgnat$(arext) $(RTSDIR)/libgnat_pic$(arext) | |
2487 $(CP) $(RTSDIR)/libgnarl$(arext) $(RTSDIR)/libgnarl_pic$(arext) | |
2488 cd $(RTSDIR); `echo "$(GCC_FOR_TARGET)" \ | |
2489 | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'` -dynamiclib $(PICFLAG_FOR_TARGET) \ | |
2490 -o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ | |
2491 $(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \ | |
2492 $(SO_OPTS) \ | |
2493 -Wl,-install_name,@rpath/libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ | |
2494 $(MISCLIB) | |
2495 cd $(RTSDIR); `echo "$(GCC_FOR_TARGET)" \ | |
2496 | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'` -dynamiclib $(PICFLAG_FOR_TARGET) \ | |
2497 -o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ | |
2498 $(GNATRTL_TASKING_OBJS) \ | |
2499 $(SO_OPTS) \ | |
2500 -Wl,-install_name,@rpath/libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ | |
2501 $(THREADSLIB) -Wl,libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) | |
2502 cd $(RTSDIR); $(LN_S) libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ | |
2503 libgnat$(soext) | |
2504 cd $(RTSDIR); $(LN_S) libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ | |
2505 libgnarl$(soext) | |
2506 cd $(RTSDIR); dsymutil libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) | |
2507 cd $(RTSDIR); dsymutil libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) | |
2508 | |
2509 gnatlib-shared: | |
2510 $(MAKE) $(FLAGS_TO_PASS) \ | |
2511 GNATLIBFLAGS="$(GNATLIBFLAGS)" \ | |
2512 GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ | |
2513 GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C)" \ | |
2514 MULTISUBDIR="$(MULTISUBDIR)" \ | |
2515 THREAD_KIND="$(THREAD_KIND)" \ | |
2516 PICFLAG_FOR_TARGET="$(PICFLAG_FOR_TARGET)" \ | |
2517 $(GNATLIB_SHARED) | |
2518 | |
2519 # When building a SJLJ runtime for VxWorks, we need to ensure that the extra | |
2520 # linker options needed for ZCX are not passed to prevent the inclusion of | |
2521 # useless objects and potential troubles from the presence of extra symbols | |
2522 # and references in some configurations. The inhibition is performed by | |
2523 # commenting the pragma instead of deleting the line, as the latter might | |
2524 # result in getting multiple blank lines, hence possible style check errors. | |
2525 gnatlib-sjlj: | |
2526 $(MAKE) $(FLAGS_TO_PASS) EH_MECHANISM="" \ | |
2527 THREAD_KIND="$(THREAD_KIND)" ../stamp-gnatlib1-$(RTSDIR) | |
2528 sed \ | |
2529 -e 's/Frontend_Exceptions.*/Frontend_Exceptions : constant Boolean := True;/' \ | |
2530 -e 's/ZCX_By_Default.*/ZCX_By_Default : constant Boolean := False;/' \ | |
2531 -e 's/\(pragma Linker.*crtbe.*\)/-- \1/' \ | |
2532 $(RTSDIR)/system.ads > $(RTSDIR)/s.ads | |
2533 $(MV) $(RTSDIR)/s.ads $(RTSDIR)/system.ads | |
2534 $(MAKE) $(FLAGS_TO_PASS) \ | |
2535 EH_MECHANISM="" \ | |
2536 GNATLIBFLAGS="$(GNATLIBFLAGS)" \ | |
2537 GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ | |
2538 GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C)" \ | |
2539 FORCE_DEBUG_ADAFLAGS="$(FORCE_DEBUG_ADAFLAGS)" \ | |
2540 MULTISUBDIR="$(MULTISUBDIR)" \ | |
2541 THREAD_KIND="$(THREAD_KIND)" \ | |
2542 PICFLAG_FOR_TARGET="$(PICFLAG_FOR_TARGET)" gnatlib | |
2543 | |
2544 gnatlib-zcx: | |
2545 $(MAKE) $(FLAGS_TO_PASS) EH_MECHANISM="-gcc" \ | |
2546 THREAD_KIND="$(THREAD_KIND)" ../stamp-gnatlib1-$(RTSDIR) | |
2547 sed \ | |
2548 -e 's/Frontend_Exceptions.*/Frontend_Exceptions : constant Boolean := False;/' \ | |
2549 -e 's/ZCX_By_Default.*/ZCX_By_Default : constant Boolean := True;/' \ | |
2550 $(RTSDIR)/system.ads > $(RTSDIR)/s.ads | |
2551 $(MV) $(RTSDIR)/s.ads $(RTSDIR)/system.ads | |
2552 $(MAKE) $(FLAGS_TO_PASS) \ | |
2553 EH_MECHANISM="-gcc" \ | |
2554 GNATLIBFLAGS="$(GNATLIBFLAGS)" \ | |
2555 GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ | |
2556 GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C)" \ | |
2557 FORCE_DEBUG_ADAFLAGS="$(FORCE_DEBUG_ADAFLAGS)" \ | |
2558 MULTISUBDIR="$(MULTISUBDIR)" \ | |
2559 THREAD_KIND="$(THREAD_KIND)" \ | |
2560 PICFLAG_FOR_TARGET="$(PICFLAG_FOR_TARGET)" gnatlib | |
2561 | |
2562 # Compiling object files from source files. | |
2563 | |
2564 # Note that dependencies on obstack.h are not written | |
2565 # because that file is not part of GCC. | |
2566 # Dependencies on gvarargs.h are not written | |
2567 # because all that file does, when not compiling with GCC, | |
2568 # is include the system varargs.h. | |
2569 | |
2570 b_gnatl.adb : $(GNATLINK_OBJS) | |
2571 $(GNATBIND) $(ADA_INCLUDES) -o b_gnatl.adb gnatlink.ali | |
2572 | |
2573 b_gnatl.o : b_gnatl.adb | |
2574 $(CC) -c $(ALL_ADAFLAGS) $(ADA_INCLUDES) -gnatws -gnatyN \ | |
2575 $< $(OUTPUT_OPTION) | |
2576 | |
2577 b_gnatm.adb : $(GNATMAKE_OBJS) | |
2578 $(GNATBIND) $(ADA_INCLUDES) -o b_gnatm.adb gnatmake.ali | |
2579 | |
2580 b_gnatm.o : b_gnatm.adb | |
2581 $(CC) -c $(ALL_ADAFLAGS) $(ADA_INCLUDES) -gnatws -gnatyN \ | |
2582 $< $(OUTPUT_OPTION) | |
2583 | |
2584 ADA_INCLUDE_DIR = $(libsubdir)/adainclude | |
2585 ADA_RTL_OBJ_DIR = $(libsubdir)/adalib | |
2586 | |
2587 # Special flags | |
2588 | |
2589 # force no sibling call optimization on s-traceb.o so the number of stack | |
2590 # frames to be skipped when computing a call chain is not modified by | |
2591 # optimization. We don't want inlining, either. | |
2592 | |
2593 s-traceb.o : s-traceb.adb s-traceb.ads | |
2594 $(CC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) $(NO_INLINE_ADAFLAGS) \ | |
2595 $(NO_SIBLING_ADAFLAGS) $(ADA_INCLUDES) $< $(OUTPUT_OPTION) | |
2596 | |
2597 # compile s-tasdeb.o without optimization and with debug info so that it is | |
2598 # always possible to set conditional breakpoints on tasks. | |
2599 | |
2600 s-tasdeb.o : s-tasdeb.adb s-tasdeb.ads | |
2601 $(CC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) -O0 $(ADA_INCLUDES) \ | |
2602 $< $(OUTPUT_OPTION) | |
2603 | |
2604 # force no function reordering on a-except.o because of the exclusion bounds | |
2605 # mechanism (see the source file for more detailed information). | |
2606 # force debugging information on a-except.o so that it is always | |
2607 # possible to set conditional breakpoints on exceptions. | |
2608 # use -O1 otherwise gdb isn't able to get a full backtrace on mips targets. | |
2609 | |
2610 a-except.o : a-except.adb a-except.ads | |
2611 $(CC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) $(NO_INLINE_ADAFLAGS) \ | |
2612 $(NO_REORDER_ADAFLAGS) -O1 $(ADA_INCLUDES) $< $(OUTPUT_OPTION) | |
2613 | |
2614 # compile s-excdeb.o without optimization and with debug info to let the | |
2615 # debugger set breakpoints and inspect subprogram parameters on exception | |
2616 # related events. | |
2617 | |
2618 s-excdeb.o : s-excdeb.adb s-excdeb.ads s-except.ads | |
2619 $(CC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) -O0 $(ADA_INCLUDES) \ | |
2620 $< $(OUTPUT_OPTION) | |
2621 | |
2622 # force debugging information on s-assert.o so that it is always | |
2623 # possible to set breakpoint on assert failures. | |
2624 | |
2625 s-assert.o : s-assert.adb s-assert.ads | |
2626 $(CC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) $(ADA_INCLUDES) \ | |
2627 $< $(OUTPUT_OPTION) | |
2628 | |
2629 # force debugging information on a-tags.o so that the debugger can find | |
2630 # the description of Ada.Tags.Type_Specific_Data. | |
2631 | |
2632 a-tags.o : a-tags.adb a-tags.ads | |
2633 $(CC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) $(ADA_INCLUDES) \ | |
2634 $< $(OUTPUT_OPTION) | |
2635 | |
2636 # force no sibling call optimization on s-memory.o to avoid turning the | |
2637 # tail recursion in Alloc into a loop that confuses branch prediction. | |
2638 | |
2639 s-memory.o : s-memory.adb s-memory.ads | |
2640 $(CC) -c $(ALL_ADAFLAGS) $(NO_SIBLING_ADAFLAGS) $(ADA_INCLUDES) \ | |
2641 $< $(OUTPUT_OPTION) | |
2642 | |
2643 # need to keep the frame pointer in tracebak.o to pop the stack properly on | |
2644 # some targets. | |
2645 | |
2646 tracebak.o : tracebak.c tb-gcc.c | |
2647 $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) $(ALL_CPPFLAGS) \ | |
2648 $(INCLUDES) $(NO_OMIT_ADAFLAGS) $< $(OUTPUT_OPTION) | |
2649 | |
2650 adadecode.o : adadecode.c adadecode.h | |
2651 aux-io.o : aux-io.c | |
2652 argv.o : argv.c | |
2653 cal.o : cal.c | |
2654 deftarg.o : deftarg.c | |
2655 errno.o : errno.c | |
2656 exit.o : adaint.h exit.c | |
2657 expect.o : expect.c | |
2658 final.o : final.c | |
2659 rtfinal.o : rtfinal.c | |
2660 rtinit.o : rtinit.c | |
2661 locales.o : locales.c | |
2662 mkdir.o : mkdir.c | |
2663 socket.o : socket.c gsocket.h | |
2664 sysdep.o : sysdep.c | |
2665 raise.o : raise.c raise.h | |
2666 sigtramp-armdroid.o : sigtramp-armdroid.c sigtramp.h | |
2667 sigtramp-armvxworks.o : sigtramp-armvxworks.c sigtramp.h | |
2668 sigtramp-ios.o : sigtramp-ios.c sigtramp.h | |
2669 sigtramp-vxworks.o : sigtramp-vxworks.c $(VX_SIGTRAMP_EXTRA_SRCS) | |
2670 sigtramp-vxworks-vxsim.o : sigtramp-vxworks-vxsim.c $(VX_SIGTRAMP_EXTRA_SRCS) | |
2671 terminals.o : terminals.c | |
2672 vx_stack_info.o : vx_stack_info.c | |
2673 | |
2674 raise-gcc.o : raise-gcc.c raise.h | |
2675 $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \ | |
2676 -iquote $(srcdir) -iquote $(ftop_srcdir)/libgcc \ | |
2677 $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION) | |
2678 | |
2679 cio.o : cio.c | |
2680 $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \ | |
2681 $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION) | |
2682 | |
2683 init.o : init.c adaint.h raise.h | |
2684 $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \ | |
2685 $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION) | |
2686 | |
2687 vx_crtbegin.o : vx_crtbegin.c vx_crtbegin.inc | |
2688 $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \ | |
2689 -iquote $(srcdir) -iquote $(ftop_srcdir)/libgcc \ | |
2690 $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION) | |
2691 | |
2692 vx_crtbegin_auto.o : vx_crtbegin_auto.c vx_crtbegin.inc | |
2693 $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \ | |
2694 -iquote $(srcdir) -iquote $(ftop_srcdir)/libgcc \ | |
2695 $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION) | |
2696 | |
2697 vx_crtend.o : vx_crtend.c | |
2698 $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \ | |
2699 -iquote $(srcdir) -iquote $(ftop_srcdir)/libgcc \ | |
2700 $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION) | |
2701 | |
2702 init-vxsim.o : init-vxsim.c | |
2703 $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \ | |
2704 $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION) | |
2705 | |
2706 initialize.o : initialize.c raise.h | |
2707 $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \ | |
2708 $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION) | |
2709 | |
2710 link.o : link.c | |
2711 $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \ | |
2712 $(ALL_CPPFLAGS) $(INCLUDES_FOR_SUBDIR) \ | |
2713 $< $(OUTPUT_OPTION) | |
2714 | |
2715 targext.o : targext.c | |
2716 $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \ | |
2717 -iquote $(srcdir) \ | |
2718 $(ALL_CPPFLAGS) $(INCLUDES_FOR_SUBDIR) \ | |
2719 $< $(OUTPUT_OPTION) | |
2720 | |
2721 # In GNU Make, ignore whether `stage*' exists. | |
2722 .PHONY: stage1 stage2 stage3 stage4 clean realclean TAGS bootstrap | |
2723 .PHONY: risky-stage1 risky-stage2 risky-stage3 risky-stage4 | |
2724 | |
2725 force: |