]>
Commit | Line | Data |
---|---|---|
84481f76 | 1 | # Makefile for GNU Ada Compiler (GNAT). |
5fb1788b | 2 | # Copyright (C) 1994-2004 Free Software Foundation, Inc. |
84481f76 | 3 | |
08e247b1 | 4 | #This file is part of GCC. |
84481f76 | 5 | |
08e247b1 | 6 | #GCC is free software; you can redistribute it and/or modify |
84481f76 RK |
7 | #it under the terms of the GNU General Public License as published by |
8 | #the Free Software Foundation; either version 2, or (at your option) | |
9 | #any later version. | |
10 | ||
08e247b1 | 11 | #GCC is distributed in the hope that it will be useful, |
84481f76 RK |
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 | |
08e247b1 | 17 | #along with GCC; see the file COPYING. If not, write to |
9f2f9eb6 JM |
18 | #the Free Software Foundation, 59 Temple Place - Suite 330, |
19 | #Boston, MA 02111-1307, USA. | |
84481f76 RK |
20 | |
21 | # The makefile built from this file lives in the language subdirectory. | |
fbf5a39b | 22 | # Its purpose is to provide support for: |
84481f76 RK |
23 | # |
24 | # 1) recursion where necessary, and only then (building .o's), and | |
25 | # 2) building and debugging cc1 from the language subdirectory, and | |
26 | # 3) nothing else. | |
27 | # | |
28 | # The parent makefile handles all other chores, with help from the | |
29 | # language makefile fragment, of course. | |
30 | # | |
31 | # The targets for external use are: | |
32 | # all, TAGS, ???mostlyclean, ???clean. | |
33 | ||
34 | # This makefile will only work with Gnu make. | |
35 | # The rules are written assuming a minimum subset of tools are available: | |
36 | # | |
37 | # Required: | |
38 | # MAKE: Only Gnu make will work. | |
39 | # MV: Must accept (at least) one, maybe wildcard, source argument, | |
40 | # a file or directory destination, and support creation/ | |
41 | # modification date preservation. Gnu mv -f works. | |
42 | # RM: Must accept an arbitrary number of space separated file | |
43 | # arguments, or one wildcard argument. Gnu rm works. | |
44 | # RMDIR: Must delete a directory and all its contents. Gnu rm -rf works. | |
45 | # ECHO: Must support command line redirection. Any Unix-like | |
46 | # shell will typically provide this, otherwise a custom version | |
47 | # is trivial to write. | |
48 | # AR: Gnu ar works. | |
49 | # MKDIR: Gnu mkdir works. | |
50 | # CHMOD: Gnu chmod works. | |
51 | # true: Does nothing and returns a normal successful return code. | |
52 | # pwd: Prints the current directory on stdout. | |
53 | # cd: Change directory. | |
54 | # | |
55 | # Optional: | |
56 | # BISON: Gnu bison works. | |
57 | # FLEX: Gnu flex works. | |
58 | # Other miscellaneous tools for obscure targets. | |
59 | ||
f4a12653 | 60 | # Tell GNU make 3.79 not to run this directory in parallel. |
63adb4ff RH |
61 | # Not all of the required dependencies are present. |
62 | .NOTPARALLEL: | |
63 | ||
84481f76 RK |
64 | # Suppress smart makes who think they know how to automake Yacc files |
65 | .y.c: | |
66 | ||
67 | # Variables that exist for you to override. | |
68 | # See below for how to change them for certain systems. | |
69 | ||
84481f76 RK |
70 | # Various ways of specifying flags for compilations: |
71 | # CFLAGS is for the user to override to, e.g., do a bootstrap with -O2. | |
72 | # BOOT_CFLAGS is the value of CFLAGS to pass | |
73 | # to the stage2 and stage3 compilations | |
74 | # XCFLAGS is used for most compilations but not when using the GCC just built. | |
75 | XCFLAGS = | |
76 | CFLAGS = -g | |
77 | BOOT_CFLAGS = -O $(CFLAGS) | |
78 | # These exists to be overridden by the x-* and t-* files, respectively. | |
79 | X_CFLAGS = | |
80 | T_CFLAGS = | |
81 | ||
82 | X_CPPFLAGS = | |
83 | T_CPPFLAGS = | |
84 | ||
b303008e JDA |
85 | X_ADA_CFLAGS = |
86 | T_ADA_CFLAGS = | |
87 | ||
67f28219 ZW |
88 | X_ADAFLAGS = |
89 | T_ADAFLAGS = | |
90 | ||
84481f76 | 91 | CC = cc |
fbf5a39b AC |
92 | BISON = bison |
93 | BISONFLAGS = | |
94 | ECHO = echo | |
95 | LEX = flex | |
96 | LEXFLAGS = | |
97 | CHMOD = chmod | |
98 | LN = ln | |
99 | LN_S = ln -s | |
100 | CP = cp -p | |
101 | MV = mv -f | |
102 | RM = rm -f | |
103 | RMDIR = rm -rf | |
104 | MKDIR = mkdir -p | |
105 | AR = ar | |
106 | AR_FLAGS = rc | |
107 | LS = ls | |
5a944040 | 108 | RANLIB = @RANLIB@ |
110aba14 | 109 | RANLIB_FLAGS = @ranlib_flags@ |
67f28219 | 110 | |
b41e09a7 | 111 | SHELL = @SHELL@ |
8c90b13a | 112 | PWD_COMMAND = $${PWDCMD-pwd} |
84481f76 RK |
113 | # How to copy preserving the date |
114 | INSTALL_DATA_DATE = cp -p | |
115 | MAKEINFO = makeinfo | |
116 | TEXI2DVI = texi2dvi | |
fbf5a39b | 117 | GNATBIND = $(STAGE_PREFIX)gnatbind |
07fc65c4 | 118 | GNATBIND_FLAGS = -static -x |
84481f76 | 119 | ADA_CFLAGS = |
67f28219 | 120 | ADAFLAGS = -W -Wall -gnatpg -gnata |
84481f76 RK |
121 | SOME_ADAFLAGS =-gnata |
122 | FORCE_DEBUG_ADAFLAGS = -g | |
a336eaca | 123 | GNATLIBFLAGS = -gnatpg -nostdinc |
07fc65c4 GB |
124 | GNATLIBCFLAGS = -g -O2 |
125 | GNATLIBCFLAGS_FOR_C = $(GNATLIBCFLAGS) $(TARGET_LIBGCC2_CFLAGS) -fexceptions \ | |
126 | -DIN_RTS | |
b303008e JDA |
127 | ALL_ADA_CFLAGS = $(X_ADA_CFLAGS) $(T_ADA_CFLAGS) $(ADA_CFLAGS) |
128 | ALL_ADAFLAGS = $(CFLAGS) $(ALL_ADA_CFLAGS) $(X_ADAFLAGS) $(T_ADAFLAGS) \ | |
129 | $(ADAFLAGS) | |
130 | MOST_ADAFLAGS = $(CFLAGS) $(ALL_ADA_CFLAGS) $(X_ADAFLAGS) $(T_ADAFLAGS) \ | |
131 | $(SOME_ADAFLAGS) | |
07fc65c4 GB |
132 | THREAD_KIND = native |
133 | THREADSLIB = | |
134 | GMEM_LIB = | |
84481f76 | 135 | MISCLIB = |
fbf5a39b | 136 | SYMLIB = |
6e937c1c | 137 | ADDR2LINE_SYMLIB = -laddr2line -lbfd -liberty $(LIBINTL) |
fbf5a39b AC |
138 | SYMDEPS = $(LIBINTL_DEP) |
139 | OUTPUT_OPTION = @OUTPUT_OPTION@ | |
84481f76 RK |
140 | |
141 | objext = .o | |
142 | exeext = | |
143 | arext = .a | |
144 | soext = .so | |
145 | shext = | |
adc04486 | 146 | hyphen = - |
84481f76 | 147 | |
84481f76 RK |
148 | # Define this as & to perform parallel make on a Sequent. |
149 | # Note that this has some bugs, and it seems currently necessary | |
150 | # to compile all the gen* files first by hand to avoid erroneous results. | |
151 | P = | |
152 | ||
153 | # This is used instead of ALL_CFLAGS when compiling with GCC_FOR_TARGET. | |
154 | # It omits XCFLAGS, and specifies -B./. | |
155 | # It also specifies -B$(tooldir)/ to find as and ld for a cross compiler. | |
07fc65c4 | 156 | GCC_CFLAGS = $(INTERNAL_CFLAGS) $(X_CFLAGS) $(T_CFLAGS) $(CFLAGS) |
84481f76 RK |
157 | |
158 | # Tools to use when building a cross-compiler. | |
159 | # These are used because `configure' appends `cross-make' | |
160 | # to the makefile when making a cross-compiler. | |
161 | ||
162 | # We don't use cross-make. Instead we use the tools from the build tree, | |
163 | # if they are available. | |
164 | # program_transform_name and objdir are set by configure.in. | |
165 | program_transform_name = | |
166 | objdir = . | |
167 | ||
168 | target=@target@ | |
2ed26f6b ZW |
169 | xmake_file = @xmake_file@ |
170 | tmake_file = @tmake_file@ | |
4665e56c | 171 | host_canonical=@host@ |
84481f76 RK |
172 | #version=`sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/' < $(srcdir)/version.c` |
173 | #mainversion=`sed -e 's/.*\"\([0-9]*\.[0-9]*\).*/\1/' < $(srcdir)/version.c` | |
174 | ||
175 | # Directory where sources are, from where we are. | |
176 | srcdir = @srcdir@ | |
fbf5a39b | 177 | VPATH = $(srcdir) |
84481f76 | 178 | |
8c90b13a L |
179 | fsrcdir := $(shell cd $(srcdir);${PWD_COMMAND}) |
180 | fsrcpfx := $(shell cd $(srcdir);${PWD_COMMAND})/ | |
181 | fcurdir := $(shell ${PWD_COMMAND}) | |
182 | fcurpfx := $(shell ${PWD_COMMAND})/ | |
84481f76 RK |
183 | |
184 | # Top build directory, relative to here. | |
fbf5a39b | 185 | top_builddir = ../.. |
84481f76 RK |
186 | |
187 | # Internationalization library. | |
fbf5a39b AC |
188 | LIBINTL = @LIBINTL@ |
189 | LIBINTL_DEP = @LIBINTL_DEP@ | |
84481f76 RK |
190 | |
191 | # Any system libraries needed just for GNAT. | |
192 | SYSLIBS = @GNAT_LIBEXC@ | |
193 | ||
84481f76 | 194 | # List of extra object files linked in with various programs. |
fbf5a39b | 195 | EXTRA_GNATTOOLS_OBJS = ../../prefix.o ../../version.o |
84481f76 RK |
196 | |
197 | # List extra gnattools | |
198 | EXTRA_GNATTOOLS = | |
199 | ||
fbf5a39b AC |
200 | # List of target dependent sources, overridden below as necessary |
201 | TARGET_ADA_SRCS = | |
202 | ||
203 | # Type of tools build we are doing; default is not compiling tools. | |
204 | TOOLSCASE = | |
205 | ||
84481f76 RK |
206 | # End of variables for you to override. |
207 | ||
84481f76 RK |
208 | all: all.indirect |
209 | ||
210 | # This tells GNU Make version 3 not to put all variables in the environment. | |
211 | .NOEXPORT: | |
212 | ||
2ed26f6b ZW |
213 | # tmake_file and xmake_file expand to lists with entries of the form |
214 | # $(srcdir)/config/... but here $(srcdir) is the ada subdirectory so we | |
215 | # need to adjust the paths. There can't be spaces in the subst arguments | |
216 | # or we get spurious spaces in the actual list of files to include. | |
84481f76 | 217 | |
2ed26f6b ZW |
218 | # target overrides |
219 | ifneq ($(tmake_file),) | |
220 | include $(subst /config,/../config,$(tmake_file)) | |
221 | endif | |
222 | ||
223 | # host overrides | |
224 | ifneq ($(xmake_file),) | |
225 | include $(subst /config,/../config,$(xmake_file)) | |
226 | endif | |
84481f76 RK |
227 | \f |
228 | # Now figure out from those variables how to compile and link. | |
229 | ||
230 | all.indirect: Makefile ../gnat1$(exeext) | |
231 | ||
a078a589 ZW |
232 | # IN_GCC distinguishes between code compiled into GCC itself and other |
233 | # programs built during a bootstrap. | |
234 | # autoconf inserts -DCROSS_COMPILE if we are building a cross compiler. | |
235 | INTERNAL_CFLAGS = @CROSS@ -DIN_GCC | |
84481f76 RK |
236 | |
237 | # This is the variable actually used when we compile. | |
238 | LOOSE_CFLAGS = `echo $(CFLAGS) $(WARN2_CFLAGS)|sed -e 's/-pedantic//g' -e 's/-Wtraditional//g'` | |
239 | ALL_CFLAGS = $(INTERNAL_CFLAGS) $(X_CFLAGS) $(T_CFLAGS) $(LOOSE_CFLAGS) \ | |
240 | $(XCFLAGS) | |
241 | ||
242 | # Likewise. | |
243 | ALL_CPPFLAGS = $(CPPFLAGS) $(X_CPPFLAGS) $(T_CPPFLAGS) | |
244 | ||
84481f76 RK |
245 | # This is where we get libiberty.a from. |
246 | LIBIBERTY = ../../libiberty/libiberty.a | |
247 | ||
248 | # How to link with both our special library facilities | |
249 | # and the system's installed libraries. | |
fbf5a39b AC |
250 | LIBS = $(LIBINTL) $(LIBIBERTY) $(SYSLIBS) |
251 | LIBDEPS = $(LIBINTL_DEP) $(LIBIBERTY) | |
af4b9434 | 252 | TOOLS_LIBS = $(LIBGNAT) $(EXTRA_GNATTOOLS_OBJS) link.o ../../../libiberty/libiberty.a $(SYSLIBS) |
84481f76 RK |
253 | |
254 | # Specify the directories to be searched for header files. | |
255 | # Both . and srcdir are used, in that order, | |
256 | # so that tm.h and config.h will be found in the compilation | |
257 | # subdirectory rather than in the source directory. | |
258 | INCLUDES = -I- -I. -I.. -I$(srcdir) -I$(srcdir)/.. -I$(srcdir)/../config \ | |
259 | -I$(srcdir)/../../include | |
260 | ||
261 | ADA_INCLUDES = -I- -I. -I$(srcdir) | |
262 | ||
fbf5a39b AC |
263 | INCLUDES_FOR_SUBDIR = -I. -I.. -I../.. -I$(fsrcdir) -I$(fsrcdir)/../config \ |
264 | -I$(fsrcdir)/../../include -I$(fsrcdir)/.. | |
84481f76 RK |
265 | ADA_INCLUDES_FOR_SUBDIR = -I. -I$(fsrcdir) |
266 | ||
267 | # Avoid a lot of time thinking about remaking Makefile.in and *.def. | |
268 | .SUFFIXES: .in .def | |
269 | ||
270 | # Say how to compile Ada programs. | |
fbf5a39b | 271 | .SUFFIXES: .ada .adb .ads .asm |
84481f76 RK |
272 | |
273 | # Always use -I$(srcdir)/config when compiling. | |
fbf5a39b AC |
274 | .asm.o: |
275 | $(CC) -c -x assembler $< $(OUTPUT_OPTION) | |
276 | ||
84481f76 | 277 | .c.o: |
fbf5a39b AC |
278 | $(CC) -c $(ALL_CFLAGS) $(ADA_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< \ |
279 | $(OUTPUT_OPTION) | |
280 | ||
84481f76 | 281 | .adb.o: |
fbf5a39b AC |
282 | $(CC) -c $(ALL_ADAFLAGS) $(ADA_INCLUDES) $< $(OUTPUT_OPTION) |
283 | ||
84481f76 | 284 | .ads.o: |
fbf5a39b | 285 | $(CC) -c $(ALL_ADAFLAGS) $(ADA_INCLUDES) $< $(OUTPUT_OPTION) |
84481f76 | 286 | |
2ed26f6b ZW |
287 | # how to regenerate this file |
288 | Makefile: ../config.status $(srcdir)/Makefile.in $(srcdir)/../version.c | |
289 | cd ..; \ | |
290 | LANGUAGES="$(CONFIG_LANGUAGES)" \ | |
291 | CONFIG_HEADERS= \ | |
292 | CONFIG_FILES=ada/Makefile $(SHELL) config.status | |
293 | ||
84481f76 RK |
294 | # This tells GNU make version 3 not to export all the variables |
295 | # defined in this file into the environment. | |
296 | .NOEXPORT: | |
297 | \f | |
298 | # Lists of files for various purposes. | |
299 | ||
af4b9434 | 300 | GNATLINK_OBJS = gnatlink.o \ |
7324bf49 | 301 | a-except.o ali.o alloc.o butil.o casing.o csets.o debug.o fmap.o fname.o gnatvsn.o \ |
5d09245e | 302 | hostparm.o indepsw.o interfac.o i-c.o i-cstrin.o namet.o opt.o osint.o output.o rident.o \ |
7324bf49 AC |
303 | s-exctab.o s-secsta.o s-stalib.o s-stoele.o sdefault.o stylesw.o switch.o system.o \ |
304 | table.o tree_io.o types.o validsw.o widechar.o | |
84481f76 | 305 | |
7324bf49 | 306 | GNATMAKE_OBJS = a-except.o ctrl_c.o ali.o ali-util.o s-casuti.o \ |
fbf5a39b AC |
307 | alloc.o atree.o binderr.o butil.o casing.o csets.o debug.o elists.o einfo.o\ |
308 | erroutc.o errutil.o err_vars.o fmap.o fname.o fname-uf.o fname-sf.o \ | |
af4b9434 | 309 | gnatmake.o gnatvsn.o hostparm.o interfac.o i-c.o i-cstrin.o krunch.o lib.o \ |
7324bf49 | 310 | make.o makeusg.o makeutl.o mlib.o mlib-fil.o mlib-prj.o mlib-tgt.o mlib-utl.o \ |
07fc65c4 | 311 | namet.o nlists.o opt.o osint.o osint-m.o output.o \ |
c885d7a1 | 312 | prj.o prj-attr.o prj-attr-pm.o prj-com.o prj-dect.o prj-env.o prj-err.o prj-ext.o prj-nmsc.o \ |
84481f76 | 313 | prj-pars.o prj-part.o prj-proc.o prj-strt.o prj-tree.o prj-util.o \ |
7324bf49 AC |
314 | rident.o s-exctab.o s-secsta.o s-stalib.o s-stoele.o \ |
315 | scans.o scng.o sdefault.o sfn_scan.o s-purexc.o s-htable.o \ | |
fbf5a39b | 316 | sinfo.o sinput.o sinput-c.o sinput-p.o \ |
7324bf49 | 317 | snames.o stand.o stringt.o styleg.o stylesw.o system.o validsw.o switch.o switch-m.o \ |
fbf5a39b AC |
318 | table.o targparm.o tempdir.o tree_io.o types.o \ |
319 | uintp.o uname.o urealp.o usage.o widechar.o \ | |
320 | $(EXTRA_GNATMAKE_OBJS) | |
84481f76 RK |
321 | |
322 | # Convert the target variable into a space separated list of architecture, | |
323 | # manufacturer, and operating system and assign each of those to its own | |
324 | # variable. | |
325 | ||
07fc65c4 | 326 | host:=$(subst -, ,$(host_canonical)) |
84481f76 RK |
327 | targ:=$(subst -, ,$(target)) |
328 | arch:=$(word 1,$(targ)) | |
329 | ifeq ($(words $(targ)),2) | |
330 | manu:= | |
331 | osys:=$(word 2,$(targ)) | |
332 | else | |
333 | manu:=$(word 2,$(targ)) | |
334 | osys:=$(word 3,$(targ)) | |
335 | endif | |
336 | ||
337 | # LIBGNAT_TARGET_PAIRS is a list of pairs of filenames. | |
338 | # The members of each pair must be separated by a '<' and no whitespace. | |
339 | # Each pair must be separated by some amount of whitespace from the following | |
340 | # pair. | |
341 | ||
342 | # Non-tasking case: | |
343 | ||
344 | LIBGNAT_TARGET_PAIRS = \ | |
084c663c AC |
345 | a-intnam.ads<a-intnam-dummy.ads \ |
346 | s-inmaop.adb<s-inmaop-dummy.adb \ | |
347 | s-intman.adb<s-intman-dummy.adb \ | |
348 | s-osinte.ads<s-osinte-dummy.ads \ | |
349 | s-osprim.adb<s-osprim-posix.adb \ | |
350 | s-taprop.adb<s-taprop-dummy.adb \ | |
351 | s-taspri.ads<s-taspri-dummy.ads | |
84481f76 RK |
352 | |
353 | # Default shared object option. Note that we rely on the fact that the "soname" | |
354 | # option will always be present and last in this flag, so that we can have | |
355 | # $(SO_OPTS)libgnat-x.xx | |
356 | ||
07fc65c4 | 357 | SO_OPTS = -Wl,-soname, |
84481f76 RK |
358 | |
359 | # Default gnatlib-shared target. | |
fbf5a39b AC |
360 | # By default, equivalent to gnatlib. |
361 | # Set to gnatlib-shared-default, gnatlib-shared-dual, or a platform specific | |
362 | # target when supported. | |
363 | GNATLIB_SHARED = gnatlib | |
84481f76 | 364 | |
44d6a706 | 365 | # default value for gnatmake's target dependent file |
07fc65c4 | 366 | MLIB_TGT = mlib-tgt |
84481f76 | 367 | |
fbf5a39b AC |
368 | # By default, do not distribute prefix.o (in libgccprefix), since it is only |
369 | # needed by external GNAT tools such as gnatdist and Glide. | |
370 | # Override this variable on native platforms when needed. | |
371 | PREFIX_OBJS = | |
372 | ||
373 | # To avoid duplicate code, use this variable to set PREFIX_OBJS when needed: | |
374 | PREFIX_REAL_OBJS = ../prefix.o \ | |
375 | ../../libiberty/concat.o \ | |
376 | ../../libiberty/xmalloc.o \ | |
377 | ../../libiberty/xstrdup.o \ | |
378 | ../../libiberty/xexit.o | |
379 | ||
efdfd311 AC |
380 | LIB_VERSION = $(strip $(shell grep ' Library_Version :' $(fsrcpfx)gnatvsn.ads | sed -e 's/.*"\(.*\)".*/\1/')) |
381 | ||
84481f76 RK |
382 | # $(filter-out PATTERN...,TEXT) removes all PATTERN words from TEXT. |
383 | # $(strip STRING) removes leading and trailing spaces from STRING. | |
384 | # If what's left is null then it's a match. | |
385 | ||
386 | ifeq ($(strip $(filter-out %86 os2 OS2 os2_emx,$(arch) $(osys))),) | |
387 | LIBGNAT_TARGET_PAIRS = \ | |
084c663c AC |
388 | a-excpol.adb<a-excpol-abort.adb \ |
389 | a-intnam.ads<a-intnam-dummy.ads \ | |
390 | a-numaux.adb<a-numaux-x86.adb \ | |
391 | a-numaux.ads<a-numaux-x86.ads \ | |
392 | s-inmaop.adb<s-inmaop-dummy.adb \ | |
393 | s-interr.adb<s-interr-dummy.adb \ | |
394 | s-intman.adb<s-intman-dummy.adb \ | |
395 | s-mastop.adb<s-mastop-x86.adb \ | |
396 | s-osinte.adb<s-osinte-os2.adb \ | |
397 | s-osinte.ads<s-osinte-os2.ads \ | |
398 | s-osprim.adb<s-osprim-os2.adb \ | |
399 | s-parame.adb<s-parame-os2.adb \ | |
400 | system.ads<system-os2.ads \ | |
401 | s-taprop.adb<s-taprop-os2.adb \ | |
402 | s-taspri.ads<s-taspri-os2.ads | |
84481f76 RK |
403 | |
404 | EXTRA_GNATRTL_NONTASKING_OBJS = \ | |
405 | i-os2err.o \ | |
406 | i-os2lib.o \ | |
407 | i-os2syn.o \ | |
408 | i-os2thr.o | |
409 | endif | |
410 | ||
07fc65c4 | 411 | ifeq ($(strip $(filter-out %86 interix%,$(arch) $(osys))),) |
84481f76 | 412 | LIBGNAT_TARGET_PAIRS = \ |
084c663c AC |
413 | a-excpol.adb<a-excpol-interix.adb \ |
414 | a-intnam.ads<a-intnam-interix.ads \ | |
415 | a-numaux.adb<a-numaux-x86.adb \ | |
416 | a-numaux.ads<a-numaux-x86.ads \ | |
417 | g-soccon.ads<g-soccon-interix.ads \ | |
418 | s-inmaop.adb<s-inmaop-posix.adb \ | |
419 | s-intman.adb<s-intman-posix.adb \ | |
420 | s-mastop.adb<s-mastop-x86.adb \ | |
421 | s-osinte.adb<s-osinte-fsu.adb \ | |
422 | s-osinte.ads<s-osinte-interix.ads \ | |
423 | s-osprim.adb<s-osprim-unix.adb \ | |
424 | s-taprop.adb<s-taprop-posix.adb \ | |
425 | system.ads<system-interix.ads \ | |
426 | s-taspri.ads<s-taspri-posix.ads \ | |
427 | s-tpopsp.adb<s-tpopsp-posix.adb | |
84481f76 | 428 | |
07fc65c4 | 429 | THREADSLIB = -lgthreads -lmalloc |
fbf5a39b | 430 | PREFIX_OBJS=$(PREFIX_REAL_OBJS) |
84481f76 RK |
431 | endif |
432 | ||
433 | # sysv5uw is SCO UnixWare 7 | |
434 | ifeq ($(strip $(filter-out %86 sysv5uw%,$(arch) $(osys))),) | |
435 | LIBGNAT_TARGET_PAIRS = \ | |
084c663c AC |
436 | a-excpol.adb<a-excpol-abort.adb \ |
437 | a-intnam.ads<a-intnam-unixware.ads \ | |
438 | a-numaux.adb<a-numaux-x86.adb \ | |
439 | a-numaux.ads<a-numaux-x86.ads \ | |
440 | s-inmaop.adb<s-inmaop-posix.adb \ | |
441 | s-intman.adb<s-intman-posix.adb \ | |
442 | s-mastop.adb<s-mastop-x86.adb \ | |
443 | s-osinte.ads<s-osinte-unixware.ads \ | |
444 | s-osinte.adb<s-osinte-unixware.adb \ | |
445 | s-osprim.adb<s-osprim-unix.adb \ | |
446 | s-taprop.adb<s-taprop-posix.adb \ | |
447 | s-taspri.ads<s-taspri-posix.ads \ | |
448 | s-tpopsp.adb<s-tpopsp-posix-foreign.adb \ | |
449 | system.ads<system-unixware.ads \ | |
450 | g-soccon.ads<g-soccon-unixware.ads \ | |
451 | g-soliop.ads<g-soliop-unixware.ads | |
84481f76 | 452 | |
07fc65c4 | 453 | THREADSLIB = -lthread |
fbf5a39b | 454 | PREFIX_OBJS=$(PREFIX_REAL_OBJS) |
07fc65c4 GB |
455 | SO_OPTS = -Wl,-h, |
456 | GNATLIB_SHARED = gnatlib-shared-dual | |
efdfd311 | 457 | LIBRARY_VERSION := $(LIB_VERSION) |
84481f76 RK |
458 | endif |
459 | ||
84481f76 RK |
460 | ifeq ($(strip $(filter-out alpha% dec vx%,$(targ))),) |
461 | LIBGNAT_TARGET_PAIRS = \ | |
084c663c AC |
462 | a-sytaco.ads<a-sytaco-vxworks.ads \ |
463 | a-sytaco.adb<a-sytaco-vxworks.adb \ | |
464 | a-intnam.ads<a-intnam-vxworks.ads \ | |
465 | a-numaux.ads<a-numaux-vxworks.ads \ | |
466 | s-inmaop.adb<s-inmaop-posix.adb \ | |
467 | s-interr.adb<s-interr-vxworks.adb \ | |
468 | s-intman.ads<s-intman-vxworks.ads \ | |
469 | s-intman.adb<s-intman-vxworks.adb \ | |
470 | s-osinte.adb<s-osinte-vxworks.adb \ | |
471 | s-osinte.ads<s-osinte-vxworks.ads \ | |
472 | s-osprim.adb<s-osprim-vxworks.adb \ | |
473 | s-parame.ads<s-parame-vxworks.ads \ | |
474 | s-stchop.adb<s-stchop-vxworks.adb \ | |
475 | s-taprop.adb<s-taprop-vxworks.adb \ | |
476 | s-tpopsp.adb<s-tpopsp-vxworks.adb \ | |
477 | s-taspri.ads<s-taspri-vxworks.ads \ | |
478 | s-vxwork.ads<s-vxwork-alpha.ads \ | |
479 | g-soccon.ads<g-soccon-vxworks.ads \ | |
480 | g-socthi.ads<g-socthi-vxworks.ads \ | |
481 | g-socthi.adb<g-socthi-vxworks.adb \ | |
482 | system.ads<system-vxworks-alpha.ads | |
84481f76 | 483 | |
07fc65c4 | 484 | EXTRA_GNATRTL_NONTASKING_OBJS=i-vxwork.o i-vxwoio.o |
84481f76 RK |
485 | EXTRA_GNATRTL_TASKING_OBJS=s-vxwork.o |
486 | endif | |
487 | ||
488 | ifeq ($(strip $(filter-out m68k% wrs vx%,$(targ))),) | |
489 | LIBGNAT_TARGET_PAIRS = \ | |
084c663c AC |
490 | a-sytaco.ads<a-sytaco-vxworks.ads \ |
491 | a-sytaco.adb<a-sytaco-vxworks.adb \ | |
492 | a-intnam.ads<a-intnam-vxworks.ads \ | |
493 | a-numaux.ads<a-numaux-vxworks.ads \ | |
494 | s-inmaop.adb<s-inmaop-posix.adb \ | |
495 | s-interr.adb<s-interr-vxworks.adb \ | |
496 | s-intman.ads<s-intman-vxworks.ads \ | |
497 | s-intman.adb<s-intman-vxworks.adb \ | |
498 | s-osinte.adb<s-osinte-vxworks.adb \ | |
499 | s-osinte.ads<s-osinte-vxworks.ads \ | |
500 | s-osprim.adb<s-osprim-vxworks.adb \ | |
501 | s-parame.ads<s-parame-vxworks.ads \ | |
502 | s-stchop.adb<s-stchop-vxworks.adb \ | |
503 | s-taprop.adb<s-taprop-vxworks.adb \ | |
504 | s-taspri.ads<s-taspri-vxworks.ads \ | |
505 | s-tpopsp.adb<s-tpopsp-vxworks.adb \ | |
506 | s-vxwork.ads<s-vxwork-m68k.ads \ | |
507 | g-soccon.ads<g-soccon-vxworks.ads \ | |
508 | g-socthi.ads<g-socthi-vxworks.ads \ | |
509 | g-socthi.adb<g-socthi-vxworks.adb \ | |
510 | system.ads<system-vxworks-m68k.ads | |
511 | ||
512 | TOOLS_TARGET_PAIRS=mlib-tgt.adb<mlib-tgt-vxworks.adb | |
fbf5a39b | 513 | |
07fc65c4 | 514 | EXTRA_GNATRTL_NONTASKING_OBJS=i-vxwork.o i-vxwoio.o |
84481f76 RK |
515 | EXTRA_GNATRTL_TASKING_OBJS=s-vxwork.o |
516 | ||
07fc65c4 GB |
517 | ifeq ($(strip $(filter-out yes,$(TRACE))),) |
518 | LIBGNAT_TARGET_PAIRS += \ | |
084c663c AC |
519 | s-traces.adb<s-traces-default.adb \ |
520 | s-tratas.adb<s-tratas-default.adb \ | |
521 | s-trafor.adb<s-trafor-default.adb \ | |
522 | s-trafor.ads<s-trafor-default.ads \ | |
523 | s-tfsetr.adb<s-tfsetr-vxworks.adb | |
07fc65c4 | 524 | endif |
84481f76 RK |
525 | endif |
526 | ||
fbf5a39b | 527 | ifeq ($(strip $(filter-out powerpc% wrs vxworks,$(targ))),) |
84481f76 | 528 | LIBGNAT_TARGET_PAIRS = \ |
084c663c AC |
529 | a-sytaco.ads<a-sytaco-vxworks.ads \ |
530 | a-sytaco.adb<a-sytaco-vxworks.adb \ | |
531 | a-intnam.ads<a-intnam-vxworks.ads \ | |
532 | a-numaux.ads<a-numaux-vxworks.ads \ | |
533 | s-inmaop.adb<s-inmaop-posix.adb \ | |
534 | s-interr.adb<s-interr-vxworks.adb \ | |
535 | s-intman.ads<s-intman-vxworks.ads \ | |
536 | s-intman.adb<s-intman-vxworks.adb \ | |
537 | s-osinte.adb<s-osinte-vxworks.adb \ | |
538 | s-osinte.ads<s-osinte-vxworks.ads \ | |
539 | s-osprim.adb<s-osprim-vxworks.adb \ | |
540 | s-parame.ads<s-parame-vxworks.ads \ | |
541 | s-stchop.adb<s-stchop-vxworks.adb \ | |
542 | s-taprop.adb<s-taprop-vxworks.adb \ | |
543 | s-taspri.ads<s-taspri-vxworks.ads \ | |
544 | s-tpopsp.adb<s-tpopsp-vxworks.adb \ | |
545 | s-vxwork.ads<s-vxwork-ppc.ads \ | |
546 | g-soccon.ads<g-soccon-vxworks.ads \ | |
547 | g-socthi.ads<g-socthi-vxworks.ads \ | |
548 | g-socthi.adb<g-socthi-vxworks.adb \ | |
549 | system.ads<system-vxworks-ppc.ads | |
550 | ||
551 | TOOLS_TARGET_PAIRS=mlib-tgt.adb<mlib-tgt-vxworks.adb | |
fbf5a39b | 552 | |
fbf5a39b AC |
553 | ifeq ($(strip $(filter-out yes,$(TRACE))),) |
554 | LIBGNAT_TARGET_PAIRS += \ | |
084c663c AC |
555 | s-traces.adb<s-traces-default.adb \ |
556 | s-trafor.adb<s-trafor-default.adb \ | |
557 | s-trafor.ads<s-trafor-default.ads \ | |
558 | s-tratas.adb<s-tratas-default.adb \ | |
559 | s-tfsetr.adb<s-tfsetr-vxworks.adb | |
fbf5a39b | 560 | endif |
0ab80019 | 561 | |
c4820158 | 562 | EXTRA_GNATRTL_NONTASKING_OBJS=i-vxwork.o i-vxwoio.o s-vxwexc.o |
0ab80019 | 563 | EXTRA_GNATRTL_TASKING_OBJS=s-vxwork.o |
fbf5a39b AC |
564 | endif |
565 | ||
84481f76 RK |
566 | ifeq ($(strip $(filter-out sparc% wrs vx%,$(targ))),) |
567 | LIBGNAT_TARGET_PAIRS = \ | |
084c663c AC |
568 | a-sytaco.ads<a-sytaco-vxworks.ads \ |
569 | a-sytaco.adb<a-sytaco-vxworks.adb \ | |
570 | a-intnam.ads<a-intnam-vxworks.ads \ | |
571 | a-numaux.ads<a-numaux-vxworks.ads \ | |
572 | s-inmaop.adb<s-inmaop-posix.adb \ | |
573 | s-interr.adb<s-interr-vxworks.adb \ | |
574 | s-intman.ads<s-intman-vxworks.ads \ | |
575 | s-intman.adb<s-intman-vxworks.adb \ | |
576 | s-osinte.adb<s-osinte-vxworks.adb \ | |
577 | s-osinte.ads<s-osinte-vxworks.ads \ | |
578 | s-osprim.adb<s-osprim-vxworks.adb \ | |
579 | s-parame.ads<s-parame-vxworks.ads \ | |
580 | s-stchop.adb<s-stchop-vxworks.adb \ | |
581 | s-taprop.adb<s-taprop-vxworks.adb \ | |
582 | s-taspri.ads<s-taspri-vxworks.ads \ | |
583 | s-tpopsp.adb<s-tpopsp-vxworks.adb \ | |
584 | s-vxwork.ads<s-vxwork-sparcv9.ads \ | |
585 | g-soccon.ads<g-soccon-vxworks.ads \ | |
586 | g-socthi.ads<g-socthi-vxworks.ads \ | |
587 | g-socthi.adb<g-socthi-vxworks.adb \ | |
588 | system.ads<system-vxworks-sparcv9.ads \ | |
589 | ||
590 | TOOLS_TARGET_PAIRS=mlib-tgt.adb<mlib-tgt-vxworks.adb | |
fbf5a39b AC |
591 | |
592 | EXTRA_GNATRTL_NONTASKING_OBJS=i-vxwork.o i-vxwoio.o | |
593 | EXTRA_GNATRTL_TASKING_OBJS=s-vxwork.o | |
594 | endif | |
595 | ||
5d09245e AC |
596 | ifeq ($(strip $(filter-out %86 wrs vxworks,$(targ))),) |
597 | LIBGNAT_TARGET_PAIRS = \ | |
598 | a-sytaco.ads<a-sytaco-vxworks.ads \ | |
599 | a-sytaco.adb<a-sytaco-vxworks.adb \ | |
600 | a-intnam.ads<a-intnam-vxworks.ads \ | |
71c10a83 | 601 | i-vxwork.ads<i-vxwork-x86.ads \ |
5d09245e AC |
602 | s-inmaop.adb<s-inmaop-posix.adb \ |
603 | s-interr.adb<s-interr-vxworks.adb \ | |
604 | s-intman.ads<s-intman-vxworks.ads \ | |
605 | s-intman.adb<s-intman-vxworks.adb \ | |
606 | a-numaux.adb<a-numaux-x86.adb \ | |
607 | a-numaux.ads<a-numaux-x86.ads \ | |
608 | s-osinte.adb<s-osinte-vxworks.adb \ | |
609 | s-osinte.ads<s-osinte-vxworks.ads \ | |
610 | s-osprim.adb<s-osprim-vxworks.adb \ | |
611 | s-parame.ads<s-parame-vxworks.ads \ | |
612 | s-stchop.adb<s-stchop-vxworks.adb \ | |
613 | s-taprop.adb<s-taprop-vxworks.adb \ | |
614 | s-taspri.ads<s-taspri-vxworks.ads \ | |
615 | s-tpopsp.adb<s-tpopsp-vxworks.adb \ | |
616 | s-vxwork.ads<s-vxwork-x86.ads \ | |
617 | g-soccon.ads<g-soccon-vxworks.ads \ | |
618 | g-socthi.ads<g-socthi-vxworks.ads \ | |
619 | g-socthi.adb<g-socthi-vxworks.adb \ | |
620 | system.ads<system-vxworks-x86.ads | |
621 | ||
622 | TOOLS_TARGET_PAIRS=mlib-tgt.adb<mlib-tgt-vxworks.adb | |
623 | ||
624 | ifeq ($(strip $(filter-out yes,$(TRACE))),) | |
625 | LIBGNAT_TARGET_PAIRS += \ | |
626 | s-traces.adb<s-traces-default.adb \ | |
627 | s-trafor.adb<s-trafor-default.adb \ | |
628 | s-trafor.ads<s-trafor-default.ads \ | |
629 | s-tratas.adb<s-tratas-default.adb \ | |
630 | s-tfsetr.adb<s-tfsetr-vxworks.adb | |
631 | endif | |
632 | ||
633 | EXTRA_GNATRTL_NONTASKING_OBJS=i-vxwork.o i-vxwoio.o | |
634 | EXTRA_GNATRTL_TASKING_OBJS=s-vxwork.o | |
635 | endif | |
636 | ||
fbf5a39b AC |
637 | ifeq ($(strip $(filter-out xscale% coff wrs vx%,$(targ))),) |
638 | LIBGNAT_TARGET_PAIRS = \ | |
084c663c AC |
639 | a-sytaco.ads<a-sytaco-vxworks.ads \ |
640 | a-sytaco.adb<a-sytaco-vxworks.adb \ | |
641 | a-intnam.ads<a-intnam-vxworks.ads \ | |
642 | a-numaux.ads<a-numaux-vxworks.ads \ | |
643 | s-inmaop.adb<s-inmaop-posix.adb \ | |
644 | s-interr.adb<s-interr-vxworks.adb \ | |
645 | s-intman.ads<s-intman-vxworks.ads \ | |
646 | s-intman.adb<s-intman-vxworks.adb \ | |
647 | s-osinte.adb<s-osinte-vxworks.adb \ | |
648 | s-osinte.ads<s-osinte-vxworks.ads \ | |
649 | s-osprim.adb<s-osprim-vxworks.adb \ | |
650 | s-parame.ads<s-parame-vxworks.ads \ | |
651 | s-stchop.adb<s-stchop-vxworks.adb \ | |
652 | s-taprop.adb<s-taprop-vxworks.adb \ | |
653 | s-taspri.ads<s-taspri-vxworks.ads \ | |
654 | s-tpopsp.adb<s-tpopsp-vxworks.adb \ | |
655 | s-vxwork.ads<s-vxwork-xscale.ads \ | |
656 | g-soccon.ads<g-soccon-vxworks.ads \ | |
657 | g-socthi.ads<g-socthi-vxworks.ads \ | |
658 | g-socthi.adb<g-socthi-vxworks.adb \ | |
659 | system.ads<system-elf-sparc.ads | |
660 | ||
661 | TOOLS_TARGET_PAIRS=mlib-tgt.adb<mlib-tgt-vxworks.adb | |
84481f76 | 662 | |
fbf5a39b | 663 | EXTRA_GNATRTL_NONTASKING_OBJS=i-vxwork.o i-vxwoio.o |
84481f76 RK |
664 | EXTRA_GNATRTL_TASKING_OBJS=s-vxwork.o |
665 | endif | |
666 | ||
667 | ifeq ($(strip $(filter-out mips% wrs vx%,$(targ))),) | |
668 | LIBGNAT_TARGET_PAIRS = \ | |
084c663c AC |
669 | a-sytaco.ads<a-sytaco-vxworks.ads \ |
670 | a-sytaco.adb<a-sytaco-vxworks.adb \ | |
671 | a-intnam.ads<a-intnam-vxworks.ads \ | |
672 | a-numaux.ads<a-numaux-vxworks.ads \ | |
673 | s-inmaop.adb<s-inmaop-posix.adb \ | |
674 | s-interr.adb<s-interr-vxworks.adb \ | |
675 | s-intman.ads<s-intman-vxworks.ads \ | |
676 | s-intman.adb<s-intman-vxworks.adb \ | |
677 | s-osinte.adb<s-osinte-vxworks.adb \ | |
678 | s-osinte.ads<s-osinte-vxworks.ads \ | |
679 | s-osprim.adb<s-osprim-vxworks.adb \ | |
680 | s-parame.ads<s-parame-vxworks.ads \ | |
681 | s-stchop.adb<s-stchop-vxworks.adb \ | |
682 | s-taprop.adb<s-taprop-vxworks.adb \ | |
683 | s-taspri.ads<s-taspri-vxworks.ads \ | |
684 | s-tpopsp.adb<s-tpopsp-vxworks.adb \ | |
685 | s-vxwork.ads<s-vxwork-mips.ads \ | |
686 | g-soccon.ads<g-soccon-vxworks.ads \ | |
687 | g-socthi.ads<g-socthi-vxworks.ads \ | |
688 | g-socthi.adb<g-socthi-vxworks.adb \ | |
689 | system.ads<system-vxworks-mips.ads | |
690 | ||
691 | TOOLS_TARGET_PAIRS=mlib-tgt.adb<mlib-tgt-vxworks.adb | |
84481f76 | 692 | |
fbf5a39b | 693 | EXTRA_GNATRTL_NONTASKING_OBJS=i-vxwork.o i-vxwoio.o |
84481f76 RK |
694 | EXTRA_GNATRTL_TASKING_OBJS=s-vxwork.o |
695 | endif | |
696 | ||
fbf5a39b | 697 | ifeq ($(strip $(filter-out sparc sun solaris%,$(targ))),) |
84481f76 | 698 | LIBGNAT_TARGET_PAIRS = \ |
084c663c AC |
699 | a-intnam.ads<a-intnam-solaris.ads \ |
700 | s-inmaop.adb<s-inmaop-posix.adb \ | |
701 | s-intman.adb<s-intman-solaris.adb \ | |
702 | s-osinte.adb<s-osinte-solaris.adb \ | |
703 | s-osinte.ads<s-osinte-solaris.ads \ | |
704 | s-osprim.adb<s-osprim-solaris.adb \ | |
705 | s-parame.adb<s-parame-solaris.adb \ | |
706 | s-taprop.adb<s-taprop-solaris.adb \ | |
707 | s-tasinf.adb<s-tasinf-solaris.adb \ | |
708 | s-tasinf.ads<s-tasinf-solaris.ads \ | |
709 | s-taspri.ads<s-taspri-solaris.ads \ | |
710 | s-tpopsp.adb<s-tpopsp-solaris.adb \ | |
711 | g-soccon.ads<g-soccon-solaris.ads \ | |
712 | g-soliop.ads<g-soliop-solaris.ads \ | |
713 | system.ads<system-solaris-sparc.ads | |
714 | ||
715 | TOOLS_TARGET_PAIRS=mlib-tgt.adb<mlib-tgt-solaris.adb | |
fbf5a39b | 716 | |
07fc65c4 GB |
717 | THREADSLIB = -lposix4 -lthread |
718 | MISCLIB = -lposix4 -lnsl -lsocket | |
6e937c1c | 719 | SYMLIB = $(ADDR2LINE_SYMLIB) |
07fc65c4 GB |
720 | SO_OPTS = -Wl,-h, |
721 | GNATLIB_SHARED = gnatlib-shared-dual | |
722 | GMEM_LIB = gmemlib | |
fbf5a39b | 723 | PREFIX_OBJS = $(PREFIX_REAL_OBJS) |
efdfd311 | 724 | LIBRARY_VERSION := $(LIB_VERSION) |
84481f76 RK |
725 | |
726 | ifeq ($(strip $(filter-out fsu FSU,$(THREAD_KIND))),) | |
727 | LIBGNAT_TARGET_PAIRS = \ | |
084c663c AC |
728 | a-intnam.ads<a-intnam-solaris.ads \ |
729 | s-inmaop.adb<s-inmaop-posix.adb \ | |
730 | s-intman.adb<s-intman-solaris.adb \ | |
731 | s-osinte.adb<s-osinte-fsu.adb \ | |
732 | s-osinte.ads<s-osinte-solaris-fsu.ads \ | |
733 | s-osprim.adb<s-osprim-solaris.adb \ | |
734 | s-taprop.adb<s-taprop-posix.adb \ | |
735 | s-taspri.ads<s-taspri-posix.ads \ | |
736 | s-tpopsp.adb<s-tpopsp-posix.adb \ | |
737 | g-soccon.ads<g-soccon-solaris.ads \ | |
738 | g-soliop.ads<g-soliop-solaris.ads \ | |
739 | system.ads<system-solaris-sparc.ads | |
84481f76 | 740 | |
07fc65c4 | 741 | THREADSLIB = -lgthreads -lmalloc |
84481f76 RK |
742 | endif |
743 | ||
744 | ifeq ($(strip $(filter-out pthread PTHREAD,$(THREAD_KIND))),) | |
745 | LIBGNAT_TARGET_PAIRS = \ | |
084c663c AC |
746 | a-intnam.ads<a-intnam-solaris.ads \ |
747 | s-inmaop.adb<s-inmaop-posix.adb \ | |
748 | s-intman.adb<s-intman-posix.adb \ | |
749 | s-osinte.adb<s-osinte-posix.adb \ | |
750 | s-osinte.ads<s-osinte-solaris-posix.ads \ | |
751 | s-osprim.adb<s-osprim-solaris.adb \ | |
752 | s-taprop.adb<s-taprop-posix.adb \ | |
753 | s-taspri.ads<s-taspri-posix.ads \ | |
754 | s-tpopsp.adb<s-tpopsp-posix-foreign.adb \ | |
755 | g-soccon.ads<g-soccon-solaris.ads \ | |
756 | g-soliop.ads<g-soliop-solaris.ads \ | |
757 | system.ads<system-solaris-sparc.ads | |
84481f76 | 758 | |
07fc65c4 | 759 | THREADSLIB = -lposix4 -lpthread |
84481f76 | 760 | endif |
fbf5a39b AC |
761 | |
762 | ifeq ($(strip $(filter-out m64,$(THREAD_KIND))),) | |
763 | LIBGNAT_TARGET_PAIRS = \ | |
084c663c AC |
764 | a-intnam.ads<a-intnam-solaris.ads \ |
765 | s-inmaop.adb<s-inmaop-posix.adb \ | |
766 | s-intman.adb<s-intman-solaris.adb \ | |
767 | s-osinte.adb<s-osinte-solaris.adb \ | |
768 | s-osinte.ads<s-osinte-solaris.ads \ | |
769 | s-osprim.adb<s-osprim-solaris.adb \ | |
770 | s-parame.adb<s-parame-solaris.adb \ | |
771 | s-taprop.adb<s-taprop-solaris.adb \ | |
772 | s-tasinf.adb<s-tasinf-solaris.adb \ | |
773 | s-tasinf.ads<s-tasinf-solaris.ads \ | |
774 | s-taspri.ads<s-taspri-solaris.ads \ | |
775 | s-tpopsp.adb<s-tpopsp-solaris.adb \ | |
776 | g-soccon.ads<g-soccon-solaris.ads \ | |
777 | g-soliop.ads<g-soliop-solaris.ads \ | |
778 | system.ads<system-solaris-sparcv9.ads | |
fbf5a39b | 779 | endif |
84481f76 RK |
780 | endif |
781 | ||
782 | ifeq ($(strip $(filter-out %86 solaris2%,$(arch) $(osys))),) | |
783 | LIBGNAT_TARGET_PAIRS = \ | |
084c663c AC |
784 | a-numaux.adb<a-numaux-x86.adb \ |
785 | a-numaux.ads<a-numaux-x86.ads \ | |
786 | a-intnam.ads<a-intnam-solaris.ads \ | |
787 | s-inmaop.adb<s-inmaop-posix.adb \ | |
788 | s-intman.adb<s-intman-solaris.adb \ | |
789 | s-mastop.adb<s-mastop-x86.adb \ | |
790 | s-osinte.adb<s-osinte-solaris.adb \ | |
791 | s-osinte.ads<s-osinte-solaris.ads \ | |
792 | s-osprim.adb<s-osprim-solaris.adb \ | |
793 | s-parame.adb<s-parame-solaris.adb \ | |
794 | s-taprop.adb<s-taprop-solaris.adb \ | |
795 | s-tasinf.adb<s-tasinf-solaris.adb \ | |
796 | s-tasinf.ads<s-tasinf-solaris.ads \ | |
797 | s-taspri.ads<s-taspri-solaris.ads \ | |
798 | s-tpopsp.adb<s-tpopsp-solaris.adb \ | |
799 | g-soccon.ads<g-soccon-solaris.ads \ | |
800 | g-soliop.ads<g-soliop-solaris.ads \ | |
801 | system.ads<system-solaris-x86.ads | |
84481f76 | 802 | |
07fc65c4 GB |
803 | THREADSLIB = -lposix4 -lthread |
804 | MISCLIB = -lposix4 -lnsl -lsocket | |
805 | SO_OPTS = -Wl,-h, | |
806 | GNATLIB_SHARED = gnatlib-shared-dual | |
fbf5a39b | 807 | PREFIX_OBJS = $(PREFIX_REAL_OBJS) |
efdfd311 | 808 | LIBRARY_VERSION := $(LIB_VERSION) |
84481f76 RK |
809 | endif |
810 | ||
811 | ifeq ($(strip $(filter-out %86 linux%,$(arch) $(osys))),) | |
812 | LIBGNAT_TARGET_PAIRS = \ | |
084c663c AC |
813 | a-intnam.ads<a-intnam-linux.ads \ |
814 | a-numaux.adb<a-numaux-x86.adb \ | |
815 | a-numaux.ads<a-numaux-x86.ads \ | |
816 | s-inmaop.adb<s-inmaop-posix.adb \ | |
817 | s-intman.adb<s-intman-posix.adb \ | |
818 | s-mastop.adb<s-mastop-x86.adb \ | |
819 | s-osinte.adb<s-osinte-posix.adb \ | |
820 | s-osinte.ads<s-osinte-linux.ads \ | |
821 | s-osprim.adb<s-osprim-posix.adb \ | |
822 | s-taprop.adb<s-taprop-linux.adb \ | |
823 | s-taspri.ads<s-taspri-linux.ads \ | |
824 | s-tpopsp.adb<s-tpopsp-posix-foreign.adb \ | |
825 | s-parame.adb<s-parame-linux.adb \ | |
826 | system.ads<system-linux-x86.ads | |
84481f76 | 827 | |
6e937c1c | 828 | TOOLS_TARGET_PAIRS = \ |
5d09245e AC |
829 | mlib-tgt.adb<mlib-tgt-linux.adb \ |
830 | indepsw.adb<indepsw-linux.adb | |
6e937c1c AC |
831 | |
832 | SYMLIB = $(ADDR2LINE_SYMLIB) | |
07fc65c4 GB |
833 | THREADSLIB = -lpthread |
834 | GNATLIB_SHARED = gnatlib-shared-dual | |
835 | GMEM_LIB = gmemlib | |
fbf5a39b | 836 | PREFIX_OBJS = $(PREFIX_REAL_OBJS) |
efdfd311 | 837 | LIBRARY_VERSION := $(LIB_VERSION) |
84481f76 RK |
838 | |
839 | ifeq ($(strip $(filter-out fsu FSU,$(THREAD_KIND))),) | |
840 | LIBGNAT_TARGET_PAIRS = \ | |
084c663c AC |
841 | a-intnam.ads<a-intnam-linux.ads \ |
842 | a-numaux.adb<a-numaux-x86.adb \ | |
843 | a-numaux.ads<a-numaux-x86.ads \ | |
844 | s-inmaop.adb<s-inmaop-posix.adb \ | |
845 | s-intman.adb<s-intman-posix.adb \ | |
846 | s-mastop.adb<s-mastop-x86.adb \ | |
847 | s-osinte.adb<s-osinte-fsu.adb \ | |
848 | s-osinte.ads<s-osinte-linux-fsu.ads \ | |
849 | s-osprim.adb<s-osprim-posix.adb \ | |
850 | s-taprop.adb<s-taprop-posix.adb \ | |
851 | s-taspri.ads<s-taspri-posix.ads \ | |
852 | s-tpopsp.adb<s-tpopsp-posix.adb \ | |
853 | system.ads<system-linux-x86.ads | |
84481f76 | 854 | |
07fc65c4 | 855 | THREADSLIB = -lgthreads -lmalloc |
84481f76 | 856 | endif |
84481f76 RK |
857 | endif |
858 | ||
19f0526a AC |
859 | ifeq ($(strip $(filter-out %86 freebsd%,$(arch) $(osys))),) |
860 | LIBGNAT_TARGET_PAIRS = \ | |
084c663c AC |
861 | a-intnam.ads<a-intnam-freebsd.ads \ |
862 | a-numaux.adb<a-numaux-x86.adb \ | |
863 | a-numaux.ads<a-numaux-x86.ads \ | |
864 | g-soccon.ads<g-soccon-freebsd.ads \ | |
865 | s-inmaop.adb<s-inmaop-posix.adb \ | |
866 | s-intman.adb<s-intman-posix.adb \ | |
867 | s-mastop.adb<s-mastop-x86.adb \ | |
868 | s-osinte.adb<s-osinte-freebsd.adb \ | |
869 | s-osinte.ads<s-osinte-freebsd.ads \ | |
870 | s-osprim.adb<s-osprim-posix.adb \ | |
871 | s-taprop.adb<s-taprop-posix.adb \ | |
872 | s-taspri.ads<s-taspri-posix.ads \ | |
873 | s-tpopsp.adb<s-tpopsp-posix.adb \ | |
874 | system.ads<system-freebsd-x86.ads | |
19f0526a | 875 | |
a336eaca | 876 | TOOLS_TARGET_PAIRS = \ |
084c663c | 877 | mlib-tgt.adb<mlib-tgt-linux.adb |
a336eaca AC |
878 | GNATLIB_SHARED = gnatlib-shared-dual |
879 | ||
880 | SYMLIB = $(ADDR2LINE_SYMLIB) | |
881 | THREADSLIB= -lc_r | |
882 | GMEM_LIB = gmemlib | |
883 | PREFIX_OBJS = $(PREFIX_REAL_OBJS) | |
efdfd311 | 884 | LIBRARY_VERSION := $(LIB_VERSION) |
19f0526a AC |
885 | endif |
886 | ||
ea16c81b UW |
887 | ifeq ($(strip $(filter-out s390% linux%,$(arch) $(osys))),) |
888 | ifeq ($(strip $(filter-out s390x,$(arch))),) | |
889 | LIBGNAT_TARGET_PAIRS = \ | |
084c663c AC |
890 | a-intnam.ads<a-intnam-linux.ads \ |
891 | s-inmaop.adb<s-inmaop-posix.adb \ | |
892 | s-intman.adb<s-intman-posix.adb \ | |
893 | s-osinte.adb<s-osinte-posix.adb \ | |
894 | s-osinte.ads<s-osinte-linux.ads \ | |
895 | s-osprim.adb<s-osprim-posix.adb \ | |
896 | s-taprop.adb<s-taprop-linux.adb \ | |
897 | s-taspri.ads<s-taspri-linux.ads \ | |
898 | s-tpopsp.adb<s-tpopsp-posix-foreign.adb \ | |
899 | s-parame.adb<s-parame-linux.adb \ | |
ea16c81b UW |
900 | system.ads<system-linux-s390x.ads |
901 | else | |
902 | LIBGNAT_TARGET_PAIRS = \ | |
084c663c AC |
903 | a-intnam.ads<a-intnam-linux.ads \ |
904 | s-inmaop.adb<s-inmaop-posix.adb \ | |
905 | s-intman.adb<s-intman-posix.adb \ | |
906 | s-osinte.adb<s-osinte-posix.adb \ | |
907 | s-osinte.ads<s-osinte-linux.ads \ | |
908 | s-osprim.adb<s-osprim-posix.adb \ | |
909 | s-taprop.adb<s-taprop-linux.adb \ | |
910 | s-taspri.ads<s-taspri-linux.ads \ | |
911 | s-tpopsp.adb<s-tpopsp-posix-foreign.adb \ | |
912 | s-parame.adb<s-parame-linux.adb \ | |
ea16c81b UW |
913 | system.ads<system-linux-s390.ads |
914 | endif | |
915 | ||
916 | TOOLS_TARGET_PAIRS = \ | |
084c663c | 917 | mlib-tgt.adb<mlib-tgt-linux.adb |
ea16c81b UW |
918 | |
919 | THREADSLIB = -lpthread | |
920 | GNATLIB_SHARED = gnatlib-shared-dual | |
921 | PREFIX_OBJS = $(PREFIX_REAL_OBJS) | |
922 | LIBRARY_VERSION := $(LIB_VERSION) | |
923 | endif | |
924 | ||
84481f76 RK |
925 | ifeq ($(strip $(filter-out mips sgi irix%,$(targ))),) |
926 | ifeq ($(strip $(filter-out mips sgi irix6%,$(targ))),) | |
927 | LIBGNAT_TARGET_PAIRS = \ | |
084c663c AC |
928 | a-intnam.ads<a-intnam-irix.ads \ |
929 | s-inmaop.adb<s-inmaop-posix.adb \ | |
930 | s-intman.adb<s-intman-irix.adb \ | |
931 | s-mastop.adb<s-mastop-irix.adb \ | |
932 | s-osinte.adb<s-osinte-irix.adb \ | |
933 | s-osinte.ads<s-osinte-irix.ads \ | |
934 | s-osprim.adb<s-osprim-posix.adb \ | |
935 | s-proinf.adb<s-proinf-irix-athread.adb \ | |
936 | s-proinf.ads<s-proinf-irix-athread.ads \ | |
937 | s-taprop.adb<s-taprop-irix.adb \ | |
938 | s-tasinf.ads<s-tasinf-irix.ads \ | |
939 | s-taspri.ads<s-taspri-posix.ads \ | |
940 | s-tpopsp.adb<s-tpopsp-posix.adb \ | |
941 | s-traceb.adb<s-traceb-mastop.adb \ | |
942 | g-soccon.ads<g-soccon-irix.ads \ | |
943 | system.ads<system-irix-n32.ads | |
84481f76 | 944 | |
07fc65c4 | 945 | THREADSLIB = -lpthread |
fbf5a39b | 946 | GNATLIB_SHARED = gnatlib-shared-default |
84481f76 RK |
947 | |
948 | else | |
949 | LIBGNAT_TARGET_PAIRS = \ | |
084c663c AC |
950 | a-intnam.ads<a-intnam-irix.ads \ |
951 | s-inmaop.adb<s-inmaop-dummy.adb \ | |
952 | s-interr.adb<s-interr-sigaction.adb \ | |
953 | s-intman.adb<s-intman-irix-athread.adb \ | |
954 | s-mastop.adb<s-mastop-irix.adb \ | |
955 | s-osinte.adb<s-osinte-irix.adb \ | |
956 | s-osinte.ads<s-osinte-irix-athread.ads \ | |
957 | s-osprim.adb<s-osprim-posix.adb \ | |
958 | s-proinf.adb<s-proinf-irix-athread.adb \ | |
959 | s-proinf.ads<s-proinf-irix-athread.ads \ | |
960 | s-taprop.adb<s-taprop-irix-athread.adb \ | |
961 | s-tasinf.adb<s-tasinf-irix-athread.adb \ | |
962 | s-tasinf.ads<s-tasinf-irix-athread.ads \ | |
963 | s-taspri.ads<s-taspri-posix.ads \ | |
964 | s-traceb.adb<s-traceb-mastop.adb \ | |
965 | g-soccon.ads<g-soccon-irix.ads \ | |
966 | system.ads<system-irix-o32.ads | |
84481f76 RK |
967 | endif |
968 | ||
084c663c | 969 | TOOLS_TARGET_PAIRS = mlib-tgt.adb<mlib-tgt-irix.adb |
07fc65c4 GB |
970 | TGT_LIB = -lexc |
971 | MISCLIB = -lexc | |
fbf5a39b | 972 | PREFIX_OBJS = $(PREFIX_REAL_OBJS) |
efdfd311 | 973 | LIBRARY_VERSION := $(LIB_VERSION) |
84481f76 RK |
974 | endif |
975 | ||
940bbb74 OH |
976 | ifeq ($(strip $(filter-out hppa% hp hpux10%,$(targ))),) |
977 | LIBGNAT_TARGET_PAIRS = \ | |
084c663c AC |
978 | a-excpol.adb<a-excpol-abort.adb \ |
979 | a-intnam.ads<a-intnam-hpux.ads \ | |
980 | s-inmaop.adb<s-inmaop-posix.adb \ | |
981 | s-interr.adb<s-interr-sigaction.adb \ | |
982 | s-intman.adb<s-intman-posix.adb \ | |
983 | s-osinte.adb<s-osinte-hpux-dce.adb \ | |
984 | s-osinte.ads<s-osinte-hpux-dce.ads \ | |
985 | s-parame.ads<s-parame-hpux.ads \ | |
986 | s-osprim.adb<s-osprim-posix.adb \ | |
987 | s-taprop.adb<s-taprop-hpux-dce.adb \ | |
988 | s-taspri.ads<s-taspri-hpux-dce.ads \ | |
989 | s-tpopsp.adb<s-tpopsp-posix.adb \ | |
990 | g-soccon.ads<g-soccon-hpux.ads \ | |
991 | system.ads<system-hpux.ads | |
fbf5a39b AC |
992 | |
993 | PREFIX_OBJS = $(PREFIX_REAL_OBJS) | |
940bbb74 OH |
994 | endif |
995 | ||
996 | ifeq ($(strip $(filter-out hppa% hp hpux11%,$(targ))),) | |
84481f76 | 997 | LIBGNAT_TARGET_PAIRS = \ |
084c663c AC |
998 | a-intnam.ads<a-intnam-hpux.ads \ |
999 | s-inmaop.adb<s-inmaop-posix.adb \ | |
1000 | s-intman.adb<s-intman-posix.adb \ | |
1001 | s-osinte.adb<s-osinte-posix.adb \ | |
1002 | s-osinte.ads<s-osinte-hpux.ads \ | |
1003 | s-parame.ads<s-parame-hpux.ads \ | |
1004 | s-osprim.adb<s-osprim-posix.adb \ | |
1005 | s-traceb.adb<s-traceb-hpux.adb \ | |
1006 | s-taprop.adb<s-taprop-posix.adb \ | |
1007 | s-taspri.ads<s-taspri-posix.ads \ | |
1008 | s-tpopsp.adb<s-tpopsp-posix-foreign.adb \ | |
1009 | g-soccon.ads<g-soccon-hpux.ads \ | |
1010 | system.ads<system-hpux.ads | |
1011 | ||
1012 | TOOLS_TARGET_PAIRS = mlib-tgt.adb<mlib-tgt-hpux.adb | |
940bbb74 | 1013 | TGT_LIB = /usr/lib/libcl.a |
fbf5a39b | 1014 | THREADSLIB = -lpthread |
6e937c1c | 1015 | SYMLIB = $(ADDR2LINE_SYMLIB) |
fbf5a39b | 1016 | GMEM_LIB = gmemlib |
07fc65c4 GB |
1017 | soext = .sl |
1018 | SO_OPTS = -Wl,+h, | |
fbf5a39b | 1019 | PREFIX_OBJS = $(PREFIX_REAL_OBJS) |
07fc65c4 | 1020 | GNATLIB_SHARED = gnatlib-shared-dual |
efdfd311 | 1021 | LIBRARY_VERSION := $(LIB_VERSION) |
84481f76 RK |
1022 | |
1023 | ifeq ($(strip $(filter-out dce DCE,$(THREAD_KIND))),) | |
1024 | LIBGNAT_TARGET_PAIRS = \ | |
084c663c AC |
1025 | a-excpol.adb<a-excpol-abort.adb \ |
1026 | a-intnam.ads<a-intnam-hpux.ads \ | |
1027 | s-inmaop.adb<s-inmaop-posix.adb \ | |
1028 | s-interr.adb<s-interr-sigaction.adb \ | |
1029 | s-intman.adb<s-intman-posix.adb \ | |
1030 | s-osinte.adb<s-osinte-hpux-dce.adb \ | |
1031 | s-osinte.ads<s-osinte-hpux-dce.ads \ | |
1032 | s-parame.ads<s-parame-hpux.ads \ | |
1033 | s-osprim.adb<s-osprim-posix.adb \ | |
1034 | s-taprop.adb<s-taprop-hpux-dce.adb \ | |
1035 | s-taspri.ads<s-taspri-hpux-dce.ads \ | |
1036 | s-tpopsp.adb<s-tpopsp-posix.adb \ | |
1037 | g-soccon.ads<g-soccon-hpux.ads \ | |
1038 | system.ads<system-hpux.ads | |
84481f76 | 1039 | |
940bbb74 | 1040 | TGT_LIB = |
07fc65c4 | 1041 | THREADSLIB = -lcma |
84481f76 RK |
1042 | endif |
1043 | endif | |
1044 | ||
fbf5a39b | 1045 | ifeq ($(strip $(filter-out ibm aix%,$(manu) $(osys))),) |
84481f76 | 1046 | LIBGNAT_TARGET_PAIRS = \ |
084c663c AC |
1047 | a-intnam.ads<a-intnam-aix.ads \ |
1048 | s-inmaop.adb<s-inmaop-posix.adb \ | |
1049 | s-intman.adb<s-intman-posix.adb \ | |
1050 | s-osinte.adb<s-osinte-aix.adb \ | |
1051 | s-osinte.ads<s-osinte-aix.ads \ | |
1052 | s-osprim.adb<s-osprim-posix.adb \ | |
1053 | s-taprop.adb<s-taprop-posix.adb \ | |
1054 | s-taspri.ads<s-taspri-posix.ads \ | |
1055 | s-tpopsp.adb<s-tpopsp-posix.adb \ | |
1056 | g-soccon.ads<g-soccon-aix.ads \ | |
1057 | system.ads<system-aix.ads | |
84481f76 | 1058 | |
07fc65c4 | 1059 | THREADSLIB = -lpthreads |
fbf5a39b AC |
1060 | PREFIX_OBJS=$(PREFIX_REAL_OBJS) |
1061 | ||
84481f76 RK |
1062 | ifeq ($(strip $(filter-out fsu FSU,$(THREAD_KIND))),) |
1063 | LIBGNAT_TARGET_PAIRS = \ | |
084c663c AC |
1064 | a-intnam.ads<a-intnam-aix.ads \ |
1065 | s-inmaop.adb<s-inmaop-posix.adb \ | |
1066 | s-intman.adb<s-intman-posix.adb \ | |
1067 | s-osinte.adb<s-osinte-fsu.adb \ | |
1068 | s-osinte.ads<s-osinte-aix-fsu.ads \ | |
1069 | s-osprim.adb<s-osprim-posix.adb \ | |
1070 | s-taprop.adb<s-taprop-posix.adb \ | |
1071 | s-taspri.ads<s-taspri-posix.ads \ | |
1072 | s-tpopsp.adb<s-tpopsp-posix.adb \ | |
1073 | g-soccon.ads<g-soccon-aix.ads \ | |
1074 | system.ads<system-aix.ads | |
84481f76 | 1075 | |
07fc65c4 | 1076 | THREADSLIB = -lgthreads -lmalloc |
84481f76 | 1077 | endif |
fbf5a39b | 1078 | |
5d09245e AC |
1079 | TOOLS_TARGET_PAIRS = \ |
1080 | mlib-tgt.adb<mlib-tgt-aix.adb \ | |
1081 | indepsw.adb<indepsw-aix.adb | |
1082 | ||
fbf5a39b | 1083 | GMEM_LIB = gmemlib |
6e937c1c | 1084 | SYMLIB = $(ADDR2LINE_SYMLIB) |
fbf5a39b | 1085 | |
84481f76 RK |
1086 | endif |
1087 | ||
1088 | ifeq ($(strip $(filter-out lynxos,$(osys))),) | |
1089 | ifeq ($(strip $(filter-out %86 lynxos,$(arch) $(osys))),) | |
1090 | LIBGNAT_TARGET_PAIRS = \ | |
084c663c AC |
1091 | a-numaux.adb<a-numaux-x86.adb \ |
1092 | a-numaux.ads<a-numaux-x86.ads \ | |
1093 | a-intnam.ads<a-intnam-lynxos.ads \ | |
1094 | s-mastop.adb<s-mastop-x86.adb \ | |
1095 | s-inmaop.adb<s-inmaop-posix.adb \ | |
1096 | s-intman.adb<s-intman-posix.adb \ | |
1097 | s-osinte.adb<s-osinte-lynxos.adb \ | |
1098 | s-osinte.ads<s-osinte-lynxos.ads \ | |
1099 | s-osprim.adb<s-osprim-posix.adb \ | |
1100 | s-taprop.adb<s-taprop-lynxos.adb \ | |
1101 | s-taspri.ads<s-taspri-lynxos.ads \ | |
1102 | s-tpopsp.adb<s-tpopsp-lynxos.adb \ | |
1103 | system.ads<system-lynxos-x86.ads | |
fbf5a39b AC |
1104 | |
1105 | PREFIX_OBJS=$(PREFIX_REAL_OBJS) | |
1106 | ||
1107 | else | |
1108 | LIBGNAT_TARGET_PAIRS = \ | |
084c663c AC |
1109 | a-intnam.ads<a-intnam-lynxos.ads \ |
1110 | s-inmaop.adb<s-inmaop-posix.adb \ | |
1111 | s-intman.adb<s-intman-posix.adb \ | |
1112 | s-osinte.adb<s-osinte-lynxos-3.adb \ | |
1113 | s-osinte.ads<s-osinte-lynxos-3.ads \ | |
1114 | s-osprim.adb<s-osprim-posix.adb \ | |
1115 | s-taprop.adb<s-taprop-posix.adb \ | |
1116 | s-taspri.ads<s-taspri-posix.ads \ | |
1117 | s-tpopsp.adb<s-tpopsp-posix.adb \ | |
1118 | system.ads<system-lynxos-ppc.ads | |
84481f76 RK |
1119 | |
1120 | ifeq ($(strip $(filter-out pthread PTHREAD,$(THREAD_KIND))),) | |
1121 | LIBGNAT_TARGET_PAIRS = \ | |
084c663c AC |
1122 | a-intnam.ads<a-intnam-lynxos.ads \ |
1123 | s-inmaop.adb<s-inmaop-posix.adb \ | |
1124 | s-intman.adb<s-intman-posix.adb \ | |
1125 | s-osinte.adb<s-osinte-lynxos.adb \ | |
1126 | s-osinte.ads<s-osinte-lynxos.ads \ | |
1127 | s-osprim.adb<s-osprim-posix.adb \ | |
1128 | s-taprop.adb<s-taprop-lynxos.adb \ | |
1129 | s-taspri.ads<s-taspri-lynxos.ads \ | |
1130 | s-tpopsp.adb<s-tpopsp-lynxos.adb \ | |
1131 | system.ads<system-lynxos-ppc.ads | |
84481f76 RK |
1132 | endif |
1133 | ||
84481f76 RK |
1134 | endif |
1135 | endif | |
1136 | ||
fbf5a39b | 1137 | ifeq ($(strip $(filter-out rtems%,$(osys))),) |
84481f76 RK |
1138 | LIBGNAT_TARGET_PAIRS = \ |
1139 | a-intnam.ads<4rintnam.ads \ | |
084c663c AC |
1140 | s-inmaop.adb<s-inmaop-posix.adb \ |
1141 | s-intman.adb<s-intman-posix.adb \ | |
84481f76 RK |
1142 | s-osinte.adb<5rosinte.adb \ |
1143 | s-osinte.ads<5rosinte.ads \ | |
084c663c | 1144 | s-osprim.adb<s-osprim-posix.adb \ |
84481f76 | 1145 | s-parame.adb<5rparame.adb \ |
084c663c AC |
1146 | s-taprop.adb<s-taprop-posix.adb \ |
1147 | s-taspri.ads<s-taspri-posix.ads \ | |
c4039eb0 | 1148 | s-tpopsp.adb<5rtpopsp.adb |
84481f76 RK |
1149 | endif |
1150 | ||
84481f76 RK |
1151 | ifeq ($(strip $(filter-out alpha% dec osf%,$(targ))),) |
1152 | LIBGNAT_TARGET_PAIRS = \ | |
084c663c AC |
1153 | a-intnam.ads<a-intnam-tru64.ads \ |
1154 | s-inmaop.adb<s-inmaop-posix.adb \ | |
1155 | s-intman.adb<s-intman-posix.adb \ | |
1156 | s-mastop.adb<s-mastop-tru64.adb \ | |
1157 | s-osinte.adb<s-osinte-tru64.adb \ | |
1158 | s-osinte.ads<s-osinte-tru64.ads \ | |
1159 | s-osprim.adb<s-osprim-unix.adb \ | |
1160 | s-taprop.adb<s-taprop-tru64.adb \ | |
1161 | s-tasinf.ads<s-tasinf-tru64.ads \ | |
1162 | s-taspri.ads<s-taspri-tru64.ads \ | |
1163 | s-tpopsp.adb<s-tpopsp-posix-foreign.adb \ | |
1164 | s-traceb.adb<s-traceb-mastop.adb \ | |
1165 | g-soccon.ads<g-soccon-tru64.ads \ | |
1166 | system.ads<system-tru64.ads | |
1167 | ||
1168 | TOOLS_TARGET_PAIRS=mlib-tgt.adb<mlib-tgt-tru64.adb | |
fbf5a39b AC |
1169 | |
1170 | GMEM_LIB=gmemlib | |
6e937c1c | 1171 | SYMLIB = $(ADDR2LINE_SYMLIB) |
07fc65c4 | 1172 | THREADSLIB = -lpthread -lmach -lexc -lrt |
fbf5a39b AC |
1173 | PREFIX_OBJS = $(PREFIX_REAL_OBJS) |
1174 | GNATLIB_SHARED = gnatlib-shared-default | |
efdfd311 | 1175 | LIBRARY_VERSION := $(LIB_VERSION) |
84481f76 RK |
1176 | endif |
1177 | ||
a336eaca | 1178 | ifeq ($(strip $(filter-out alpha% ia64 dec hp vms% openvms% alphavms%,$(host))),) |
07fc65c4 | 1179 | |
fbf5a39b | 1180 | soext = .exe |
adc04486 | 1181 | hyphen = _ |
07fc65c4 | 1182 | |
aa720a54 AC |
1183 | ifeq ($(strip $(filter-out ia64 hp vms% openvms%,$(targ))),) |
1184 | AR = iar | |
1185 | endif | |
1186 | ||
fbf5a39b | 1187 | .SUFFIXES: .sym |
07fc65c4 | 1188 | |
fbf5a39b AC |
1189 | .o.sym: |
1190 | @ gnu:[bin]vmssymvec $< | |
1191 | endif | |
07fc65c4 | 1192 | |
fbf5a39b | 1193 | ifeq ($(strip $(filter-out alpha% ia64 dec hp vms% openvms% alphavms%,$(targ))),) |
a336eaca AC |
1194 | ifeq ($(strip $(filter-out ia64 hp vms% openvms%,$(targ))),) |
1195 | LIBGNAT_TARGET_PAIRS_AUX1 = \ | |
0ab80019 | 1196 | s-auxdec.ads<s-auxdec-vms_64.ads \ |
084c663c AC |
1197 | s-crtl.ads<s-crtl-vms.ads \ |
1198 | s-osinte.adb<s-osinte-vms-ia64.adb \ | |
1199 | s-osinte.ads<s-osinte-vms-ia64.ads \ | |
0ab80019 | 1200 | system.ads<system-vms_64.ads |
209db2bf | 1201 | else |
a336eaca AC |
1202 | ifeq ($(strip $(filter-out alpha% dec vms% openvms% alphavms%,$(targ))),) |
1203 | LIBGNAT_TARGET_PAIRS_AUX1 = \ | |
084c663c AC |
1204 | s-crtl.ads<s-crtl-vms.ads \ |
1205 | s-osinte.adb<s-osinte-vms.adb \ | |
1206 | s-osinte.ads<s-osinte-vms.ads \ | |
0ab80019 | 1207 | s-vaflop.adb<s-vaflop-vms-alpha.adb \ |
084c663c | 1208 | system.ads<system-vms-zcx.ads |
a336eaca AC |
1209 | endif |
1210 | endif | |
07fc65c4 | 1211 | ifeq ($(strip $(filter-out express EXPRESS,$(THREAD_KIND))),) |
a336eaca | 1212 | LIBGNAT_TARGET_PAIRS_AUX2 = \ |
084c663c | 1213 | s-parame.ads<s-parame-vms-restrict.ads |
07fc65c4 | 1214 | else |
a336eaca | 1215 | LIBGNAT_TARGET_PAIRS_AUX2 = \ |
084c663c | 1216 | s-parame.ads<s-parame-vms.ads |
07fc65c4 GB |
1217 | endif |
1218 | ||
84481f76 | 1219 | LIBGNAT_TARGET_PAIRS = \ |
084c663c AC |
1220 | a-caldel.adb<a-caldel-vms.adb \ |
1221 | a-calend.adb<a-calend-vms.adb \ | |
1222 | a-calend.ads<a-calend-vms.ads \ | |
1223 | a-dirval.adb<a-dirval-vms.adb \ | |
1224 | a-excpol.adb<a-excpol-abort.adb \ | |
1225 | a-intnam.ads<a-intnam-vms.ads \ | |
1226 | a-numaux.ads<a-numaux-vms.ads \ | |
1227 | g-expect.adb<g-expect-vms.adb \ | |
1228 | g-soccon.ads<g-soccon-vms.adb \ | |
1229 | g-socthi.ads<g-socthi-vms.ads \ | |
1230 | g-socthi.adb<g-socthi-vms.adb \ | |
1231 | g-trasym.adb<g-trasym-vms.adb \ | |
1232 | i-cstrea.adb<i-cstrea-vms.adb \ | |
1233 | i-cpp.adb<i-cpp-vms.adb \ | |
1234 | interfac.ads<interfac-vms.ads \ | |
1235 | s-asthan.adb<s-asthan-vms.adb \ | |
1236 | s-inmaop.adb<s-inmaop-vms.adb \ | |
1237 | s-interr.adb<s-interr-vms.adb \ | |
1238 | s-intman.adb<s-intman-vms.adb \ | |
1239 | s-intman.ads<s-intman-vms.ads \ | |
1240 | s-osprim.adb<s-osprim-vms.adb \ | |
1241 | s-osprim.ads<s-osprim-vms.ads \ | |
1242 | s-taprop.adb<s-taprop-vms.adb \ | |
1243 | s-taspri.ads<s-taspri-vms.ads \ | |
1244 | s-tpopsp.adb<s-tpopsp-posix.adb \ | |
1245 | s-tpopde.adb<s-tpopde-vms.adb \ | |
1246 | s-tpopde.ads<s-tpopde-vms.ads \ | |
1247 | s-traent.adb<s-traent-vms.adb \ | |
1248 | s-traent.ads<s-traent-vms.ads \ | |
a336eaca AC |
1249 | $(LIBGNAT_TARGET_PAIRS_AUX1) \ |
1250 | $(LIBGNAT_TARGET_PAIRS_AUX2) | |
07fc65c4 | 1251 | |
0ab80019 | 1252 | ifeq ($(strip $(filter-out ia64 hp vms% openvms%,$(targ))),) |
0da2c8ac AC |
1253 | TOOLS_TARGET_PAIRS= \ |
1254 | mlib-tgt.adb<mlib-tgt-vms-ia64.adb \ | |
0ab80019 AC |
1255 | symbols.adb<symbols-vms-ia64.adb |
1256 | else | |
1257 | TOOLS_TARGET_PAIRS= \ | |
1258 | mlib-tgt.adb<mlib-tgt-vms-alpha.adb \ | |
1259 | symbols.adb<symbols-vms-alpha.adb | |
1260 | endif | |
fbf5a39b | 1261 | |
07fc65c4 | 1262 | GNATLIB_SHARED=gnatlib-shared-vms |
a336eaca | 1263 | ifeq ($(strip $(filter-out alpha% dec vms% openvms% alphavms%,$(targ))),) |
07fc65c4 GB |
1264 | EXTRA_LIBGNAT_SRCS=vmshandler.asm |
1265 | EXTRA_LIBGNAT_OBJS=vmshandler.o | |
a336eaca | 1266 | endif |
07fc65c4 | 1267 | EXTRA_GNATRTL_TASKING_OBJS=s-tpopde.o |
fbf5a39b AC |
1268 | EXTRA_GNATTOOLS = \ |
1269 | ../../gnatlbr$(exeext) \ | |
1270 | ,,/../gnatsym$(exeext) | |
1271 | # This command transforms (YYYYMMDD) into YY,MMDD | |
efdfd311 | 1272 | GSMATCH_VERSION := $(shell grep "^ *Gnat_Static_Version_String" $(fsrcpfx)gnatvsn.ads | sed -e 's/.*(\(.*\)).*/\1/' -e 's/\(..\)\(..\)\(....\)/\2,\3/') |
fbf5a39b | 1273 | TOOLS_LIBS_LO := --for-linker=sys\\$$\$$library:trace.exe |
91b1417d | 1274 | LIBRARY_VERSION := $(subst .,_,$(LIB_VERSION)) |
84481f76 RK |
1275 | endif |
1276 | ||
1277 | ifeq ($(strip $(filter-out cygwin32% mingw32% pe,$(osys))),) | |
1278 | LIBGNAT_TARGET_PAIRS = \ | |
084c663c AC |
1279 | a-calend.adb<a-calend-mingw.adb \ |
1280 | a-dirval.adb<a-dirval-mingw.adb \ | |
1281 | a-excpol.adb<a-excpol-abort.adb \ | |
1282 | a-intnam.ads<a-intnam-mingw.ads \ | |
1283 | a-numaux.adb<a-numaux-x86.adb \ | |
1284 | a-numaux.ads<a-numaux-x86.ads \ | |
1285 | s-gloloc.adb<s-gloloc-mingw.adb \ | |
1286 | s-inmaop.adb<s-inmaop-dummy.adb \ | |
1287 | s-interr.adb<s-interr-sigaction.adb \ | |
1288 | s-intman.adb<s-intman-mingw.adb \ | |
1289 | s-mastop.adb<s-mastop-x86.adb \ | |
1290 | s-memory.adb<s-memory-mingw.adb \ | |
1291 | s-osinte.ads<s-osinte-mingw.ads \ | |
1292 | s-osprim.adb<s-osprim-mingw.adb \ | |
1293 | s-taprop.adb<s-taprop-mingw.adb \ | |
1294 | s-taspri.ads<s-taspri-mingw.ads \ | |
0da2c8ac | 1295 | s-parame.adb<s-parame-mingw.adb \ |
084c663c AC |
1296 | g-socthi.ads<g-socthi-mingw.ads \ |
1297 | g-socthi.adb<g-socthi-mingw.adb \ | |
1298 | g-soccon.ads<g-soccon-mingw.ads \ | |
1299 | g-soliop.ads<g-soliop-mingw.ads \ | |
1300 | system.ads<system-mingw.ads | |
1301 | ||
5d09245e AC |
1302 | TOOLS_TARGET_PAIRS= \ |
1303 | mlib-tgt.adb<mlib-tgt-mingw.adb \ | |
1304 | indepsw.adb<indepsw-mingw.adb | |
1305 | ||
07fc65c4 | 1306 | MISCLIB = -lwsock32 |
6e937c1c | 1307 | SYMLIB = $(ADDR2LINE_SYMLIB) |
07fc65c4 | 1308 | GMEM_LIB = gmemlib |
fbf5a39b | 1309 | PREFIX_OBJS = $(PREFIX_REAL_OBJS) |
07fc65c4 | 1310 | EXTRA_GNATTOOLS = ../../gnatdll$(exeext) |
fbf5a39b | 1311 | EXTRA_GNATMAKE_OBJS = mdll.o mdll-utl.o mdll-fil.o |
84481f76 | 1312 | EXTRA_GNATRTL_NONTASKING_OBJS = g-regist.o |
fbf5a39b | 1313 | soext = .dll |
91b1417d AC |
1314 | # ??? This will be replaced by gnatlib-shared-dual-win32 when GNAT auto-import |
1315 | # support for array/record will be done. | |
fbf5a39b | 1316 | GNATLIB_SHARED = gnatlib-shared-win32 |
efdfd311 | 1317 | LIBRARY_VERSION := $(LIB_VERSION) |
fbf5a39b AC |
1318 | endif |
1319 | ||
71c10a83 BB |
1320 | ifeq ($(strip $(filter-out powerpc% linux%,$(arch) $(osys))),) |
1321 | LIBGNAT_TARGET_PAIRS = \ | |
1322 | a-intnam.ads<a-intnam-linux.ads \ | |
1323 | s-inmaop.adb<s-inmaop-posix.adb \ | |
1324 | s-intman.adb<s-intman-posix.adb \ | |
1325 | s-osinte.adb<s-osinte-posix.adb \ | |
1326 | s-osinte.ads<s-osinte-linux.ads \ | |
1327 | s-osprim.adb<s-osprim-posix.adb \ | |
1328 | s-taprop.adb<s-taprop-linux.adb \ | |
1329 | s-taspri.ads<s-taspri-linux.ads \ | |
1330 | s-tpopsp.adb<s-tpopsp-posix-foreign.adb \ | |
1331 | s-parame.adb<s-parame-linux.adb \ | |
1332 | system.ads<system-linux-ppc.ads | |
1333 | ||
1334 | TOOLS_TARGET_PAIRS = \ | |
1335 | mlib-tgt.adb<mlib-tgt-linux.adb \ | |
1336 | indepsw.adb<indepsw-linux.adb | |
1337 | ||
1338 | SYMLIB = $(ADDR2LINE_SYMLIB) | |
1339 | THREADSLIB = -lpthread | |
1340 | GNATLIB_SHARED = gnatlib-shared-dual | |
1341 | GMEM_LIB = gmemlib | |
1342 | PREFIX_OBJS = $(PREFIX_REAL_OBJS) | |
1343 | LIBRARY_VERSION := $(LIB_VERSION) | |
1344 | ||
1345 | endif | |
1346 | ||
fbf5a39b AC |
1347 | ifeq ($(strip $(filter-out %ia64 linux%,$(arch) $(osys))),) |
1348 | LIBGNAT_TARGET_PAIRS = \ | |
084c663c | 1349 | a-intnam.ads<a-intnam-linux.ads \ |
8a36a0cc | 1350 | a-numaux.ads<a-numaux-libc-x86.ads \ |
084c663c AC |
1351 | s-inmaop.adb<s-inmaop-posix.adb \ |
1352 | s-intman.adb<s-intman-posix.adb \ | |
1353 | s-osinte.ads<s-osinte-linux.ads \ | |
1354 | s-osinte.adb<s-osinte-posix.adb \ | |
1355 | s-osprim.adb<s-osprim-posix.adb \ | |
1356 | s-taprop.adb<s-taprop-linux.adb \ | |
1357 | s-tpopsp.adb<s-tpopsp-posix-foreign.adb \ | |
1358 | s-taspri.ads<s-taspri-linux.ads \ | |
0fb2ea01 | 1359 | system.ads<system-linux-ia64.ads |
084c663c AC |
1360 | |
1361 | TOOLS_TARGET_PAIRS=mlib-tgt.adb<mlib-tgt-linux.adb | |
fbf5a39b AC |
1362 | MISCLIB= |
1363 | THREADSLIB=-lpthread | |
1364 | GNATLIB_SHARED=gnatlib-shared-dual | |
1365 | PREFIX_OBJS=$(PREFIX_REAL_OBJS) | |
efdfd311 | 1366 | LIBRARY_VERSION := $(LIB_VERSION) |
84481f76 RK |
1367 | endif |
1368 | ||
c0040397 AJ |
1369 | ifeq ($(strip $(filter-out %x86_64 linux%,$(arch) $(osys))),) |
1370 | LIBGNAT_TARGET_PAIRS = \ | |
084c663c AC |
1371 | a-intnam.ads<a-intnam-linux.ads \ |
1372 | a-numaux.adb<a-numaux-x86.adb \ | |
1373 | a-numaux.ads<a-numaux-x86.ads \ | |
1374 | s-inmaop.adb<s-inmaop-posix.adb \ | |
1375 | s-intman.adb<s-intman-posix.adb \ | |
1376 | s-osinte.ads<s-osinte-linux.ads \ | |
1377 | s-osinte.adb<s-osinte-posix.adb \ | |
1378 | s-osprim.adb<s-osprim-posix.adb \ | |
1379 | s-taprop.adb<s-taprop-linux.adb \ | |
1380 | s-tpopsp.adb<s-tpopsp-posix-foreign.adb \ | |
1381 | s-taspri.ads<s-taspri-linux.ads \ | |
1382 | system.ads<system-linux-x86_64.ads | |
1383 | ||
1384 | TOOLS_TARGET_PAIRS=mlib-tgt.adb<mlib-tgt-linux.adb | |
6e937c1c | 1385 | SYMLIB = $(ADDR2LINE_SYMLIB) |
c0040397 AJ |
1386 | THREADSLIB=-lpthread |
1387 | GNATLIB_SHARED=gnatlib-shared-dual | |
26fd4eae | 1388 | GMEM_LIB = gmemlib |
c0040397 | 1389 | PREFIX_OBJS=$(PREFIX_REAL_OBJS) |
efdfd311 | 1390 | LIBRARY_VERSION := $(LIB_VERSION) |
c470d7c9 | 1391 | endif |
26fd4eae | 1392 | |
c470d7c9 AC |
1393 | ifeq ($(strip $(filter-out powerpc darwin%,$(arch) $(osys))),) |
1394 | LIBGNAT_TARGET_PAIRS = \ | |
1395 | a-intnam.ads<a-intnam-darwin.ads \ | |
084c663c AC |
1396 | s-inmaop.adb<s-inmaop-posix.adb \ |
1397 | s-intman.adb<s-intman-posix.adb \ | |
c470d7c9 AC |
1398 | s-osinte.adb<s-osinte-darwin.adb \ |
1399 | s-osinte.ads<s-osinte-darwin.ads \ | |
084c663c AC |
1400 | s-osprim.adb<s-osprim-posix.adb \ |
1401 | s-taprop.adb<s-taprop-posix.adb \ | |
1402 | s-taspri.ads<s-taspri-posix.ads \ | |
1403 | s-tpopsp.adb<s-tpopsp-posix-foreign.adb \ | |
1404 | g-soccon.ads<g-soccon-aix.ads \ | |
c470d7c9 | 1405 | system.ads<system-darwin-ppc.ads |
c4820158 NS |
1406 | |
1407 | TOOLS_TARGET_PAIRS = \ | |
1408 | mlib-tgt.adb<mlib-tgt-darwin.adb | |
1409 | ||
1410 | GNATLIB_SHARED = gnatlib-shared-darwin | |
1411 | SO_OPTS = -Wl,-flat_namespace | |
1412 | RANLIB = ranlib -c | |
1413 | LIBRARY_VERSION := $(LIB_VERSION) | |
c0040397 AJ |
1414 | endif |
1415 | ||
84481f76 RK |
1416 | # The runtime library for gnat comprises two directories. One contains the |
1417 | # Ada source files that the compiler (gnat1) needs -- these files are listed | |
1418 | # by ADA_INCLUDE_SRCS -- and the other contains the object files and their | |
1419 | # corresponding .ali files for the parts written in Ada, libgnat.a for | |
1420 | # the parts of the runtime written in C, and libgthreads.a for the pthreads | |
1421 | # emulation library. LIBGNAT_OBJS lists the objects that go into libgnat.a, | |
1422 | # while GNATRTL_OBJS lists the object files compiled from Ada sources that | |
1423 | # go into the directory. The pthreads emulation is built in the threads | |
1424 | # subdirectory and copied. | |
1425 | LIBGNAT_SRCS = ada.h adaint.c adaint.h argv.c cio.c cstreams.c \ | |
fbf5a39b | 1426 | errno.c exit.c cal.c ctrl_c.c \ |
e6f69614 | 1427 | raise.h raise.c sysdep.c aux-io.c init.c \ |
fbf5a39b AC |
1428 | final.c tracebak.c tb-alvms.c tb-alvxw.c expect.c mkdir.c socket.c \ |
1429 | $(EXTRA_LIBGNAT_SRCS) | |
84481f76 | 1430 | |
fbf5a39b AC |
1431 | LIBGNAT_OBJS = adaint.o argv.o cio.o cstreams.o ctrl_c.o errno.o exit.o \ |
1432 | raise.o sysdep.o aux-io.o init.o cal.o final.o \ | |
1433 | tracebak.o expect.o mkdir.o socket.o $(EXTRA_LIBGNAT_OBJS) | |
84481f76 RK |
1434 | |
1435 | # NOTE ??? - when the -I option for compiling Ada code is made to work, | |
1436 | # the library installation will change and there will be a | |
1437 | # GNAT_RTL_SRCS. Right now we count on being able to build GNATRTL_OBJS | |
1438 | # from ADA_INCLUDE_SRCS. | |
1439 | ||
fbf5a39b AC |
1440 | # GNATRTL_NONTASKING_OBJS and GNATRTL_TASKING_OBJS can be found in |
1441 | # the following include file: | |
1442 | ||
1443 | include $(fsrcdir)/Makefile.rtl | |
1444 | ||
1445 | GNATRTL_OBJS = $(GNATRTL_NONTASKING_OBJS) $(GNATRTL_TASKING_OBJS) \ | |
1446 | g-trasym.o memtrack.o | |
84481f76 | 1447 | |
84481f76 RK |
1448 | # Default run time files |
1449 | ||
1450 | ADA_INCLUDE_SRCS =\ | |
1451 | ada.ads calendar.ads directio.ads gnat.ads interfac.ads ioexcept.ads \ | |
1452 | machcode.ads text_io.ads unchconv.ads unchdeal.ads \ | |
b7e429ab | 1453 | sequenio.ads system.ads Makefile.prolog Makefile.generic \ |
fbf5a39b | 1454 | memtrack.adb \ |
84481f76 RK |
1455 | a-*.adb a-*.ads g-*.ad? i-*.ad? \ |
1456 | s-[a-o]*.adb s-[p-z]*.adb \ | |
1457 | s-[a-o]*.ads s-[p-z]*.ads | |
1458 | ||
07fc65c4 GB |
1459 | LIBGNAT=../rts/libgnat.a |
1460 | TOOLS_FLAGS_TO_PASS= \ | |
1461 | "CC=$(CC)" \ | |
1462 | "CFLAGS=$(CFLAGS)" \ | |
1463 | "LDFLAGS=$(LDFLAGS)" \ | |
1464 | "ADAFLAGS=$(ADAFLAGS)" \ | |
1465 | "INCLUDES=$(INCLUDES_FOR_SUBDIR)"\ | |
1466 | "ADA_INCLUDES=$(ADA_INCLUDES) $(ADA_INCLUDES_FOR_SUBDIR)"\ | |
1467 | "libsubdir=$(libsubdir)" \ | |
1468 | "exeext=$(exeext)" \ | |
fbf5a39b | 1469 | "fsrcdir=$(fsrcdir)" \ |
07fc65c4 GB |
1470 | "srcdir=$(fsrcdir)" \ |
1471 | "TOOLS_LIBS=$(TOOLS_LIBS) $(TGT_LIB)" \ | |
1472 | "GNATMAKE=$(GNATMAKE)" \ | |
1473 | "GNATLINK=$(GNATLINK)" \ | |
1474 | "GNATBIND=$(GNATBIND)" | |
1475 | ||
fbf5a39b | 1476 | # Build directory for the tools. Let's copy the target-dependent |
07fc65c4 GB |
1477 | # sources using the same mechanism as for gnatlib. The other sources are |
1478 | # accessed using the vpath directive below | |
1479 | ||
1480 | ../stamp-tools: | |
1481 | -$(RM) tools/* | |
1482 | -$(RMDIR) tools | |
1483 | -$(MKDIR) tools | |
1484 | -(cd tools; $(LN_S) ../sdefault.adb .) | |
1485 | -$(foreach PAIR,$(TOOLS_TARGET_PAIRS), \ | |
1486 | $(RM) tools/$(word 1,$(subst <, ,$(PAIR)));\ | |
1487 | $(LN_S) $(fsrcdir)/$(word 2,$(subst <, ,$(PAIR))) \ | |
1488 | tools/$(word 1,$(subst <, ,$(PAIR)));) | |
1489 | touch ../stamp-tools | |
1490 | ||
1491 | # when compiling the tools, the runtime has to be first on the path so that | |
1492 | # it hides the runtime files lying with the rest of the sources | |
1493 | ifeq ($(TOOLSCASE),native) | |
1494 | vpath %.ads ../rts ../ | |
1495 | vpath %.adb ../rts ../ | |
1496 | vpath %.c ../rts ../ | |
1497 | vpath %.h ../rts ../ | |
1498 | endif | |
84481f76 | 1499 | |
07fc65c4 GB |
1500 | # in the cross tools case, everything is compiled with the native |
1501 | # gnatmake/link. Therefore only -I needs to be modified in ADA_INCLUDES | |
1502 | ifeq ($(TOOLSCASE),cross) | |
1503 | vpath %.ads ../ | |
1504 | vpath %.adb ../ | |
1505 | vpath %.c ../ | |
1506 | vpath %.h ../ | |
1507 | endif | |
84481f76 | 1508 | |
fbf5a39b | 1509 | # gnatmake/link tools cannot always be built with gnatmake/link for bootstrap |
07fc65c4 GB |
1510 | # reasons: gnatmake should be built with a recent compiler, a recent compiler |
1511 | # may not generate ALI files compatible with an old gnatmake so it is important | |
c168bbd7 | 1512 | # to be able to build gnatmake without a version of gnatmake around. Once |
07fc65c4 GB |
1513 | # everything has been compiled once, gnatmake can be recompiled with itself |
1514 | # (see target gnattools1-re) | |
1515 | gnattools1: ../stamp-tools ../stamp-gnatlib | |
1516 | $(MAKE) -C tools -f ../Makefile $(TOOLS_FLAGS_TO_PASS) \ | |
1517 | TOOLSCASE=native \ | |
1518 | ../../gnatmake$(exeext) ../../gnatlink$(exeext) ../../gnatbl$(exeext) | |
1519 | ||
fbf5a39b | 1520 | # gnatmake/link can be built with recent gnatmake/link if they are available. |
07fc65c4 GB |
1521 | # This is especially convenient for building cross tools or for rebuilding |
1522 | # the tools when the original bootstrap has already be done. | |
1523 | gnattools1-re: ../stamp-tools | |
1524 | $(MAKE) -C tools -f ../Makefile $(TOOLS_FLAGS_TO_PASS) \ | |
1525 | TOOLSCASE=cross INCLUDES="" gnatmake-re gnatlink-re | |
1526 | ||
1527 | # these tools are built with gnatmake & are common to native and cross | |
1528 | gnattools2: ../stamp-tools | |
1529 | $(MAKE) -C tools -f ../Makefile $(TOOLS_FLAGS_TO_PASS) \ | |
1530 | TOOLSCASE=native \ | |
1531 | ../../gnatchop$(exeext) ../../gnat$(exeext) ../../gnatkr$(exeext) \ | |
1532 | ../../gnatls$(exeext) ../../gnatprep$(exeext) \ | |
139f0d1e | 1533 | ../../gnatxref$(exeext) \ |
fbf5a39b | 1534 | ../../gnatfind$(exeext) ../../gnatname$(exeext) \ |
9f4fd324 | 1535 | ../../gnatclean$(exeext) ../../gprmake$(exeext) \ |
139f0d1e | 1536 | ../../gprcmd$(exeext) ../../gpr2make$(exeext) |
07fc65c4 GB |
1537 | |
1538 | # These tools are only built for the native version. | |
1539 | gnattools3: ../stamp-tools | |
a71742a8 | 1540 | # $(MAKE) -C tools -f ../Makefile $(TOOLS_FLAGS_TO_PASS) \ |
fbf5a39b AC |
1541 | # TOOLSCASE=native top_builddir=../../.. \ |
1542 | # ../../gnatmem$(exeext) $(EXTRA_GNATTOOLS) | |
07fc65c4 | 1543 | |
fbf5a39b AC |
1544 | # those tools are only built for the cross version |
1545 | gnattools4: ../stamp-tools | |
1546 | $(MAKE) -C tools -f ../Makefile $(TOOLS_FLAGS_TO_PASS) \ | |
1547 | TOOLSCASE=cross top_buildir=../../.. \ | |
1548 | ../../vxaddr2line$(exeext) | |
1549 | ||
1550 | ../../gnatchop$(exeext): ../stamp-tools | |
07fc65c4 GB |
1551 | $(GNATMAKE) -c $(ADA_INCLUDES) gnatchop --GCC="$(CC) $(ALL_ADAFLAGS)" |
1552 | $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatchop | |
1553 | $(GNATLINK) -v gnatchop -o $@ --GCC="$(CC) $(ADA_INCLUDES)" \ | |
1554 | $(TOOLS_LIBS) | |
1555 | ||
fbf5a39b | 1556 | ../../gnat$(exeext): ../stamp-tools |
07fc65c4 GB |
1557 | $(GNATMAKE) -c $(ADA_INCLUDES) gnatcmd --GCC="$(CC) $(ALL_ADAFLAGS)" |
1558 | $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatcmd | |
fbf5a39b | 1559 | $(GNATLINK) -v gnatcmd -o $@ --GCC="$(CC) $(ADA_INCLUDES)" $(TOOLS_LIBS) |
07fc65c4 | 1560 | |
fbf5a39b | 1561 | ../../gnatkr$(exeext): ../stamp-tools |
07fc65c4 GB |
1562 | $(GNATMAKE) -c $(ADA_INCLUDES) gnatkr --GCC="$(CC) $(ALL_ADAFLAGS)" |
1563 | $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatkr | |
1564 | $(GNATLINK) -v gnatkr -o $@ --GCC="$(CC) $(ADA_INCLUDES)" $(TOOLS_LIBS) | |
1565 | ||
fbf5a39b | 1566 | ../../gnatls$(exeext): ../stamp-tools |
07fc65c4 GB |
1567 | $(GNATMAKE) -c $(ADA_INCLUDES) gnatls --GCC="$(CC) $(ALL_ADAFLAGS)" |
1568 | $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatls | |
1569 | $(GNATLINK) -v gnatls -o $@ --GCC="$(CC) $(ADA_INCLUDES)" $(TOOLS_LIBS) | |
1570 | ||
fbf5a39b | 1571 | ../../gnatname$(exeext): ../stamp-tools |
07fc65c4 GB |
1572 | $(GNATMAKE) -c $(ADA_INCLUDES) gnatname --GCC="$(CC) $(ALL_ADAFLAGS)" |
1573 | $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatname | |
1574 | $(GNATLINK) -v gnatname -o $@ --GCC="$(CC) $(ADA_INCLUDES)" \ | |
fbf5a39b AC |
1575 | $(TOOLS_LIBS) |
1576 | ||
9f4fd324 AC |
1577 | ../../gprmake$(exeext): ../stamp-tools |
1578 | $(GNATMAKE) -c $(ADA_INCLUDES) gprmake --GCC="$(CC) $(ALL_ADAFLAGS)" | |
1579 | $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gprmake | |
1580 | $(GNATLINK) -v gprmake -o $@ --GCC="$(CC) $(ADA_INCLUDES)" \ | |
1581 | $(TOOLS_LIBS) | |
1582 | ||
fbf5a39b AC |
1583 | ../../gpr2make$(exeext): ../stamp-tools |
1584 | $(GNATMAKE) -c $(ADA_INCLUDES) gpr2make --GCC="$(CC) $(ALL_ADAFLAGS)" | |
1585 | $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gpr2make | |
1586 | $(GNATLINK) -v gpr2make -o $@ --GCC="$(CC) $(ADA_INCLUDES)" \ | |
1587 | $(TOOLS_LIBS) | |
07fc65c4 | 1588 | |
fbf5a39b | 1589 | ../../gnatprep$(exeext): ../stamp-tools |
07fc65c4 GB |
1590 | $(GNATMAKE) -c $(ADA_INCLUDES) gnatprep --GCC="$(CC) $(ALL_ADAFLAGS)" |
1591 | $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatprep | |
1592 | $(GNATLINK) -v gnatprep -o $@ --GCC="$(CC) $(ADA_INCLUDES)" \ | |
fbf5a39b | 1593 | $(TOOLS_LIBS) |
07fc65c4 | 1594 | |
fbf5a39b | 1595 | ../../gnatxref$(exeext): ../stamp-tools |
07fc65c4 GB |
1596 | $(GNATMAKE) -c $(ADA_INCLUDES) gnatxref --GCC="$(CC) $(ALL_ADAFLAGS)" |
1597 | $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatxref | |
1598 | $(GNATLINK) -v gnatxref -o $@ --GCC="$(CC) $(ADA_INCLUDES)" \ | |
fbf5a39b | 1599 | $(TOOLS_LIBS) |
07fc65c4 | 1600 | |
fbf5a39b | 1601 | ../../gnatfind$(exeext): ../stamp-tools |
07fc65c4 GB |
1602 | $(GNATMAKE) -c $(ADA_INCLUDES) gnatfind --GCC="$(CC) $(ALL_ADAFLAGS)" |
1603 | $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatfind | |
1604 | $(GNATLINK) -v gnatfind -o $@ --GCC="$(CC) $(ADA_INCLUDES)" \ | |
fbf5a39b AC |
1605 | $(TOOLS_LIBS) |
1606 | ||
1607 | ../../gnatclean$(exeext): ../stamp-tools | |
1608 | $(GNATMAKE) -c $(ADA_INCLUDES) gnatclean --GCC="$(CC) $(ALL_ADAFLAGS)" | |
1609 | $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatclean | |
1610 | $(GNATLINK) -v gnatclean -o $@ --GCC="$(CC) $(ADA_INCLUDES)" \ | |
1611 | $(TOOLS_LIBS) | |
1612 | ||
1613 | ../../gnatsym$(exeext): ../stamp-tools | |
1614 | $(GNATMAKE) -c $(ADA_INCLUDES) gnatsym --GCC="$(CC) $(ALL_ADAFLAGS)" | |
1615 | $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatsym | |
1616 | $(GNATLINK) -v gnatsym -o $@ --GCC="$(CC) $(ADA_INCLUDES)" \ | |
1617 | $(TOOLS_LIBS) | |
1618 | ||
1619 | ../../gnatmem$(exeext): ../stamp-tools gmem.o $(SYMDEPS) | |
1620 | ifeq ($(GMEM_LIB),gmemlib) | |
1621 | $(GNATMAKE) -c $(ADA_INCLUDES) gnatmem --GCC="$(CC) $(ALL_ADAFLAGS)" | |
1622 | $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatmem | |
1623 | $(GNATLINK) -v gnatmem -o $@ --GCC="$(CC) $(ADA_INCLUDES)" \ | |
07fc65c4 | 1624 | gmem.o $(SYMLIB) $(TOOLS_LIBS) |
fbf5a39b | 1625 | endif |
07fc65c4 | 1626 | |
fbf5a39b | 1627 | ../../gnatdll$(exeext): ../stamp-tools |
07fc65c4 GB |
1628 | $(GNATMAKE) -c $(ADA_INCLUDES) gnatdll --GCC="$(CC) $(ALL_ADAFLAGS)" |
1629 | $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) $(GNATBIND_FLAGS) gnatdll | |
1630 | $(GNATLINK) -v gnatdll -o $@ --GCC="$(CC) $(ADA_INCLUDES)" \ | |
1631 | $(TOOLS_LIBS) | |
1632 | ||
fbf5a39b AC |
1633 | ../../gprcmd$(exeext): ../stamp-tools |
1634 | $(GNATMAKE) -c $(ADA_INCLUDES) gprcmd --GCC="$(CC) $(ALL_ADAFLAGS)" | |
1635 | $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gprcmd | |
1636 | $(GNATLINK) -v gprcmd -o $@ --GCC="$(CC) $(ADA_INCLUDES)" $(TOOLS_LIBS) | |
1637 | ||
1638 | ../../vxaddr2line$(exeext): ../stamp-tools | |
1639 | $(GNATMAKE) -c $(ADA_INCLUDES) vxaddr2line --GCC="$(CC) $(ALL_ADAFLAGS)" | |
1640 | $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) vxaddr2line | |
1641 | $(GNATLINK) -v vxaddr2line -o $@ --GCC="$(CC) $(ADA_INCLUDES)" $(CLIB) | |
1642 | ||
af4b9434 | 1643 | gnatmake-re: ../stamp-tools link.o |
07fc65c4 GB |
1644 | $(GNATMAKE) $(ADA_INCLUDES) -u sdefault --GCC="$(CC) $(MOST_ADA_FLAGS)" |
1645 | $(GNATMAKE) -c $(ADA_INCLUDES) gnatmake --GCC="$(CC) $(ALL_ADAFLAGS)" | |
1646 | $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatmake | |
1647 | $(GNATLINK) -v gnatmake -o ../../gnatmake$(exeext) \ | |
1648 | --GCC="$(CC) $(ADA_INCLUDES)" $(TOOLS_LIBS) | |
1649 | ||
1650 | # Note the use of the "mv" command in order to allow gnatlink to be linked with | |
1651 | # with the former version of gnatlink itself which cannot override itself. | |
fbf5a39b | 1652 | gnatlink-re: ../stamp-tools link.o |
07fc65c4 GB |
1653 | $(GNATMAKE) -c $(ADA_INCLUDES) gnatlink --GCC="$(CC) $(ALL_ADAFLAGS)" |
1654 | $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatlink | |
1655 | $(GNATLINK) -v gnatlink -o ../../gnatlinknew$(exeext) \ | |
af4b9434 | 1656 | --GCC="$(CC) $(ADA_INCLUDES)" $(TOOLS_LIBS) |
07fc65c4 GB |
1657 | $(MV) ../../gnatlinknew$(exeext) ../../gnatlink$(exeext) |
1658 | ||
84481f76 RK |
1659 | # Needs to be built with CC=gcc |
1660 | # Since the RTL should be built with the latest compiler, remove the | |
1661 | # stamp target in the parent directory whenever gnat1 is rebuilt | |
fbf5a39b | 1662 | |
07fc65c4 | 1663 | # Likewise for the tools |
af4b9434 | 1664 | ../../gnatmake$(exeext): $(P) b_gnatm.o link.o $(GNATMAKE_OBJS) |
07fc65c4 GB |
1665 | $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ b_gnatm.o $(GNATMAKE_OBJS) \ |
1666 | $(TOOLS_LIBS) | |
84481f76 | 1667 | |
af4b9434 | 1668 | ../../gnatlink$(exeext): $(P) b_gnatl.o link.o $(GNATLINK_OBJS) |
07fc65c4 GB |
1669 | $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ b_gnatl.o $(GNATLINK_OBJS) \ |
1670 | $(TOOLS_LIBS) | |
84481f76 | 1671 | |
07fc65c4 GB |
1672 | ../../gnatbl$(exeext): gnatbl.o |
1673 | $(CC) -o $@ $(ALL_CFLAGS) $(LDFLAGS) gnatbl.o $(TOOLS_LIBS) | |
84481f76 | 1674 | |
07fc65c4 | 1675 | gnatbl.o: gnatbl.c adaint.h |
fbf5a39b AC |
1676 | $(CC) $(ALL_CFLAGS) $(INCLUDES) -c $< $(OUTPUT_OPTION) |
1677 | ||
84481f76 RK |
1678 | ../stamp-gnatlib: |
1679 | @if [ ! -f stamp-gnatlib ] ; \ | |
1680 | then \ | |
1681 | $(ECHO) You must first build the GNAT library: make gnatlib; \ | |
1682 | false; \ | |
1683 | else \ | |
1684 | true; \ | |
1685 | fi | |
1686 | ||
07fc65c4 | 1687 | install-gnatlib: ../stamp-gnatlib |
84481f76 RK |
1688 | # Create the directory before deleting it, in case the directory is |
1689 | # a list of directories (as it may be on VMS). This ensures we are | |
1690 | # deleting the right one. | |
1d27195c CC |
1691 | -$(MKDIR) $(DESTDIR)$(ADA_RTL_OBJ_DIR) |
1692 | -$(MKDIR) $(DESTDIR)$(ADA_INCLUDE_DIR) | |
fbf5a39b | 1693 | -$(MKDIR) $(DESTDIR)$(ADA_SHARE_MAKE_DIR) |
1d27195c CC |
1694 | $(RMDIR) $(DESTDIR)$(ADA_RTL_OBJ_DIR) |
1695 | $(RMDIR) $(DESTDIR)$(ADA_INCLUDE_DIR) | |
fbf5a39b | 1696 | $(RMDIR) $(DESTDIR)$(ADA_SHARE_MAKE_DIR) |
1d27195c CC |
1697 | -$(MKDIR) $(DESTDIR)$(ADA_RTL_OBJ_DIR) |
1698 | -$(MKDIR) $(DESTDIR)$(ADA_INCLUDE_DIR) | |
fbf5a39b AC |
1699 | -$(MKDIR) $(DESTDIR)$(ADA_SHARE_MAKE_DIR) |
1700 | -$(INSTALL_DATA) rts/Makefile.prolog $(DESTDIR)$(ADA_SHARE_MAKE_DIR) | |
1701 | -$(INSTALL_DATA) rts/Makefile.generic $(DESTDIR)$(ADA_SHARE_MAKE_DIR) | |
5348742b | 1702 | for file in rts/*.ali; do \ |
91b1417d | 1703 | $(INSTALL_DATA_DATE) $$file $(DESTDIR)$(ADA_RTL_OBJ_DIR); \ |
84481f76 | 1704 | done |
fbf5a39b | 1705 | -$(INSTALL_DATA) rts/g-trasym$(objext) $(DESTDIR)$(ADA_RTL_OBJ_DIR) |
5a944040 | 1706 | -cd rts; for file in *$(arext);do \ |
1d27195c | 1707 | $(INSTALL_DATA) $$file $(DESTDIR)$(ADA_RTL_OBJ_DIR); \ |
110aba14 | 1708 | -$(RANLIB) $(RANLIB_FLAGS) $(DESTDIR)$(ADA_RTL_OBJ_DIR)/$$file; \ |
84481f76 | 1709 | done |
5453d5bd AC |
1710 | -$(foreach file, $(EXTRA_ADALIB_FILES), \ |
1711 | $(INSTALL_DATA_DATE) rts/$(file) $(DESTDIR)$(ADA_RTL_OBJ_DIR) && \ | |
1712 | ) true | |
fbf5a39b AC |
1713 | # Install the shared libraries, if any, using $(INSTALL) instead |
1714 | # of $(INSTALL_DATA). The latter may force a mode inappropriate | |
1715 | # for shared libraries on some targets, e.g. on HP-UX where the x | |
1716 | # permission is required. | |
acd47d2a | 1717 | for file in gnat gnarl; do \ |
b7e429ab AC |
1718 | if [ -f rts/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext) ]; then \ |
1719 | $(INSTALL) rts/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext) \ | |
fbf3e0dd | 1720 | $(DESTDIR)$(ADA_RTL_OBJ_DIR); \ |
acd47d2a | 1721 | fi; \ |
b7e429ab AC |
1722 | if [ -f rts/lib$${file}$(soext) ]; then \ |
1723 | $(LN_S) lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext) \ | |
1724 | $(DESTDIR)$(ADA_RTL_OBJ_DIR)/lib$${file}$(soext); \ | |
acd47d2a | 1725 | fi; \ |
84481f76 | 1726 | done |
84481f76 | 1727 | # This copy must be done preserving the date on the original file. |
5348742b | 1728 | for file in rts/*.adb rts/*.ads; do \ |
1d27195c | 1729 | $(INSTALL_DATA_DATE) $$file $(DESTDIR)$(ADA_INCLUDE_DIR); \ |
84481f76 | 1730 | done |
1d27195c CC |
1731 | cd $(DESTDIR)$(ADA_INCLUDE_DIR); $(CHMOD) a-wx *.adb |
1732 | cd $(DESTDIR)$(ADA_INCLUDE_DIR); $(CHMOD) a-wx *.ads | |
84481f76 RK |
1733 | |
1734 | ../stamp-gnatlib2: | |
1735 | $(RM) rts/s-*.ali | |
1736 | $(RM) rts/s-*$(objext) | |
1737 | $(RM) rts/a-*.ali | |
1738 | $(RM) rts/a-*$(objext) | |
1739 | $(RM) rts/*.ali | |
1740 | $(RM) rts/*$(objext) | |
1741 | $(RM) rts/*$(arext) | |
1742 | $(RM) rts/*$(soext) | |
1743 | touch ../stamp-gnatlib2 | |
1744 | $(RM) ../stamp-gnatlib | |
1745 | ||
1746 | # NOTE: The $(foreach ...) commands assume ";" is the valid separator between | |
1747 | # successive target commands. Although the Gnu make documentation | |
1748 | # implies this is true on all systems, I suspect it may not be, So care | |
1749 | # has been taken to allow a sed script to look for ";)" and substitue | |
1750 | # for ";" the appropriate character in the range of lines below | |
1751 | # beginning with "GNULLI Begin" and ending with "GNULLI End" | |
1752 | ||
1753 | # GNULLI Begin ########################################################### | |
1754 | ||
1755 | ../stamp-gnatlib1: Makefile ../stamp-gnatlib2 | |
1756 | $(RMDIR) rts | |
1757 | $(MKDIR) rts | |
1758 | $(CHMOD) u+w rts | |
1759 | # Copy target independent sources | |
1760 | $(foreach f,$(ADA_INCLUDE_SRCS) $(LIBGNAT_SRCS), \ | |
1761 | $(LN_S) $(fsrcpfx)$(f) rts ;) true | |
1762 | # Remove files to be replaced by target dependent sources | |
1763 | $(RM) $(foreach PAIR,$(LIBGNAT_TARGET_PAIRS), \ | |
1764 | rts/$(word 1,$(subst <, ,$(PAIR)))) | |
0fb2ea01 | 1765 | $(RM) rts/*-*-*.ads rts/*-*-*.adb |
84481f76 RK |
1766 | # Copy new target dependent sources |
1767 | $(foreach PAIR,$(LIBGNAT_TARGET_PAIRS), \ | |
1768 | $(LN_S) $(fsrcpfx)$(word 2,$(subst <, ,$(PAIR))) \ | |
1769 | rts/$(word 1,$(subst <, ,$(PAIR)));) | |
1770 | $(RM) ../stamp-gnatlib | |
1771 | touch ../stamp-gnatlib1 | |
1772 | ||
1773 | # GNULLI End ############################################################# | |
1774 | ||
1775 | # Don't use semicolon separated shell commands that involve list expansions. | |
1776 | # The semicolon triggers a call to DCL on VMS and DCL can't handle command | |
1777 | # line lengths in excess of 256 characters. | |
1778 | # Example: cd rts; ar rc libfoo.a $(LONG_LIST_OF_OBJS) | |
1779 | # is guaranteed to overflow the buffer. | |
1780 | ||
1781 | gnatlib: ../stamp-gnatlib1 ../stamp-gnatlib2 | |
84481f76 RK |
1782 | $(MAKE) -C rts CC="../../xgcc -B../../" \ |
1783 | INCLUDES="$(INCLUDES_FOR_SUBDIR) -I./../.." \ | |
07fc65c4 | 1784 | CFLAGS="$(GNATLIBCFLAGS_FOR_C)" \ |
fbf5a39b AC |
1785 | srcdir=$(fsrcdir) \ |
1786 | -f ../Makefile $(LIBGNAT_OBJS) | |
84481f76 | 1787 | $(MAKE) -C rts CC="../../xgcc -B../../" \ |
fbf5a39b AC |
1788 | ADA_INCLUDES="" \ |
1789 | CFLAGS="$(GNATLIBCFLAGS)" \ | |
84481f76 | 1790 | ADAFLAGS="$(GNATLIBFLAGS)" \ |
fbf5a39b | 1791 | srcdir=$(fsrcdir) \ |
84481f76 RK |
1792 | -f ../Makefile \ |
1793 | $(GNATRTL_OBJS) | |
1794 | $(RM) rts/libgnat$(arext) rts/libgnarl$(arext) | |
1795 | $(AR) $(AR_FLAGS) rts/libgnat$(arext) \ | |
fbf5a39b AC |
1796 | $(addprefix rts/,$(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS)) |
1797 | ifneq ($(PREFIX_OBJS),) | |
1798 | $(AR) $(AR_FLAGS) rts/libgccprefix$(arext) $(PREFIX_OBJS); | |
1799 | endif | |
110aba14 | 1800 | -$(RANLIB) $(RANLIB_FLAGS) rts/libgnat$(arext) |
84481f76 RK |
1801 | $(AR) $(AR_FLAGS) rts/libgnarl$(arext) \ |
1802 | $(addprefix rts/,$(GNATRTL_TASKING_OBJS)) | |
110aba14 | 1803 | -$(RANLIB) $(RANLIB_FLAGS) rts/libgnarl$(arext) |
84481f76 | 1804 | ifeq ($(GMEM_LIB),gmemlib) |
5a944040 | 1805 | $(AR) $(AR_FLAGS) rts/libgmem$(arext) rts/memtrack.o |
110aba14 | 1806 | -$(RANLIB) $(RANLIB_FLAGS) rts/libgmem$(arext) |
84481f76 RK |
1807 | endif |
1808 | $(CHMOD) a-wx rts/*.ali | |
1809 | touch ../stamp-gnatlib | |
1810 | ||
84481f76 RK |
1811 | # Warning: this target assumes that LIBRARY_VERSION has been set correctly. |
1812 | gnatlib-shared-default: | |
1813 | $(MAKE) $(FLAGS_TO_PASS) \ | |
1814 | GNATLIBFLAGS="$(GNATLIBFLAGS)" \ | |
1815 | GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(TARGET_LIBGCC2_CFLAGS)" \ | |
1816 | THREAD_KIND="$(THREAD_KIND)" \ | |
1817 | gnatlib | |
c470d7c9 | 1818 | $(RM) rts/libgna*$(soext) |
84481f76 | 1819 | cd rts; ../../xgcc -B../../ -shared $(TARGET_LIBGCC2_CFLAGS) \ |
adc04486 | 1820 | -o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ |
07fc65c4 | 1821 | $(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \ |
adc04486 AC |
1822 | $(SO_OPTS)libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ |
1823 | $(MISCLIB) -lm | |
84481f76 | 1824 | cd rts; ../../xgcc -B../../ -shared $(TARGET_LIBGCC2_CFLAGS) \ |
adc04486 | 1825 | -o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ |
07fc65c4 | 1826 | $(GNATRTL_TASKING_OBJS) \ |
adc04486 AC |
1827 | $(SO_OPTS)libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ |
1828 | $(THREADSLIB) | |
1829 | cd rts; $(LN_S) libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ | |
1830 | libgnat$(soext) | |
1831 | cd rts; $(LN_S) libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ | |
1832 | libgnarl$(soext) | |
84481f76 RK |
1833 | |
1834 | gnatlib-shared-dual: | |
1835 | $(MAKE) $(FLAGS_TO_PASS) \ | |
1836 | GNATLIBFLAGS="$(GNATLIBFLAGS)" \ | |
1837 | GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ | |
1838 | THREAD_KIND="$(THREAD_KIND)" \ | |
fbf5a39b AC |
1839 | gnatlib-shared-default |
1840 | $(MV) rts/libgna*$(soext) . | |
84481f76 RK |
1841 | $(RM) ../stamp-gnatlib2 |
1842 | $(MAKE) $(FLAGS_TO_PASS) \ | |
1843 | GNATLIBFLAGS="$(GNATLIBFLAGS)" \ | |
1844 | GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ | |
1845 | THREAD_KIND="$(THREAD_KIND)" \ | |
fbf5a39b AC |
1846 | gnatlib |
1847 | $(MV) libgna*$(soext) rts | |
1848 | ||
91b1417d AC |
1849 | gnatlib-shared-dual-win32: |
1850 | $(MAKE) $(FLAGS_TO_PASS) \ | |
1851 | GNATLIBFLAGS="$(GNATLIBFLAGS)" \ | |
1852 | GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(TARGET_LIBGCC2_CFLAGS)" \ | |
1853 | THREAD_KIND="$(THREAD_KIND)" \ | |
1854 | gnatlib-shared-win32 | |
1855 | $(MV) rts/libgna*$(soext) . | |
1856 | $(RM) ../stamp-gnatlib2 | |
1857 | $(MAKE) $(FLAGS_TO_PASS) \ | |
1858 | GNATLIBFLAGS="$(GNATLIBFLAGS)" \ | |
1859 | GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ | |
1860 | THREAD_KIND="$(THREAD_KIND)" \ | |
1861 | gnatlib | |
1862 | $(MV) libgna*$(soext) rts | |
1863 | ||
1864 | # ??? we need to add the option to support auto-import of arrays/records to | |
1865 | # the GNATLIBFLAGS when this will be supported by GNAT. At this point we will | |
1866 | # use the gnatlib-shared-dual-win32 target to build the GNAT runtimes on | |
1867 | # Windows. | |
fbf5a39b AC |
1868 | gnatlib-shared-win32: |
1869 | $(MAKE) $(FLAGS_TO_PASS) \ | |
1870 | GNATLIBFLAGS="$(GNATLIBFLAGS)" \ | |
1871 | GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(TARGET_LIBGCC2_CFLAGS)" \ | |
1872 | THREAD_KIND="$(THREAD_KIND)" \ | |
1873 | gnatlib | |
c470d7c9 | 1874 | $(RM) rts/libgna*$(soext) |
fbf5a39b | 1875 | cd rts; ../../xgcc -B../../ -shared $(TARGET_LIBGCC2_CFLAGS) \ |
adc04486 | 1876 | -o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ |
fbf5a39b | 1877 | $(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \ |
adc04486 | 1878 | $(SO_OPTS)libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) $(MISCLIB) |
fbf5a39b | 1879 | cd rts; ../../xgcc -B../../ -shared $(TARGET_LIBGCC2_CFLAGS) \ |
adc04486 | 1880 | -o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ |
fbf5a39b | 1881 | $(GNATRTL_TASKING_OBJS) \ |
adc04486 AC |
1882 | $(SO_OPTS)libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ |
1883 | $(THREADSLIB) -Wl,libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) | |
84481f76 | 1884 | |
c4820158 NS |
1885 | gnatlib-shared-darwin: |
1886 | $(MAKE) $(FLAGS_TO_PASS) \ | |
1887 | GNATLIBFLAGS="$(GNATLIBFLAGS)" \ | |
1888 | GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(TARGET_LIBGCC2_CFLAGS)" \ | |
1889 | THREAD_KIND="$(THREAD_KIND)" \ | |
1890 | gnatlib | |
1891 | $(RM) rts/libgnat$(soext) rts/libgnarl$(soext) | |
1892 | cd rts; ../../xgcc -B../../ -dynamiclib $(TARGET_LIBGCC2_CFLAGS) \ | |
1893 | -o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ | |
1894 | $(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \ | |
1895 | $(SO_OPTS) \ | |
1896 | $(MISCLIB) -lm | |
1897 | cd rts; ../../xgcc -B../../ -dynamiclib $(TARGET_LIBGCC2_CFLAGS) \ | |
1898 | -o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ | |
1899 | $(GNATRTL_TASKING_OBJS) \ | |
1900 | $(SO_OPTS) \ | |
1901 | $(THREADSLIB) -Wl,libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) | |
1902 | cd rts; $(LN_S) libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ | |
1903 | libgnat$(soext) | |
1904 | cd rts; $(LN_S) libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ | |
1905 | libgnarl$(soext) | |
1906 | ||
84481f76 RK |
1907 | gnatlib-shared-vms: |
1908 | $(MAKE) $(FLAGS_TO_PASS) \ | |
1909 | GNATLIBFLAGS="$(GNATLIBFLAGS)" \ | |
1910 | GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ | |
1911 | THREAD_KIND="$(THREAD_KIND)" \ | |
1912 | gnatlib | |
c470d7c9 | 1913 | $(RM) rts/libgna*$(soext) |
fbf5a39b AC |
1914 | cd rts && echo "case_sensitive=yes" > SYMVEC_$$$$.opt && \ |
1915 | objdump --syms $(LIBGNAT_OBJS) $(GNATRTL_NONTASKING_OBJS) | \ | |
1916 | $(SHLIB_SYMVEC) >> SYMVEC_$$$$.opt && \ | |
1917 | echo "case_sensitive=NO" >> SYMVEC_$$$$.opt && \ | |
1918 | ../../xgcc -g -B../../ -nostartfiles -shared -shared-libgcc \ | |
adc04486 | 1919 | -o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) libgnat.a \ |
fbf5a39b AC |
1920 | sys\$$library:trace.exe \ |
1921 | --for-linker=/noinform \ | |
1922 | --for-linker=SYMVEC_$$$$.opt \ | |
1923 | --for-linker=gsmatch=equal,$(GSMATCH_VERSION) | |
1924 | cd rts && echo "case_sensitive=yes" > SYMVEC_$$$$.opt && \ | |
1925 | objdump --syms $(GNATRTL_TASKING_OBJS) | \ | |
1926 | $(SHLIB_SYMVEC) >> SYMVEC_$$$$.opt && \ | |
1927 | echo "case_sensitive=NO" >> SYMVEC_$$$$.opt && \ | |
1928 | ../../xgcc -g -B../../ -nostartfiles -shared -shared-libgcc \ | |
adc04486 AC |
1929 | -o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ |
1930 | libgnarl.a libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ | |
fbf5a39b AC |
1931 | sys\$$library:trace.exe \ |
1932 | --for-linker=/noinform \ | |
1933 | --for-linker=SYMVEC_$$$$.opt \ | |
1934 | --for-linker=gsmatch=equal,$(GSMATCH_VERSION) | |
84481f76 RK |
1935 | |
1936 | gnatlib-shared: | |
1937 | $(MAKE) $(FLAGS_TO_PASS) \ | |
1938 | GNATLIBFLAGS="$(GNATLIBFLAGS)" \ | |
1939 | GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ | |
1940 | THREAD_KIND="$(THREAD_KIND)" \ | |
07fc65c4 | 1941 | TARGET_LIBGCC2_CFLAGS="$(TARGET_LIBGCC2_CFLAGS)" \ |
84481f76 RK |
1942 | $(GNATLIB_SHARED) |
1943 | ||
fbf5a39b AC |
1944 | gnatlib-sjlj: ../stamp-gnatlib1 |
1945 | sed -e 's/ZCX_By_Default.*/ZCX_By_Default : constant Boolean := False;/' rts/system.ads > rts/s.ads | |
1946 | $(MV) rts/s.ads rts/system.ads | |
1947 | $(MAKE) $(FLAGS_TO_PASS) \ | |
1948 | GNATLIBFLAGS="$(GNATLIBFLAGS)" \ | |
1949 | GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ | |
1950 | THREAD_KIND="$(THREAD_KIND)" \ | |
1951 | TARGET_LIBGCC2_CFLAGS="$(TARGET_LIBGCC2_CFLAGS)" gnatlib | |
1952 | ||
7324bf49 AC |
1953 | gnatlib-zcx: ../stamp-gnatlib1 |
1954 | sed -e 's/ZCX_By_Default.*/ZCX_By_Default : constant Boolean := True;/' rts/system.ads > rts/s.ads | |
1955 | $(MV) rts/s.ads rts/system.ads | |
1956 | $(MAKE) $(FLAGS_TO_PASS) \ | |
1957 | GNATLIBFLAGS="$(GNATLIBFLAGS)" \ | |
1958 | GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ | |
1959 | THREAD_KIND="$(THREAD_KIND)" \ | |
1960 | TARGET_LIBGCC2_CFLAGS="$(TARGET_LIBGCC2_CFLAGS)" gnatlib | |
1961 | ||
84481f76 RK |
1962 | # .s files for cross-building |
1963 | gnat-cross: force | |
fbf5a39b | 1964 | make $(GNAT1_ADA_OBJS) CC="gcc -B../stage1/" CFLAGS="-S -gnatp" |
84481f76 RK |
1965 | |
1966 | # Compiling object files from source files. | |
1967 | ||
fbf5a39b AC |
1968 | # Note that dependencies on obstack.h are not written |
1969 | # because that file is not part of GCC. | |
1970 | # Dependencies on gvarargs.h are not written | |
1971 | # because all that file does, when not compiling with GCC, | |
1972 | # is include the system varargs.h. | |
84481f76 | 1973 | |
84481f76 | 1974 | b_gnatl.c : $(GNATLINK_OBJS) |
fbf5a39b | 1975 | $(GNATBIND) -C $(ADA_INCLUDES) -o b_gnatl.c gnatlink.ali |
84481f76 RK |
1976 | b_gnatl.o : b_gnatl.c |
1977 | ||
84481f76 | 1978 | b_gnatm.c : $(GNATMAKE_OBJS) |
fbf5a39b | 1979 | $(GNATBIND) -C $(ADA_INCLUDES) -o b_gnatm.c gnatmake.ali |
84481f76 RK |
1980 | b_gnatm.o : b_gnatm.c |
1981 | ||
fbf5a39b AC |
1982 | ADA_INCLUDE_DIR = $(libsubdir)/adainclude |
1983 | ADA_RTL_OBJ_DIR = $(libsubdir)/adalib | |
5fb1788b | 1984 | ADA_SHARE_MAKE_DIR = $(prefix)/share/gnat |
84481f76 | 1985 | |
fbf5a39b AC |
1986 | # force no sibling call optimization on s-traceb.o so the number of stack |
1987 | # frames to be skipped when computing a call chain is not modified by | |
1988 | # optimization. However we can do that only when building the runtime | |
1989 | # (not the compiler) because the -fno-optimize-sibling-calls exists | |
1990 | # only in GCC 3. | |
84481f76 | 1991 | |
fbf5a39b AC |
1992 | ifneq (,$(findstring xgcc,$(CC))) |
1993 | NO_SIBLING_ADAFLAGS=-fno-optimize-sibling-calls | |
1994 | else | |
1995 | NO_SIBLING_ADAFLAGS= | |
1996 | endif | |
84481f76 | 1997 | |
fbf5a39b AC |
1998 | s-traceb.o : s-traceb.adb |
1999 | $(CC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) \ | |
2000 | $(NO_SIBLING_ADAFLAGS) $(ADA_INCLUDES) \ | |
246d2ceb AC |
2001 | $< $(OUTPUT_OPTION) |
2002 | ||
2003 | # force debugging information on s-tasdeb.o so that it is always | |
2004 | # possible to set conditional breakpoints on tasks. | |
2005 | ||
2006 | s-tasdeb.o : s-tasdeb.adb s-tasdeb.ads | |
2007 | $(CC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) -O0 $(ADA_INCLUDES) \ | |
2008 | $< $(OUTPUT_OPTION) | |
2009 | ||
2010 | # force debugging information on a-except.o so that it is always | |
2011 | # possible to set conditional breakpoints on exceptions. | |
2012 | # use -O1 otherwise gdb isn't able to get a full backtrace on mips targets. | |
2013 | ||
2014 | a-except.o : a-except.adb a-except.ads | |
2015 | $(CC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) -O1 -fno-inline \ | |
2016 | $(ADA_INCLUDES) $< $(OUTPUT_OPTION) | |
2017 | ||
2018 | # force debugging information on s-assert.o so that it is always | |
2019 | # possible to set breakpoint on assert failures. | |
2020 | ||
2021 | s-assert.o : s-assert.adb s-assert.ads a-except.ads | |
2022 | $(CC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) -O2 $(ADA_INCLUDES) \ | |
fbf5a39b | 2023 | $< $(OUTPUT_OPTION) |
07fc65c4 | 2024 | |
fbf5a39b | 2025 | adadecode.o : adadecode.c adadecode.h |
07fc65c4 | 2026 | aux-io.o : aux-io.c |
84481f76 RK |
2027 | argv.o : argv.c |
2028 | cal.o : cal.c | |
84481f76 RK |
2029 | deftarg.o : deftarg.c |
2030 | errno.o : errno.c | |
2031 | exit.o : raise.h exit.c | |
07fc65c4 | 2032 | expect.o : expect.c |
fbf5a39b | 2033 | final.o : raise.h final.c |
84481f76 | 2034 | gmem.o : gmem.c |
07fc65c4 GB |
2035 | link.o : link.c |
2036 | mkdir.o : mkdir.c | |
fbf5a39b | 2037 | socket.o : socket.c |
07fc65c4 | 2038 | sysdep.o : sysdep.c |
84481f76 | 2039 | |
07fc65c4 | 2040 | cio.o : cio.c |
fbf5a39b AC |
2041 | $(CC) -c $(ALL_CFLAGS) $(ADA_CFLAGS) $(RT_FLAGS) \ |
2042 | $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION) | |
84481f76 | 2043 | |
84481f76 | 2044 | init.o : init.c ada.h types.h raise.h |
fbf5a39b AC |
2045 | $(CC) -c $(ALL_CFLAGS) $(ADA_CFLAGS) $(RT_FLAGS) \ |
2046 | $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION) | |
07fc65c4 GB |
2047 | |
2048 | raise.o : raise.c raise.h | |
fbf5a39b AC |
2049 | $(CC) -c $(ALL_CFLAGS) $(ADA_CFLAGS) $(RT_FLAGS) \ |
2050 | $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION) | |
84481f76 | 2051 | |
07fc65c4 GB |
2052 | # Need to keep the frame pointer in this file to pop the stack properly on |
2053 | # some targets. | |
fbf5a39b AC |
2054 | tracebak.o : tracebak.c tb-alvms.c tb-alvxw.c |
2055 | $(CC) -c $(ALL_CFLAGS) $(ADA_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ | |
2056 | -fno-omit-frame-pointer $< $(OUTPUT_OPTION) | |
07fc65c4 GB |
2057 | |
2058 | # In GNU Make, ignore whether `stage*' exists. | |
2059 | .PHONY: stage1 stage2 stage3 stage4 clean realclean TAGS bootstrap | |
2060 | .PHONY: risky-stage1 risky-stage2 risky-stage3 risky-stage4 | |
2061 | ||
2062 | force: | |
2063 | ||
2064 | # Gnatlbr is only used on VMS | |
2065 | ||
fbf5a39b AC |
2066 | ../../gnatlbr$(exeext): ../../prefix.o |
2067 | $(GNATMAKE) -c $(ADA_INCLUDES) gnatlbr --GCC="$(CC) $(ALL_ADAFLAGS)" | |
2068 | $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatlbr | |
2069 | $(GNATLINK) -v gnatlbr -o $@ --GCC="$(CC) $(ADA_INCLUDES)" \ | |
2070 | $(TOOLS_LIBS) |