]>
Commit | Line | Data |
---|---|---|
a1ab4c31 AC |
1 | # Top level -*- makefile -*- fragment for GNU Ada (GNAT). |
2 | # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, | |
9ddeb034 | 3 | # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 |
c75c517d | 4 | # Free Software Foundation, Inc. |
a1ab4c31 AC |
5 | |
6 | #This file is part of GCC. | |
7 | ||
8 | #GCC is free software; you can redistribute it and/or modify | |
9 | #it under the terms of the GNU General Public License as published by | |
10 | #the Free Software Foundation; either version 3, or (at your option) | |
11 | #any later version. | |
12 | ||
13 | #GCC is distributed in the hope that it will be useful, | |
14 | #but WITHOUT ANY WARRANTY; without even the implied warranty of | |
15 | #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
16 | #GNU General Public License for more details. | |
17 | ||
18 | #You should have received a copy of the GNU General Public License | |
19 | #along with GCC; see the file COPYING3. If not see | |
20 | #<http://www.gnu.org/licenses/>. | |
21 | ||
22 | # This file provides the language dependent support in the main Makefile. | |
23 | # Each language makefile fragment must provide the following targets: | |
24 | # | |
25 | # foo.all.cross, foo.start.encap, foo.rest.encap, | |
26 | # foo.install-common, foo.install-man, foo.install-info, foo.install-pdf, | |
55bcd32b | 27 | # foo.install-html, foo.info, foo.dvi, foo.pdf, foo.html, foo.uninstall, |
a1ab4c31 AC |
28 | # foo.mostlyclean, foo.clean, foo.distclean, |
29 | # foo.maintainer-clean, foo.stage1, foo.stage2, foo.stage3, foo.stage4 | |
30 | # | |
31 | # where `foo' is the name of the language. | |
32 | # | |
33 | # It should also provide rules for: | |
34 | # | |
35 | # - making any compiler driver (eg: g++) | |
36 | # - the compiler proper (eg: cc1plus) | |
37 | # - define the names for selecting the language in LANGUAGES. | |
38 | # tool definitions | |
39 | CP = cp -p | |
40 | ECHO = echo | |
41 | MV = mv | |
42 | MKDIR = mkdir -p | |
43 | RM = rm -f | |
44 | RMDIR = rm -rf | |
f8fb01fb | 45 | |
a1ab4c31 AC |
46 | |
47 | # Extra flags to pass to recursive makes. | |
7cb9fd07 EB |
48 | COMMON_ADAFLAGS= -gnatpg |
49 | ifeq ($(TREECHECKING),) | |
50 | CHECKING_ADAFLAGS= | |
51 | else | |
52 | CHECKING_ADAFLAGS= -gnata | |
53 | endif | |
0cfaf83f | 54 | WARN_ADAFLAGS= -W -Wall |
a1ab4c31 | 55 | |
0c6f926d AC |
56 | # For native builds, the base compiler might be old and we need to arrange for |
57 | # style warnings not to be flagged as errors during stage1. Cross compilers | |
58 | # need to be built by a recent/matching native so we might as well leave the | |
59 | # checks fully active. | |
60 | ||
abcf5174 AC |
61 | STAGE1=False |
62 | GNATBIND_FLAGS= | |
63 | GNATLIB= | |
64 | ||
a1ab4c31 | 65 | ifeq ($(CROSS),) |
abcf5174 AC |
66 | ADAFLAGS=$(COMMON_ADAFLAGS) -gnatwns |
67 | ||
68 | ifeq ($(if $(wildcard ../stage_current),$(shell cat ../stage_current),stage1),stage1) | |
69 | STAGE1=True | |
70 | GNATBIND_FLAGS=-t | |
71 | endif | |
a1ab4c31 | 72 | else |
abcf5174 | 73 | ADAFLAGS=$(COMMON_ADAFLAGS) |
a1ab4c31 AC |
74 | endif |
75 | ||
7cb9fd07 EB |
76 | ALL_ADAFLAGS = \ |
77 | $(CFLAGS) $(ADA_CFLAGS) $(ADAFLAGS) $(CHECKING_ADAFLAGS) $(WARN_ADAFLAGS) | |
a1ab4c31 AC |
78 | FORCE_DEBUG_ADAFLAGS = -g |
79 | ADA_CFLAGS = | |
abcf5174 AC |
80 | COMMON_ADA_INCLUDES = -I- -I. -Iada/generated -Iada -I$(srcdir)/ada |
81 | ||
82 | STAGE1_LIBS= | |
83 | ||
84 | ifeq ($(strip $(filter-out linux%,$(host_os))),) | |
85 | STAGE1_LIBS=-ldl | |
86 | endif | |
87 | ||
07b41006 JDA |
88 | ifeq ($(strip $(filter-out hpux%,$(host_os))),) |
89 | STAGE1_LIBS=/usr/lib/libcl.a | |
90 | endif | |
91 | ||
abcf5174 AC |
92 | ifeq ($(STAGE1),True) |
93 | ADA_INCLUDES=$(COMMON_ADA_INCLUDES) | |
60750741 AC |
94 | adalib=$(dir $(shell $(CC) -print-libgcc-file-name))adalib |
95 | GNATLIB=$(adalib)/$(if $(wildcard $(adalib)/libgnat.a),libgnat.a,libgnat.so) $(STAGE1_LIBS) | |
abcf5174 AC |
96 | else |
97 | ADA_INCLUDES=-nostdinc $(COMMON_ADA_INCLUDES) -Iada/libgnat -I$(srcdir)/ada/libgnat -Iada/gcc-interface -I$(srcdir)/ada/gcc-interface | |
98 | endif | |
99 | ||
e45c0886 EB |
100 | GNATLIBFLAGS= -W -Wall -gnatpg -nostdinc |
101 | GNATLIBCFLAGS= -g -O2 $(TCFLAGS) | |
a1ab4c31 AC |
102 | ADA_INCLUDE_DIR = $(libsubdir)/adainclude |
103 | ADA_RTL_OBJ_DIR = $(libsubdir)/adalib | |
e45c0886 | 104 | THREAD_KIND=native |
0cfaf83f | 105 | # We do not want the WARN_CFLAGS of the compiler in Ada as it is for C/C++. |
1ce499ae | 106 | COMMON_FLAGS_TO_PASS = $(filter-out $(WARN_CFLAGS), $(FLAGS_TO_PASS)) |
a1ab4c31 AC |
107 | ADA_FLAGS_TO_PASS = \ |
108 | "ADA_FOR_BUILD=$(ADA_FOR_BUILD)" \ | |
109 | "ADA_INCLUDE_DIR=$(ADA_INCLUDE_DIR)" \ | |
110 | "ADA_RTL_OBJ_DIR=$(ADA_RTL_OBJ_DIR)" \ | |
0cfaf83f | 111 | "ADAFLAGS=$(ADAFLAGS) $(WARN_ADAFLAGS)" \ |
a1ab4c31 AC |
112 | "ADA_FOR_TARGET=$(ADA_FOR_TARGET)" \ |
113 | "INSTALL=$(INSTALL)" \ | |
114 | "INSTALL_DATA=$(INSTALL_DATA)" \ | |
115 | "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" | |
116 | ||
e5297224 JR |
117 | # List of Ada tools to build and install |
118 | ADA_TOOLS=gnatbind gnatchop gnat gnatkr gnatlink gnatls gnatmake \ | |
5b0e0158 | 119 | gnatname gnatprep gnatclean |
e5297224 | 120 | |
a1ab4c31 AC |
121 | # Say how to compile Ada programs. |
122 | .SUFFIXES: .ada .adb .ads | |
123 | ||
cd9912b5 | 124 | # FIXME: need to add $(ADA_CFLAGS) to .cc.o suffix rule |
c6bd4220 EB |
125 | # Use mildly strict warnings for this front end and add special flags. |
126 | ada-warn = $(ADA_CFLAGS) $(filter-out -pedantic, $(STRICT_WARN)) | |
127 | # Unresolved warnings in specific files. | |
128 | ada/adaint.o-warn = -Wno-error | |
a1ab4c31 | 129 | |
cd9912b5 | 130 | ada/%.o: ada/gcc-interface/%.cc |
8219336f NR |
131 | $(COMPILE) $< |
132 | $(POSTCOMPILE) | |
133 | ||
edcc77db NR |
134 | # Function that dumps the dependencies of an Ada object. Dependency only work |
135 | # fully if the compiler support -gnatd.n. Otherwise a fallback mechanism is | |
7dbe3736 NR |
136 | # used. The fallback mechanism parse the ali files to get the list of |
137 | # dependencies and try to guess their location. If the location cannot be found | |
138 | # then the dependency is ignored. | |
edcc77db NR |
139 | ifeq ($(findstring -gnatd.n,$(ALL_ADAFLAGS)),) |
140 | ADA_DEPS=\ | |
141 | mkdir -p $(dir $@)/$(DEPDIR); \ | |
142 | (o="$@: $<"; \ | |
7dbe3736 NR |
143 | a="`echo $@ | sed -e 's/.o$$/.ali/'`"; \ |
144 | for d in `cat $$a | sed -ne 's;^D \([a-z0-9_\.-]*\).*;\1;gp'`; do \ | |
145 | for l in ada $(srcdir)/ada ada/libgnat $(srcdir)/ada/libgnat; do \ | |
146 | if test -f $$l/$$d; then \ | |
147 | o="$$o $$l/$$d"; \ | |
148 | fi; \ | |
149 | done; \ | |
edcc77db NR |
150 | done; \ |
151 | echo "$$o"; echo) \ | |
152 | >$(dir $@)/$(DEPDIR)/$(patsubst %.o,%.Po,$(notdir $@)) | |
153 | ADA_OUTPUT_OPTION = $(OUTPUT_OPTION) | |
154 | else | |
155 | ADA_DEPS=\ | |
156 | mkdir -p $(dir $@)/$(DEPDIR); \ | |
7dbe3736 NR |
157 | (echo "$@: $< " | tr -d '\015' | tr -d '\n'; \ |
158 | cat $@.gnatd.n | tr -d '\015' | tr '\n' ' '; \ | |
159 | echo; echo) \ | |
edcc77db NR |
160 | >$(dir $@)/$(DEPDIR)/$(patsubst %.o,%.Po,$(notdir $@)) |
161 | ADA_OUTPUT_OPTION = $(OUTPUT_OPTION) > $@.gnatd.n | |
162 | endif | |
163 | ||
8219336f | 164 | |
a1ab4c31 | 165 | .adb.o: |
edcc77db NR |
166 | mkdir -p $(dir $@) |
167 | $(CC) -c $(ALL_ADAFLAGS) $(ADA_INCLUDES) $< $(ADA_OUTPUT_OPTION) | |
8219336f NR |
168 | @$(ADA_DEPS) |
169 | ||
a1ab4c31 | 170 | .ads.o: |
edcc77db NR |
171 | mkdir -p $(dir $@) |
172 | $(CC) -c $(ALL_ADAFLAGS) $(ADA_INCLUDES) $< $(ADA_OUTPUT_OPTION) | |
8219336f | 173 | @$(ADA_DEPS) |
a1ab4c31 AC |
174 | |
175 | # Define the names for selecting Ada in LANGUAGES. | |
176 | ada: gnat1$(exeext) gnatbind$(exeext) | |
a774a6a2 | 177 | ada.serial = gnat1$(exeext) |
a1ab4c31 AC |
178 | |
179 | # Tell GNU Make to ignore these, if they exist. | |
a774a6a2 | 180 | .PHONY: ada |
a1ab4c31 | 181 | |
9a30c7c4 AC |
182 | # Compute the FLAGS to pass for gnattools, now linked with a C++ driver as |
183 | # we're linking against at least libcommon which contains C++ compiled code. | |
184 | # We need to use the same driver to link as the one that was used to produce | |
185 | # the objects, which depends on whether we're bootstrapping or not. The CXX | |
186 | # variable conveys what we need for this, set to "g++" if not bootstrapping, | |
187 | # ".../xg++" otherwise. | |
d775b5ea | 188 | |
a1ab4c31 AC |
189 | # There are too many Ada sources to check against here. Let's |
190 | # always force the recursive make. | |
28d711bf NR |
191 | ifeq ($(build), $(host)) |
192 | ifeq ($(host), $(target)) | |
193 | # This is a regular native. So use the compiler from our current build | |
194 | # tree. | |
195 | ADA_TOOLS_FLAGS_TO_PASS=\ | |
0cfaf83f | 196 | CC="../../xgcc -B../../" \ |
9a30c7c4 | 197 | CXX="$(CXX)" \ |
0cfaf83f | 198 | $(COMMON_FLAGS_TO_PASS) $(ADA_FLAGS_TO_PASS) \ |
dbb4cfef | 199 | ADA_INCLUDES="-I- -I../generated -I../rts" \ |
0cfaf83f EB |
200 | GNATMAKE="../../gnatmake" \ |
201 | GNATLINK="../../gnatlink" \ | |
202 | GNATBIND="../../gnatbind" | |
28d711bf NR |
203 | else |
204 | # This is a regular cross compiler. Use the native compiler to compile | |
205 | # the tools. | |
206 | ||
207 | # put the host RTS dir first in the PATH to hide the default runtime | |
208 | # files that are among the sources | |
33e4edab EB |
209 | ifneq ($(findstring ada,$(LANGUAGES)),) |
210 | RTS_DIR:=$(strip $(subst \,/,$(shell gnatls -v | grep adalib ))) | |
211 | endif | |
28d711bf NR |
212 | |
213 | ADA_TOOLS_FLAGS_TO_PASS=\ | |
214 | CC="$(CC)" \ | |
d775b5ea | 215 | CXX="$(CXX)" \ |
0cfaf83f | 216 | $(COMMON_FLAGS_TO_PASS) $(ADA_FLAGS_TO_PASS) \ |
dbb4cfef | 217 | ADA_INCLUDES="-I../generated -I$(RTS_DIR)/../adainclude -I$(RTS_DIR)" \ |
28d711bf NR |
218 | GNATMAKE="gnatmake" \ |
219 | GNATBIND="gnatbind" \ | |
220 | GNATLINK="gnatlink" \ | |
221 | LIBGNAT="" | |
222 | endif | |
223 | else | |
224 | # Build is different from host so we are either building a canadian cross | |
225 | # or a cross-native compiler. We provide defaults for tools targeting the | |
226 | # host platform, but they can be overriden by just setting <tool>_FOR_HOST | |
b731a420 | 227 | # variables. |
47e62307 EB |
228 | GNATMAKE_FOR_HOST=$(host_noncanonical)-gnatmake |
229 | GNATBIND_FOR_HOST=$(host_noncanonical)-gnatbind | |
230 | GNATLINK_FOR_HOST=$(host_noncanonical)-gnatlink | |
231 | GNATLS_FOR_HOST=$(host_noncanonical)-gnatls | |
28d711bf NR |
232 | |
233 | ifeq ($(host), $(target)) | |
234 | # This is a cross native. All the sources are taken from the currently | |
235 | # built runtime. | |
236 | ADA_TOOLS_FLAGS_TO_PASS=\ | |
237 | CC="$(CC)" \ | |
d775b5ea | 238 | CXX="$(CXX)" \ |
0cfaf83f | 239 | $(COMMON_FLAGS_TO_PASS) $(ADA_FLAGS_TO_PASS) \ |
dbb4cfef | 240 | ADA_INCLUDES="-I../generated -I../rts" \ |
28d711bf NR |
241 | GNATMAKE="$(GNATMAKE_FOR_HOST)" \ |
242 | GNATBIND="$(GNATBIND_FOR_HOST)" \ | |
243 | GNATLINK="$(GNATLINK_FOR_HOST)" \ | |
244 | LIBGNAT="" | |
245 | else | |
246 | # This is a canadian cross. We should use a toolchain running on the | |
247 | # build platform and targeting the host platform. | |
33e4edab EB |
248 | ifneq ($(findstring ada,$(LANGUAGES)),) |
249 | RTS_DIR:=$(strip $(subst \,/,$(shell $(GNATLS_FOR_HOST) -v | grep adalib ))) | |
250 | endif | |
28d711bf NR |
251 | ADA_TOOLS_FLAGS_TO_PASS=\ |
252 | CC="$(CC)" \ | |
d775b5ea | 253 | CXX="$(CXX)" \ |
0cfaf83f | 254 | $(COMMON_FLAGS_TO_PASS) $(ADA_FLAGS_TO_PASS) \ |
dbb4cfef | 255 | ADA_INCLUDES="-I../generated -I$(RTS_DIR)/../adainclude -I$(RTS_DIR)" \ |
28d711bf NR |
256 | GNATMAKE="$(GNATMAKE_FOR_HOST)" \ |
257 | GNATBIND="$(GNATBIND_FOR_HOST)" \ | |
258 | GNATLINK="$(GNATLINK_FOR_HOST)" \ | |
259 | LIBGNAT="" | |
260 | endif | |
261 | endif | |
a1ab4c31 | 262 | |
f95c6539 EB |
263 | # Strip -Werror during linking for the LTO bootstrap |
264 | GCC_LINKERFLAGS = $(filter-out -Werror, $(ALL_LINKERFLAGS)) | |
265 | ||
0b21f5d3 | 266 | GCC_LINK=$(LINKER) $(GCC_LINKERFLAGS) $(LDFLAGS) |
427b248d | 267 | GCC_LLINK=$(LLINKER) $(GCC_LINKERFLAGS) $(LDFLAGS) |
a1ab4c31 AC |
268 | |
269 | # Lists of files for various purposes. | |
270 | ||
271 | # Languages-specific object files for Ada. | |
9e9bd455 | 272 | |
abcf5174 | 273 | # Object files from C sources that are used by gnat1 |
a6eae6a9 | 274 | # adadecode.o should not be needed with sufficiently recent compilers |
abcf5174 AC |
275 | GNAT1_C_OBJS = \ |
276 | ada/cuintp.o \ | |
277 | ada/decl.o \ | |
278 | ada/misc.o \ | |
279 | ada/utils.o \ | |
280 | ada/utils2.o \ | |
281 | ada/trans.o \ | |
282 | ada/targtyps.o \ | |
a6eae6a9 | 283 | ada/version.o \ |
abcf5174 | 284 | ada/targext.o \ |
a6eae6a9 | 285 | ada/adadecode.o |
a1ab4c31 AC |
286 | |
287 | # Object files from Ada sources that are used by gnat1 | |
1dfddbb4 | 288 | GNAT_ADA_OBJS = \ |
06b599fd | 289 | ada/spark_xrefs.o \ |
1dfddbb4 AC |
290 | ada/ali.o \ |
291 | ada/alloc.o \ | |
2b3d67a5 | 292 | ada/aspects.o \ |
1dfddbb4 | 293 | ada/atree.o \ |
8967ee52 | 294 | ada/backend_utils.o \ |
1dfddbb4 AC |
295 | ada/butil.o \ |
296 | ada/casing.o \ | |
297 | ada/checks.o \ | |
298 | ada/comperr.o \ | |
879ac954 | 299 | ada/contracts.o \ |
1dfddbb4 AC |
300 | ada/csets.o \ |
301 | ada/cstand.o \ | |
302 | ada/debug.o \ | |
303 | ada/debug_a.o \ | |
76f9c7f4 BD |
304 | ada/einfo-entities.o \ |
305 | ada/einfo-utils.o \ | |
1dfddbb4 AC |
306 | ada/einfo.o \ |
307 | ada/elists.o \ | |
308 | ada/err_vars.o \ | |
309 | ada/errout.o \ | |
310 | ada/erroutc.o \ | |
311 | ada/eval_fat.o \ | |
312 | ada/exp_aggr.o \ | |
06b599fd | 313 | ada/exp_spark.o \ |
1dfddbb4 AC |
314 | ada/exp_atag.o \ |
315 | ada/exp_attr.o \ | |
9c41193c | 316 | ada/exp_cg.o \ |
1dfddbb4 AC |
317 | ada/exp_ch11.o \ |
318 | ada/exp_ch12.o \ | |
319 | ada/exp_ch13.o \ | |
320 | ada/exp_ch2.o \ | |
321 | ada/exp_ch3.o \ | |
322 | ada/exp_ch4.o \ | |
323 | ada/exp_ch5.o \ | |
324 | ada/exp_ch6.o \ | |
325 | ada/exp_ch7.o \ | |
326 | ada/exp_ch8.o \ | |
327 | ada/exp_ch9.o \ | |
328 | ada/exp_code.o \ | |
329 | ada/exp_dbug.o \ | |
330 | ada/exp_disp.o \ | |
331 | ada/exp_dist.o \ | |
332 | ada/exp_fixd.o \ | |
333 | ada/exp_imgv.o \ | |
334 | ada/exp_intr.o \ | |
335 | ada/exp_pakd.o \ | |
336 | ada/exp_prag.o \ | |
110d0820 | 337 | ada/exp_put_image.o \ |
1dfddbb4 AC |
338 | ada/exp_sel.o \ |
339 | ada/exp_smem.o \ | |
340 | ada/exp_strm.o \ | |
341 | ada/exp_tss.o \ | |
5a271a7f | 342 | ada/exp_unst.o \ |
1dfddbb4 | 343 | ada/exp_util.o \ |
1dfddbb4 AC |
344 | ada/expander.o \ |
345 | ada/fmap.o \ | |
346 | ada/fname-uf.o \ | |
347 | ada/fname.o \ | |
348 | ada/freeze.o \ | |
349 | ada/frontend.o \ | |
1dfddbb4 | 350 | ada/get_targ.o \ |
8636f52f | 351 | ada/ghost.o \ |
b0a16e6d | 352 | ada/gnat_cuda.o \ |
1dfddbb4 | 353 | ada/gnatvsn.o \ |
1dfddbb4 | 354 | ada/hostparm.o \ |
1dfddbb4 AC |
355 | ada/impunit.o \ |
356 | ada/inline.o \ | |
1dfddbb4 AC |
357 | ada/itypes.o \ |
358 | ada/krunch.o \ | |
359 | ada/layout.o \ | |
360 | ada/lib-load.o \ | |
361 | ada/lib-util.o \ | |
362 | ada/lib-writ.o \ | |
363 | ada/lib-xref.o \ | |
364 | ada/lib.o \ | |
365 | ada/live.o \ | |
366 | ada/namet-sp.o \ | |
367 | ada/namet.o \ | |
368 | ada/nlists.o \ | |
369 | ada/nmake.o \ | |
370 | ada/opt.o \ | |
371 | ada/osint-c.o \ | |
372 | ada/osint.o \ | |
373 | ada/output.o \ | |
374 | ada/par.o \ | |
375 | ada/par_sco.o \ | |
376 | ada/prep.o \ | |
377 | ada/prepcomp.o \ | |
378 | ada/put_scos.o \ | |
6c165711 | 379 | ada/repinfo-input.o \ |
1dfddbb4 AC |
380 | ada/repinfo.o \ |
381 | ada/restrict.o \ | |
382 | ada/rident.o \ | |
383 | ada/rtsfind.o \ | |
1dfddbb4 | 384 | ada/scans.o \ |
8219336f | 385 | ada/scil_ll.o \ |
1dfddbb4 AC |
386 | ada/scn.o \ |
387 | ada/scng.o \ | |
388 | ada/scos.o \ | |
389 | ada/sdefault.o \ | |
76f9c7f4 | 390 | ada/seinfo.o \ |
1dfddbb4 AC |
391 | ada/sem.o \ |
392 | ada/sem_aggr.o \ | |
393 | ada/sem_attr.o \ | |
394 | ada/sem_aux.o \ | |
395 | ada/sem_case.o \ | |
396 | ada/sem_cat.o \ | |
397 | ada/sem_ch10.o \ | |
398 | ada/sem_ch11.o \ | |
399 | ada/sem_ch12.o \ | |
400 | ada/sem_ch13.o \ | |
401 | ada/sem_ch2.o \ | |
402 | ada/sem_ch3.o \ | |
403 | ada/sem_ch4.o \ | |
404 | ada/sem_ch5.o \ | |
405 | ada/sem_ch6.o \ | |
406 | ada/sem_ch7.o \ | |
407 | ada/sem_ch8.o \ | |
408 | ada/sem_ch9.o \ | |
dec6faf1 | 409 | ada/sem_dim.o \ |
1dfddbb4 AC |
410 | ada/sem_disp.o \ |
411 | ada/sem_dist.o \ | |
412 | ada/sem_elab.o \ | |
413 | ada/sem_elim.o \ | |
414 | ada/sem_eval.o \ | |
415 | ada/sem_intr.o \ | |
416 | ada/sem_mech.o \ | |
417 | ada/sem_prag.o \ | |
418 | ada/sem_res.o \ | |
419 | ada/sem_scil.o \ | |
420 | ada/sem_smem.o \ | |
421 | ada/sem_type.o \ | |
422 | ada/sem_util.o \ | |
1dfddbb4 | 423 | ada/sem_warn.o \ |
289a994b | 424 | ada/set_targ.o \ |
1dfddbb4 | 425 | ada/sinfo-cn.o \ |
76f9c7f4 BD |
426 | ada/sinfo-nodes.o \ |
427 | ada/sinfo-utils.o \ | |
1dfddbb4 AC |
428 | ada/sinfo.o \ |
429 | ada/sinput-d.o \ | |
430 | ada/sinput-l.o \ | |
431 | ada/sinput.o \ | |
432 | ada/snames.o \ | |
433 | ada/sprint.o \ | |
434 | ada/stand.o \ | |
435 | ada/stringt.o \ | |
d235950e | 436 | ada/strub.o \ |
1dfddbb4 AC |
437 | ada/style.o \ |
438 | ada/styleg.o \ | |
439 | ada/stylesw.o \ | |
440 | ada/switch-c.o \ | |
441 | ada/switch.o \ | |
1dfddbb4 | 442 | ada/table.o \ |
1dfddbb4 AC |
443 | ada/targparm.o \ |
444 | ada/tbuild.o \ | |
1dfddbb4 | 445 | ada/treepr.o \ |
1dfddbb4 AC |
446 | ada/ttypes.o \ |
447 | ada/types.o \ | |
448 | ada/uintp.o \ | |
449 | ada/uname.o \ | |
450 | ada/urealp.o \ | |
451 | ada/usage.o \ | |
452 | ada/validsw.o \ | |
e60b6e23 | 453 | ada/vast.o \ |
0f1af881 | 454 | ada/warnsw.o \ |
abcf5174 AC |
455 | ada/widechar.o \ |
456 | ada/gnat.o \ | |
457 | ada/g-dynhta.o \ | |
458 | ada/g-graphs.o \ | |
459 | ada/g-lists.o \ | |
460 | ada/g-sets.o \ | |
abcf5174 AC |
461 | ada/s-pehage.o \ |
462 | ada/s-utf_32.o | |
463 | ||
464 | ifeq ($(STAGE1),False) | |
465 | GNAT1_C_OBJS+= \ | |
a6eae6a9 AC |
466 | ada/adaint.o \ |
467 | ada/argv.o \ | |
468 | ada/cio.o \ | |
469 | ada/cstreams.o \ | |
470 | ada/env.o \ | |
471 | ada/errno.o \ | |
abcf5174 AC |
472 | ada/init.o \ |
473 | ada/initialize.o \ | |
474 | ada/raise.o \ | |
475 | ada/raise-gcc.o \ | |
476 | ada/rtfinal.o \ | |
477 | ada/rtinit.o \ | |
478 | ada/seh_init.o | |
479 | ||
480 | GNAT_ADA_OBJS+= \ | |
481 | ada/gcc-interface/system.o \ | |
482 | ada/libgnat/a-assert.o \ | |
483 | ada/libgnat/a-charac.o \ | |
484 | ada/libgnat/a-chlat1.o \ | |
485 | ada/libgnat/a-elchha.o \ | |
486 | ada/libgnat/a-except.o \ | |
487 | ada/libgnat/a-exctra.o \ | |
488 | ada/libgnat/a-ioexce.o \ | |
b0fd3e31 YM |
489 | ada/libgnat/a-nubinu.o \ |
490 | ada/libgnat/a-numeri.o \ | |
abcf5174 AC |
491 | ada/libgnat/ada.o \ |
492 | ada/libgnat/g-byorma.o \ | |
493 | ada/libgnat/g-heasor.o \ | |
494 | ada/libgnat/g-htable.o \ | |
495 | ada/libgnat/g-spchge.o \ | |
496 | ada/libgnat/g-speche.o \ | |
497 | ada/libgnat/g-table.o \ | |
498 | ada/libgnat/g-u3spch.o \ | |
499 | ada/libgnat/interfac.o \ | |
500 | ada/libgnat/s-addope.o \ | |
501 | ada/libgnat/s-addima.o \ | |
502 | ada/libgnat/s-assert.o \ | |
503 | ada/libgnat/s-bitops.o \ | |
504 | ada/libgnat/s-carun8.o \ | |
a6eae6a9 AC |
505 | ada/libgnat/s-casuti.o \ |
506 | ada/libgnat/s-crtl.o \ | |
abcf5174 AC |
507 | ada/libgnat/s-conca2.o \ |
508 | ada/libgnat/s-conca3.o \ | |
509 | ada/libgnat/s-conca4.o \ | |
510 | ada/libgnat/s-conca5.o \ | |
511 | ada/libgnat/s-conca6.o \ | |
512 | ada/libgnat/s-conca7.o \ | |
513 | ada/libgnat/s-conca8.o \ | |
514 | ada/libgnat/s-conca9.o \ | |
515 | ada/libgnat/s-crc32.o \ | |
516 | ada/libgnat/s-excdeb.o \ | |
517 | ada/libgnat/s-except.o \ | |
518 | ada/libgnat/s-excmac.o \ | |
519 | ada/libgnat/s-exctab.o \ | |
520 | ada/libgnat/s-htable.o \ | |
abcf5174 AC |
521 | ada/libgnat/s-imgint.o \ |
522 | ada/libgnat/s-mastop.o \ | |
523 | ada/libgnat/s-memory.o \ | |
a6eae6a9 | 524 | ada/libgnat/s-os_lib.o \ |
abcf5174 AC |
525 | ada/libgnat/s-parame.o \ |
526 | ada/libgnat/s-purexc.o \ | |
527 | ada/libgnat/s-restri.o \ | |
528 | ada/libgnat/s-secsta.o \ | |
529 | ada/libgnat/s-soflin.o \ | |
530 | ada/libgnat/s-soliin.o \ | |
abcf5174 AC |
531 | ada/libgnat/s-stache.o \ |
532 | ada/libgnat/s-stalib.o \ | |
533 | ada/libgnat/s-stoele.o \ | |
534 | ada/libgnat/s-strcom.o \ | |
535 | ada/libgnat/s-strhas.o \ | |
536 | ada/libgnat/s-string.o \ | |
abcf5174 AC |
537 | ada/libgnat/s-traceb.o \ |
538 | ada/libgnat/s-traent.o \ | |
539 | ada/libgnat/s-trasym.o \ | |
540 | ada/libgnat/s-unstyp.o \ | |
541 | ada/libgnat/s-valint.o \ | |
542 | ada/libgnat/s-valuns.o \ | |
543 | ada/libgnat/s-valuti.o \ | |
544 | ada/libgnat/s-wchcnv.o \ | |
545 | ada/libgnat/s-wchcon.o \ | |
546 | ada/libgnat/s-wchjis.o \ | |
b0fd3e31 YM |
547 | ada/libgnat/s-wchstw.o \ |
548 | ada/libgnat/s-widuns.o | |
abcf5174 | 549 | endif |
a1ab4c31 AC |
550 | |
551 | # Object files for gnat executables | |
52fd02bb | 552 | GNAT1_ADA_OBJS = $(GNAT_ADA_OBJS) ada/back_end.o ada/gnat1drv.o |
a1ab4c31 | 553 | |
52fd02bb | 554 | GNAT1_OBJS = $(GNAT1_C_OBJS) $(GNAT1_ADA_OBJS) ada/b_gnat1.o |
a1ab4c31 AC |
555 | |
556 | GNATBIND_OBJS = \ | |
a1ab4c31 AC |
557 | ada/ali-util.o \ |
558 | ada/ali.o \ | |
559 | ada/alloc.o \ | |
0f1a6a0b | 560 | ada/aspects.o \ |
a1ab4c31 AC |
561 | ada/atree.o \ |
562 | ada/bcheck.o \ | |
563 | ada/binde.o \ | |
564 | ada/binderr.o \ | |
565 | ada/bindgen.o \ | |
69e6ee2f HK |
566 | ada/bindo.o \ |
567 | ada/bindo-augmentors.o \ | |
568 | ada/bindo-builders.o \ | |
569 | ada/bindo-diagnostics.o \ | |
570 | ada/bindo-elaborators.o \ | |
571 | ada/bindo-graphs.o \ | |
572 | ada/bindo-units.o \ | |
573 | ada/bindo-validators.o \ | |
574 | ada/bindo-writers.o \ | |
a1ab4c31 AC |
575 | ada/bindusg.o \ |
576 | ada/butil.o \ | |
577 | ada/casing.o \ | |
578 | ada/csets.o \ | |
579 | ada/debug.o \ | |
76f9c7f4 BD |
580 | ada/einfo-entities.o \ |
581 | ada/einfo-utils.o \ | |
a1ab4c31 AC |
582 | ada/einfo.o \ |
583 | ada/elists.o \ | |
584 | ada/err_vars.o \ | |
585 | ada/errout.o \ | |
586 | ada/erroutc.o \ | |
c6d2191a AC |
587 | ada/exit.o \ |
588 | ada/final.o \ | |
a1ab4c31 | 589 | ada/fmap.o \ |
9beddc4c | 590 | ada/fname-uf.o \ |
c6d2191a | 591 | ada/fname.o \ |
a1ab4c31 AC |
592 | ada/gnatbind.o \ |
593 | ada/gnatvsn.o \ | |
594 | ada/hostparm.o \ | |
9beddc4c | 595 | ada/krunch.o \ |
a1ab4c31 | 596 | ada/lib.o \ |
c6d2191a | 597 | ada/link.o \ |
a1ab4c31 AC |
598 | ada/namet.o \ |
599 | ada/nlists.o \ | |
600 | ada/opt.o \ | |
601 | ada/osint-b.o \ | |
602 | ada/osint.o \ | |
603 | ada/output.o \ | |
9beddc4c | 604 | ada/restrict.o \ |
a1ab4c31 | 605 | ada/rident.o \ |
abcf5174 AC |
606 | ada/scans.o \ |
607 | ada/scil_ll.o \ | |
608 | ada/scng.o \ | |
609 | ada/sdefault.o \ | |
610 | ada/seinfo.o \ | |
611 | ada/sem_aux.o \ | |
612 | ada/sinfo.o \ | |
613 | ada/sinfo-nodes.o \ | |
614 | ada/sinfo-utils.o \ | |
615 | ada/sinput-c.o \ | |
616 | ada/sinput.o \ | |
617 | ada/snames.o \ | |
618 | ada/stand.o \ | |
619 | ada/stringt.o \ | |
620 | ada/style.o \ | |
621 | ada/styleg.o \ | |
622 | ada/stylesw.o \ | |
623 | ada/switch-b.o \ | |
624 | ada/switch.o \ | |
625 | ada/table.o \ | |
a6eae6a9 | 626 | ada/targext.o \ |
abcf5174 AC |
627 | ada/targparm.o \ |
628 | ada/types.o \ | |
629 | ada/uintp.o \ | |
630 | ada/uname.o \ | |
631 | ada/urealp.o \ | |
632 | ada/widechar.o \ | |
633 | ada/gnat.o \ | |
634 | ada/g-dynhta.o \ | |
635 | ada/g-lists.o \ | |
636 | ada/g-graphs.o \ | |
637 | ada/g-sets.o \ | |
abcf5174 | 638 | ada/s-resfil.o \ |
a6eae6a9 AC |
639 | ada/version.o \ |
640 | ada/s-utf_32.o | |
abcf5174 AC |
641 | |
642 | ifeq ($(STAGE1),False) | |
643 | GNATBIND_OBJS += \ | |
644 | ada/init.o \ | |
645 | ada/initialize.o \ | |
646 | ada/raise.o \ | |
647 | ada/raise-gcc.o \ | |
07e188be PO |
648 | ada/rtfinal.o \ |
649 | ada/rtinit.o \ | |
abcf5174 AC |
650 | ada/seh_init.o \ |
651 | ada/gcc-interface/system.o \ | |
652 | ada/libgnat/a-assert.o \ | |
653 | ada/libgnat/a-elchha.o \ | |
654 | ada/libgnat/a-except.o \ | |
b0fd3e31 YM |
655 | ada/libgnat/a-nubinu.o \ |
656 | ada/libgnat/a-numeri.o \ | |
abcf5174 AC |
657 | ada/libgnat/ada.o \ |
658 | ada/libgnat/g-byorma.o \ | |
659 | ada/libgnat/g-hesora.o \ | |
660 | ada/libgnat/g-htable.o \ | |
661 | ada/libgnat/interfac.o \ | |
edcc77db NR |
662 | ada/libgnat/s-addope.o \ |
663 | ada/libgnat/s-assert.o \ | |
664 | ada/libgnat/s-carun8.o \ | |
a6eae6a9 | 665 | ada/libgnat/s-casuti.o \ |
edcc77db NR |
666 | ada/libgnat/s-conca2.o \ |
667 | ada/libgnat/s-conca3.o \ | |
668 | ada/libgnat/s-conca4.o \ | |
669 | ada/libgnat/s-conca5.o \ | |
670 | ada/libgnat/s-conca6.o \ | |
671 | ada/libgnat/s-conca7.o \ | |
672 | ada/libgnat/s-conca8.o \ | |
673 | ada/libgnat/s-conca9.o \ | |
674 | ada/libgnat/s-crc32.o \ | |
edcc77db NR |
675 | ada/libgnat/s-excdeb.o \ |
676 | ada/libgnat/s-except.o \ | |
677 | ada/libgnat/s-excmac.o \ | |
678 | ada/libgnat/s-exctab.o \ | |
679 | ada/libgnat/s-htable.o \ | |
edcc77db NR |
680 | ada/libgnat/s-imgint.o \ |
681 | ada/libgnat/s-mastop.o \ | |
682 | ada/libgnat/s-memory.o \ | |
a6eae6a9 | 683 | ada/libgnat/s-os_lib.o \ |
edcc77db | 684 | ada/libgnat/s-parame.o \ |
edcc77db NR |
685 | ada/libgnat/s-restri.o \ |
686 | ada/libgnat/s-secsta.o \ | |
687 | ada/libgnat/s-soflin.o \ | |
bad0a3df | 688 | ada/libgnat/s-soliin.o \ |
edcc77db NR |
689 | ada/libgnat/s-stache.o \ |
690 | ada/libgnat/s-stalib.o \ | |
691 | ada/libgnat/s-stoele.o \ | |
692 | ada/libgnat/s-strhas.o \ | |
693 | ada/libgnat/s-string.o \ | |
edcc77db NR |
694 | ada/libgnat/s-traent.o \ |
695 | ada/libgnat/s-traceb.o \ | |
696 | ada/libgnat/s-unstyp.o \ | |
edcc77db NR |
697 | ada/libgnat/s-wchcnv.o \ |
698 | ada/libgnat/s-wchcon.o \ | |
699 | ada/libgnat/s-wchjis.o \ | |
a6eae6a9 | 700 | ada/libgnat/s-wchstw.o \ |
b0fd3e31 | 701 | ada/libgnat/s-widuns.o \ |
a6eae6a9 AC |
702 | ada/adaint.o \ |
703 | ada/argv.o \ | |
704 | ada/cio.o \ | |
705 | ada/cstreams.o \ | |
706 | ada/env.o \ | |
707 | ada/errno.o | |
abcf5174 | 708 | endif |
a1ab4c31 AC |
709 | |
710 | # Language-independent object files. | |
711 | ADA_BACKEND = $(BACKEND) attribs.o | |
712 | ||
713 | # List of target dependent sources, overridden below as necessary | |
714 | TARGET_ADA_SRCS = | |
715 | ||
6cbfce7e AC |
716 | # Select the right s-excmac according to exception layout (Itanium or arm) |
717 | host_cpu=$(word 1, $(subst -, ,$(host))) | |
a96eb6f2 | 718 | EH_MECHANISM=gcc |
6cbfce7e | 719 | ifeq ($(strip $(filter-out arm%,$(host_cpu))),) |
a96eb6f2 | 720 | EH_MECHANISM=arm |
6cbfce7e AC |
721 | endif |
722 | ||
a96eb6f2 TG |
723 | # For unwind-pe.h |
724 | CFLAGS-ada/raise-gcc.o += -I$(srcdir)/../libgcc -DEH_MECHANISM_$(EH_MECHANISM) | |
725 | ||
f8a1e069 IS |
726 | # Under aarch64 darwin, we need to include the iOS signal trampoline. |
727 | ||
728 | ifeq ($(strip $(filter-out aarch64 arm64 darwin%,$(host_cpu) $(host_os))),) | |
729 | EXTRA_HOST_OBJS=ada/sigtramp-ios.o | |
730 | else | |
731 | EXTRA_HOST_OBJS = | |
732 | endif | |
733 | ||
edcc77db | 734 | ada/libgnat/s-excmac.o: ada/libgnat/s-excmac.ads ada/libgnat/s-excmac.adb |
6cbfce7e | 735 | |
a0713cb6 | 736 | ada/libgnat/s-excmac.ads: $(srcdir)/ada/libgnat/s-excmac__$(EH_MECHANISM).ads |
edcc77db | 737 | mkdir -p ada/libgnat |
6cbfce7e AC |
738 | $(CP) $< $@ |
739 | ||
a0713cb6 | 740 | ada/libgnat/s-excmac.adb: $(srcdir)/ada/libgnat/s-excmac__$(EH_MECHANISM).adb |
edcc77db | 741 | mkdir -p ada/libgnat |
6cbfce7e AC |
742 | $(CP) $< $@ |
743 | ||
a1ab4c31 AC |
744 | # Needs to be built with CC=gcc |
745 | # Since the RTL should be built with the latest compiler, remove the | |
746 | # stamp target in the parent directory whenever gnat1 is rebuilt | |
f8a1e069 IS |
747 | gnat1$(exeext): $(TARGET_ADA_SRCS) $(GNAT1_OBJS) $(ADA_BACKEND) $(EXTRA_HOST_OBJS) libcommon-target.a \ |
748 | $(EXTRA_HOST_OBJS) $(LIBDEPS) $(ada.prev) | |
d326ebc9 | 749 | @$(call LINK_PROGRESS,$(INDEX.ada),start) |
f8a1e069 | 750 | +$(GCC_LLINK) -o $@ $(GNAT1_OBJS) $(ADA_BACKEND) $(EXTRA_HOST_OBJS) $(CFLAGS) \ |
abcf5174 | 751 | libcommon-target.a $(LIBS) $(SYSLIBS) $(BACKENDLIBS) $(GNATLIB) |
a7dafa20 | 752 | $(RM) stamp-gnatlib2-rts stamp-tools |
d326ebc9 | 753 | @$(call LINK_PROGRESS,$(INDEX.ada),end) |
a1ab4c31 | 754 | |
f8a1e069 IS |
755 | gnatbind$(exeext): ada/b_gnatb.o $(CONFIG_H) $(GNATBIND_OBJS) $(EXTRA_HOST_OBJS) ggc-none.o libcommon-target.a $(LIBDEPS) |
756 | +$(GCC_LINK) -o $@ $(CFLAGS) ada/b_gnatb.o $(GNATBIND_OBJS) $(EXTRA_HOST_OBJS) ggc-none.o libcommon-target.a $(LIBS) $(SYSLIBS) $(GNATLIB) | |
a1ab4c31 | 757 | |
e972fd52 AC |
758 | # use target-gcc target-gnatmake target-gnatbind target-gnatlink |
759 | gnattools: $(GCC_PARTS) $(CONFIG_H) prefix.o force | |
0cfaf83f | 760 | $(MAKE) -C ada $(ADA_TOOLS_FLAGS_TO_PASS) gnattools1 |
e972fd52 AC |
761 | $(MAKE) -C ada $(ADA_TOOLS_FLAGS_TO_PASS) gnattools2 |
762 | ||
763 | regnattools: | |
764 | $(MAKE) -C ada $(ADA_TOOLS_FLAGS_TO_PASS) gnattools1-re | |
765 | $(MAKE) -C ada $(ADA_TOOLS_FLAGS_TO_PASS) gnattools2 | |
766 | ||
767 | cross-gnattools: force | |
768 | $(MAKE) -C ada $(ADA_TOOLS_FLAGS_TO_PASS) gnattools1-re | |
769 | $(MAKE) -C ada $(ADA_TOOLS_FLAGS_TO_PASS) gnattools2 | |
e972fd52 AC |
770 | |
771 | canadian-gnattools: force | |
772 | $(MAKE) -C ada $(ADA_TOOLS_FLAGS_TO_PASS) gnattools1-re | |
773 | $(MAKE) -C ada $(ADA_TOOLS_FLAGS_TO_PASS) gnattools2 | |
774 | ||
4c166488 | 775 | gnatlib gnatlib-sjlj gnatlib-zcx gnatlib-shared: force |
0cfaf83f | 776 | $(MAKE) -C ada $(COMMON_FLAGS_TO_PASS) \ |
e972fd52 AC |
777 | GNATLIBFLAGS="$(GNATLIBFLAGS)" \ |
778 | GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ | |
779 | TARGET_LIBGCC2_CFLAGS="$(TARGET_LIBGCC2_CFLAGS)" \ | |
780 | THREAD_KIND="$(THREAD_KIND)" \ | |
07c6ed01 | 781 | LN_S="$(LN_S)" \ |
e972fd52 AC |
782 | FORCE_DEBUG_ADAFLAGS="$(FORCE_DEBUG_ADAFLAGS)" \ |
783 | $@ | |
784 | ||
785 | # use only for native compiler | |
786 | gnatlib_and_tools: gnatlib gnattools | |
787 | ||
a1ab4c31 AC |
788 | # Build hooks: |
789 | ||
790 | ada.all.cross: | |
e5297224 JR |
791 | for tool in $(ADA_TOOLS) ; do \ |
792 | if [ -f $$tool$(exeext) ] ; \ | |
793 | then \ | |
794 | $(MV) $$tool$(exeext) $$tool-cross$(exeext); \ | |
795 | fi; \ | |
796 | done | |
a1ab4c31 AC |
797 | |
798 | ada.start.encap: | |
799 | ada.rest.encap: | |
800 | ada.man: | |
801 | ada.srcextra: | |
802 | ada.srcman: | |
803 | ||
804 | ada.tags: force | |
cd9912b5 | 805 | cd $(srcdir)/ada && $(ETAGS) -o TAGS.sub *.cc *.h *.ads *.adb && \ |
909b30a1 | 806 | $(ETAGS) --include TAGS.sub --include ../TAGS.sub |
a1ab4c31 AC |
807 | |
808 | ||
809 | # Generate documentation. | |
810 | ||
ed616c6c | 811 | doc/gnat_ugn.info: ada/gnat_ugn.texi \ |
a1ab4c31 AC |
812 | $(gcc_docdir)/include/fdl.texi $(gcc_docdir)/include/gcc-common.texi \ |
813 | gcc-vers.texi | |
814 | if [ x$(BUILD_INFO) = xinfo ]; then \ | |
815 | rm -f $(@)*; \ | |
816 | $(MAKEINFO) $(MAKEINFOFLAGS) -I$(gcc_docdir)/include \ | |
817 | -I$(srcdir)/ada -o $@ $<; \ | |
818 | else true; fi | |
819 | ||
820 | doc/gnat_rm.info: ada/gnat_rm.texi $(gcc_docdir)/include/fdl.texi \ | |
821 | $(gcc_docdir)/include/gcc-common.texi gcc-vers.texi | |
822 | if [ x$(BUILD_INFO) = xinfo ]; then \ | |
823 | rm -f $(@)*; \ | |
824 | $(MAKEINFO) $(MAKEINFOFLAGS) -I$(gcc_docdir)/include \ | |
825 | -I$(srcdir)/ada -o $@ $<; \ | |
826 | else true; fi | |
827 | ||
828 | doc/gnat-style.info: ada/gnat-style.texi $(gcc_docdir)/include/fdl.texi \ | |
829 | $(gcc_docdir)/include/gcc-common.texi gcc-vers.texi | |
830 | if [ x$(BUILD_INFO) = xinfo ]; then \ | |
831 | rm -f $(@)*; \ | |
832 | $(MAKEINFO) $(MAKEINFOFLAGS) -I$(gcc_docdir)/include \ | |
833 | -I$(srcdir)/ada -o $@ $<; \ | |
834 | else true; fi | |
835 | ||
24228312 | 836 | ADA_INFOFILES = doc/gnat_ugn.info doc/gnat_rm.info doc/gnat-style.info |
a1ab4c31 AC |
837 | |
838 | ada.info: $(ADA_INFOFILES) | |
839 | ||
840 | ada.srcinfo: $(ADA_INFOFILES) | |
841 | -$(CP) $^ $(srcdir)/doc | |
842 | ||
843 | ada.install-info: $(DESTDIR)$(infodir)/gnat_ugn.info \ | |
844 | $(DESTDIR)$(infodir)/gnat_rm.info \ | |
845 | $(DESTDIR)$(infodir)/gnat-style.info | |
846 | ||
c3e80a16 EG |
847 | ADA_DVIFILES = doc/gnat_ugn.dvi \ |
848 | doc/gnat_rm.dvi doc/gnat-style.dvi | |
849 | ||
850 | ada.dvi: $(ADA_DVIFILES) | |
851 | ||
852 | ada.install-dvi: $(ADA_DVIFILES) | |
853 | @$(NORMAL_INSTALL) | |
854 | test -z "$(dvidir)/gcc" || $(mkinstalldirs) "$(DESTDIR)$(dvidir)/gcc" | |
855 | @list='$(ADA_DVIFILES)'; for p in $$list; do \ | |
856 | if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ | |
857 | f=$(dvi__strip_dir) \ | |
858 | echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(dvidir)/gcc/$$f'"; \ | |
859 | $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(dvidir)/gcc/$$f"; \ | |
860 | done | |
a1ab4c31 AC |
861 | |
862 | ADA_PDFFILES = doc/gnat_ugn.pdf \ | |
863 | doc/gnat_rm.pdf doc/gnat-style.pdf | |
864 | ||
865 | ada.pdf: $(ADA_PDFFILES) | |
866 | ||
867 | ada.install-pdf: $(ADA_PDFFILES) | |
868 | @$(NORMAL_INSTALL) | |
869 | test -z "$(pdfdir)/gcc" || $(mkinstalldirs) "$(DESTDIR)$(pdfdir)/gcc" | |
870 | @list='$(ADA_PDFFILES)'; for p in $$list; do \ | |
871 | if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ | |
872 | f=$(pdf__strip_dir) \ | |
873 | echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(pdfdir)/gcc/$$f'"; \ | |
874 | $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(pdfdir)/gcc/$$f"; \ | |
875 | done | |
876 | ||
877 | ada.html: | |
878 | ||
55bcd32b AJ |
879 | ada.install-html: |
880 | ||
ed616c6c | 881 | doc/gnat_ugn.dvi: ada/gnat_ugn.texi \ |
24228312 | 882 | $(gcc_docdir)/include/fdl.texi \ |
a1ab4c31 AC |
883 | $(gcc_docdir)/include/gcc-common.texi gcc-vers.texi |
884 | $(TEXI2DVI) -c -I $(abs_docdir)/include -o $@ $< | |
885 | ||
886 | doc/gnat_rm.dvi: ada/gnat_rm.texi $(gcc_docdir)/include/fdl.texi \ | |
887 | $(gcc_docdir)/include/gcc-common.texi gcc-vers.texi | |
888 | $(TEXI2DVI) -c -I $(abs_docdir)/include -o $@ $< | |
889 | ||
890 | doc/gnat-style.dvi: ada/gnat-style.texi $(gcc_docdir)/include/fdl.texi | |
891 | $(TEXI2DVI) -c -I $(abs_docdir)/include -o $@ $< | |
892 | ||
ed616c6c | 893 | doc/gnat_ugn.pdf: ada/gnat_ugn.texi \ |
24228312 | 894 | $(gcc_docdir)/include/fdl.texi \ |
a1ab4c31 AC |
895 | $(gcc_docdir)/include/gcc-common.texi gcc-vers.texi |
896 | $(TEXI2PDF) -c -I $(abs_docdir)/include -o $@ $< | |
897 | ||
898 | doc/gnat_rm.pdf: ada/gnat_rm.texi $(gcc_docdir)/include/fdl.texi \ | |
899 | $(gcc_docdir)/include/gcc-common.texi gcc-vers.texi | |
900 | $(TEXI2PDF) -c -I $(abs_docdir)/include -o $@ $< | |
901 | ||
902 | doc/gnat-style.pdf: ada/gnat-style.texi $(gcc_docdir)/include/fdl.texi | |
903 | $(TEXI2PDF) -c -I $(abs_docdir)/include -o $@ $< | |
904 | ||
a1ab4c31 AC |
905 | # Install hooks: |
906 | # gnat1 is installed elsewhere as part of $(COMPILERS). | |
907 | ||
e5297224 JR |
908 | # Install the binder program as gnatbind (native) or $(prefix)gnatbind |
909 | # (cross). $(prefix) comes from the --program-prefix configure option, | |
910 | # or from the --target option if the former is not specified. | |
911 | # Do the same for the rest of the Ada tools (gnatchop, gnat, gnatkr, | |
5b0e0158 | 912 | # gnatlink, gnatls, gnatmake, gnatname, gnatprep, gnatclean). |
e5297224 | 913 | # gnatdll is only used on Windows. |
8951374d MR |
914 | ada.install-common: $(gnat_install_lib) gnat-install-tools |
915 | ||
916 | gnat-install-tools: | |
a1ab4c31 | 917 | $(MKDIR) $(DESTDIR)$(bindir) |
a1ab4c31 AC |
918 | -if [ -f gnat1$(exeext) ] ; \ |
919 | then \ | |
e5297224 | 920 | for tool in $(ADA_TOOLS) ; do \ |
5b638c3a RB |
921 | install_name=`echo $$tool|sed '$(program_transform_name)'`$(exeext); \ |
922 | $(RM) $(DESTDIR)$(bindir)/$$install_name; \ | |
e5297224 JR |
923 | if [ -f $$tool-cross$(exeext) ] ; \ |
924 | then \ | |
e5297224 JR |
925 | $(INSTALL_PROGRAM) $$tool-cross$(exeext) $(DESTDIR)$(bindir)/$$install_name; \ |
926 | else \ | |
5b638c3a | 927 | $(INSTALL_PROGRAM) $$tool$(exeext) $(DESTDIR)$(bindir)/$$install_name; \ |
a1ab4c31 | 928 | fi ; \ |
e5297224 JR |
929 | done; \ |
930 | $(RM) $(DESTDIR)$(bindir)/gnatdll$(exeext); \ | |
931 | $(INSTALL_PROGRAM) gnatdll$(exeext) $(DESTDIR)$(bindir)/gnatdll$(exeext); \ | |
a1ab4c31 AC |
932 | fi |
933 | ||
934 | # | |
935 | # Finally, install the library | |
936 | # | |
8951374d | 937 | gnat-install-lib: | gnat-install-tools |
a1ab4c31 AC |
938 | -if [ -f gnat1$(exeext) ] ; \ |
939 | then \ | |
0cfaf83f | 940 | $(MAKE) $(COMMON_FLAGS_TO_PASS) $(ADA_FLAGS_TO_PASS) install-gnatlib; \ |
a1ab4c31 AC |
941 | fi |
942 | ||
943 | install-gnatlib: | |
0cfaf83f | 944 | $(MAKE) -C ada $(COMMON_FLAGS_TO_PASS) $(ADA_FLAGS_TO_PASS) install-gnatlib$(LIBGNAT_TARGET) |
a1ab4c31 AC |
945 | |
946 | install-gnatlib-obj: | |
0cfaf83f | 947 | $(MAKE) -C ada $(COMMON_FLAGS_TO_PASS) $(ADA_FLAGS_TO_PASS) install-gnatlib-obj |
a1ab4c31 AC |
948 | |
949 | ada.install-man: | |
2a4c0366 | 950 | ada.install-plugin: |
a1ab4c31 AC |
951 | |
952 | ada.uninstall: | |
e5297224 JR |
953 | for tool in $(ADA_TOOLS) ; do \ |
954 | install_name=`echo $$tool|sed '$(program_transform_name)'`$(exeext); \ | |
955 | -$(RM) $(DESTDIR)$(bindir)/$$install_name; \ | |
956 | done | |
a1ab4c31 | 957 | -$(RM) $(DESTDIR)$(tooldir)/bin/gnatdll$(exeext) |
a1ab4c31 AC |
958 | |
959 | # Clean hooks: | |
960 | # A lot of the ancillary files are deleted by the main makefile. | |
961 | # We just have to delete files specific to us. | |
962 | ||
963 | ada.mostlyclean: | |
8ad150f6 | 964 | -$(RM) ada/*$(objext) ada/*.ali ada/b_gnat*.ads ada/b_gnat*.adb |
7dbe3736 | 965 | -$(RM) ada/*$(objext).gnatd.n |
a1ab4c31 | 966 | -$(RM) ada/*$(coverageexts) |
76f9c7f4 | 967 | -$(RM) ada/stamp-sdefault ada/stamp-snames ada/stamp-gen_il |
a1ab4c31 | 968 | -$(RMDIR) ada/tools |
7dbe3736 | 969 | -$(RMDIR) ada/libgnat |
46bf0b0a | 970 | -$(RM) gnatbind$(exeext) gnat1$(exeext) |
a1ab4c31 AC |
971 | ada.clean: |
972 | ada.distclean: | |
973 | -$(RM) ada/Makefile | |
974 | -$(RM) gnatchop$(exeext) | |
975 | -$(RM) gnat$(exeext) | |
976 | -$(RM) gnatdll$(exeext) | |
977 | -$(RM) gnatkr$(exeext) | |
978 | -$(RM) gnatlink$(exeext) | |
979 | -$(RM) gnatls$(exeext) | |
980 | -$(RM) gnatmake$(exeext) | |
981 | -$(RM) gnatname$(exeext) | |
982 | -$(RM) gnatprep$(exeext) | |
a1ab4c31 | 983 | -$(RM) gnatclean$(exeext) |
a1ab4c31 AC |
984 | -$(RM) ada/rts/* |
985 | -$(RMDIR) ada/rts | |
986 | -$(RM) ada/tools/* | |
987 | -$(RMDIR) ada/tools | |
988 | ada.maintainer-clean: | |
989 | -$(RM) ada/sinfo.h | |
990 | -$(RM) ada/einfo.h | |
991 | -$(RM) ada/nmake.adb | |
992 | -$(RM) ada/nmake.ads | |
b62a90f2 | 993 | -$(RM) ada/snames.ads ada/snames.adb ada/snames.h |
f8fb01fb | 994 | |
a1ab4c31 AC |
995 | # Stage hooks: |
996 | # The main makefile has already created stage?/ada | |
997 | ||
998 | ada.stage1: stage1-start | |
8ad150f6 | 999 | -$(MV) ada/*$(objext) ada/*.ali ada/b_gnat*.ad* stage1/ada |
a1ab4c31 AC |
1000 | -$(MV) ada/stamp-* stage1/ada |
1001 | ada.stage2: stage2-start | |
8ad150f6 | 1002 | -$(MV) ada/*$(objext) ada/*.ali ada/b_gnat*.ad* stage2/ada |
a1ab4c31 AC |
1003 | -$(MV) ada/stamp-* stage2/ada |
1004 | ada.stage3: stage3-start | |
8ad150f6 | 1005 | -$(MV) ada/*$(objext) ada/*.ali ada/b_gnat*.ad* stage3/ada |
a1ab4c31 AC |
1006 | -$(MV) ada/stamp-* stage3/ada |
1007 | ada.stage4: stage4-start | |
8ad150f6 | 1008 | -$(MV) ada/*$(objext) ada/*.ali ada/b_gnat*.ad* stage4/ada |
a1ab4c31 AC |
1009 | -$(MV) ada/stamp-* stage4/ada |
1010 | ada.stageprofile: stageprofile-start | |
8ad150f6 | 1011 | -$(MV) ada/*$(objext) ada/*.ali ada/b_gnat*.ad* stageprofile/ada |
a1ab4c31 AC |
1012 | -$(MV) ada/stamp-* stageprofile/ada |
1013 | ada.stagefeedback: stagefeedback-start | |
8ad150f6 | 1014 | -$(MV) ada/*$(objext) ada/*.ali ada/b_gnat*.ad* stagefeedback/ada |
a1ab4c31 AC |
1015 | -$(MV) ada/stamp-* stagefeedback/ada |
1016 | ||
1017 | lang_checks += check-gnat | |
6a5792b6 RO |
1018 | lang_checks_parallelized += check-gnat |
1019 | # For description see the check_$lang_parallelize comment in gcc/Makefile.in. | |
1020 | check_gnat_parallelize = 1000 | |
a1ab4c31 AC |
1021 | |
1022 | check-ada: check-acats check-gnat | |
7134e605 | 1023 | check-ada-subtargets: check-acats-subtargets check-gnat-subtargets |
a1ab4c31 | 1024 | |
033eb567 DM |
1025 | # No ada-specific selftests |
1026 | selftest-ada: | |
1027 | ||
a1ab4c31 | 1028 | ACATSDIR = $(TESTSUITEDIR)/ada/acats |
f73036c1 | 1029 | ACATSCMD = run_acats.sh |
a1ab4c31 | 1030 | |
717c4789 JJ |
1031 | check_acats_numbers0:=1 2 3 4 5 6 7 8 9 |
1032 | check_acats_numbers1:=0 $(check_acats_numbers0) | |
1033 | check_acats_numbers2:=$(foreach i,$(check_acats_numbers0),$(addprefix $(i),$(check_acats_numbers1))) | |
1034 | check_acats_numbers3:=$(addprefix 0,$(check_acats_numbers1)) $(check_acats_numbers2) | |
1035 | check_acats_numbers4:=$(foreach i,$(check_acats_numbers0),$(addprefix $(i),$(check_acats_numbers3))) | |
1036 | check_acats_numbers5:=$(addprefix 0,$(check_acats_numbers3)) $(check_acats_numbers4) | |
1037 | check_acats_numbers6:=$(foreach i,$(check_acats_numbers0),$(addprefix $(i),$(check_acats_numbers5))) | |
1038 | check_acats_numbers:=$(check_acats_numbers0) $(check_acats_numbers2) $(check_acats_numbers4) $(check_acats_numbers6) | |
1039 | check_acats_subdirs=$(wordlist 1, \ | |
1040 | $(if $(GCC_TEST_PARALLEL_SLOTS),$(GCC_TEST_PARALLEL_SLOTS),128), \ | |
1041 | $(check_acats_numbers)) | |
1042 | check_acats_targets = $(addprefix check-acats, $(check_acats_subdirs)) | |
7134e605 | 1043 | |
a1ab4c31 | 1044 | check-acats: |
7134e605 | 1045 | @test -d $(ACATSDIR) || mkdir -p $(ACATSDIR); \ |
1382ae05 RO |
1046 | rootme=`${PWD_COMMAND}`; export rootme; \ |
1047 | EXPECT=$(EXPECT); export EXPECT; \ | |
b2b0acbe | 1048 | if [ -z "$(CHAPTERS)" ] && [ -n "$(filter -j%, $(MFLAGS))" ]; \ |
7134e605 | 1049 | then \ |
717c4789 JJ |
1050 | rm -rf $(ACATSDIR)-parallel; \ |
1051 | mkdir $(ACATSDIR)-parallel; \ | |
1052 | ( testdir=`cd ${srcdir}/${ACATSDIR} && ${PWD_COMMAND}`; \ | |
1053 | export testdir; \ | |
f73036c1 | 1054 | cd $(ACATSDIR) && $(SHELL) $${testdir}/$(ACATSCMD) NONE ) \ |
717c4789 JJ |
1055 | || exit 1; \ |
1056 | GCC_RUNTEST_PARALLELIZE_DIR=$$rootme/$(ACATSDIR)-parallel; \ | |
1057 | export GCC_RUNTEST_PARALLELIZE_DIR; \ | |
7134e605 | 1058 | $(MAKE) $(check_acats_targets); \ |
717c4789 JJ |
1059 | rm -rf $(ACATSDIR)-parallel; \ |
1060 | acats_sums= ; acats_logs= ; \ | |
1061 | for idx in "" $(check_acats_subdirs); do \ | |
1062 | [ -d $(ACATSDIR)$$idx ] || continue; \ | |
7134e605 JJ |
1063 | mv -f $(ACATSDIR)$$idx/acats.sum $(ACATSDIR)$$idx/acats.sum.sep; \ |
1064 | mv -f $(ACATSDIR)$$idx/acats.log $(ACATSDIR)$$idx/acats.log.sep; \ | |
717c4789 JJ |
1065 | acats_sums="$$acats_sums $(ACATSDIR)$$idx/acats.sum.sep"; \ |
1066 | acats_logs="$$acats_logs $(ACATSDIR)$$idx/acats.log.sep"; \ | |
7134e605 JJ |
1067 | done; \ |
1068 | $(SHELL) $(srcdir)/../contrib/dg-extract-results.sh \ | |
717c4789 | 1069 | $$acats_sums > $(ACATSDIR)/acats.sum; \ |
7134e605 | 1070 | $(SHELL) $(srcdir)/../contrib/dg-extract-results.sh -L \ |
717c4789 | 1071 | $$acats_logs > $(ACATSDIR)/acats.log; \ |
7134e605 JJ |
1072 | exit 0; \ |
1073 | fi; \ | |
a1ab4c31 | 1074 | testdir=`cd ${srcdir}/${ACATSDIR} && ${PWD_COMMAND}`; \ |
f73036c1 | 1075 | export testdir; cd $(ACATSDIR) && $(SHELL) $${testdir}/$(ACATSCMD) $(CHAPTERS) |
a1ab4c31 | 1076 | |
7134e605 | 1077 | check-acats-subtargets: |
717c4789 | 1078 | @echo check-acats |
7134e605 JJ |
1079 | |
1080 | # Parallelized check-acats | |
1081 | $(check_acats_targets): check-acats%: | |
717c4789 JJ |
1082 | if [ -f $$GCC_RUNTEST_PARALLELIZE_DIR/finished ]; then \ |
1083 | rm -rf $(ACATSDIR)$*; exit 0; \ | |
1084 | fi; \ | |
7134e605 JJ |
1085 | test -d $(ACATSDIR)$* || mkdir -p $(ACATSDIR)$*; \ |
1086 | testdir=`cd ${srcdir}/${ACATSDIR} && ${PWD_COMMAND}`; \ | |
f73036c1 | 1087 | export testdir; cd $(ACATSDIR)$* && $(SHELL) $${testdir}/$(ACATSCMD) |
717c4789 | 1088 | touch $$GCC_RUNTEST_PARALLELIZE_DIR/finished |
7134e605 JJ |
1089 | |
1090 | .PHONY: check-acats $(check_acats_targets) | |
f8fb01fb | 1091 | |
a1ab4c31 AC |
1092 | # Compiling object files from source files. |
1093 | ||
a1ab4c31 AC |
1094 | # Ada language specific files. |
1095 | ||
8ad150f6 TG |
1096 | ada/b_gnat1.adb : $(GNAT1_ADA_OBJS) |
1097 | # Old gnatbind do not allow a path for -o. | |
abcf5174 | 1098 | $(GNATBIND) $(GNATBIND_FLAGS) $(ADA_INCLUDES) -o b_gnat1.adb -n ada/gnat1drv.ali |
8ad150f6 TG |
1099 | $(MV) b_gnat1.adb b_gnat1.ads ada/ |
1100 | ||
1101 | ada/b_gnat1.o : ada/b_gnat1.adb | |
1102 | # Do not use ADAFLAGS to get rid of -gnatg which generates a lot | |
1103 | # of style messages. | |
1104 | $(CC) -c $(CFLAGS) $(ADA_CFLAGS) -gnatp -gnatws $(ADA_INCLUDES) \ | |
edcc77db | 1105 | $< $(ADA_OUTPUT_OPTION) |
8ad150f6 | 1106 | |
abcf5174 | 1107 | ada/b_gnatb.adb : $(GNATBIND_OBJS) ada/gnatbind.o |
8ad150f6 | 1108 | # Old gnatbind do not allow a path for -o. |
abcf5174 | 1109 | $(GNATBIND) $(GNATBIND_FLAGS) $(ADA_INCLUDES) -o b_gnatb.adb ada/gnatbind.ali |
8ad150f6 TG |
1110 | $(MV) b_gnatb.adb b_gnatb.ads ada/ |
1111 | ||
1112 | ada/b_gnatb.o : ada/b_gnatb.adb | |
1113 | $(CC) -c $(CFLAGS) $(ADA_CFLAGS) -gnatp -gnatws $(ADA_INCLUDES) \ | |
edcc77db | 1114 | $< $(ADA_OUTPUT_OPTION) |
a1ab4c31 | 1115 | |
1be9633f | 1116 | include $(srcdir)/ada/Make-generated.in |
2d4d7e29 | 1117 | |
edcc77db NR |
1118 | ada/sdefault.o : ada/libgnat/ada.ads ada/libgnat/a-except.ads ada/libgnat/a-unccon.ads \ |
1119 | ada/libgnat/a-uncdea.ads ada/alloc.ads ada/debug.ads ada/hostparm.ads ada/namet.ads \ | |
a1ab4c31 | 1120 | ada/opt.ads ada/osint.ads ada/output.ads ada/sdefault.ads ada/sdefault.adb \ |
edcc77db | 1121 | ada/libgnat/s-exctab.ads ada/libgnat/s-memory.ads ada/libgnat/s-os_lib.ads ada/libgnat/s-parame.ads \ |
76cc0773 | 1122 | ada/libgnat/s-stalib.ads ada/libgnat/s-string.ads ada/libgnat/s-traent.ads ada/libgnat/s-unstyp.ads \ |
a9005194 AC |
1123 | ada/libgnat/s-wchcon.ads ada/table.adb ada/table.ads \ |
1124 | ada/types.ads ada/libgnat/unchdeal.ads ada/libgnat/unchconv.ads \ | |
1125 | ada/gcc-interface/system.ads | |
a1ab4c31 | 1126 | |
8219336f | 1127 | # Special flags - see gcc-interface/Makefile.in for the template. |
e1876cac | 1128 | |
edcc77db | 1129 | ada/libgnat/a-except.o : ada/libgnat/a-except.adb ada/libgnat/a-except.ads ada/libgnat/s-excmac.ads ada/libgnat/s-excmac.adb |
a1ab4c31 | 1130 | $(CC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) -O1 -fno-inline \ |
edcc77db | 1131 | $(ADA_INCLUDES) $< $(ADA_OUTPUT_OPTION) |
8219336f | 1132 | @$(ADA_DEPS) |
a1ab4c31 | 1133 | |
edcc77db | 1134 | ada/libgnat/s-excdeb.o : ada/libgnat/s-excdeb.adb ada/libgnat/s-excdeb.ads |
a1ab4c31 | 1135 | $(CC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) -O0 \ |
edcc77db | 1136 | $(ADA_INCLUDES) $< $(ADA_OUTPUT_OPTION) |
8219336f | 1137 | @$(ADA_DEPS) |
a1ab4c31 | 1138 | |
edcc77db | 1139 | ada/libgnat/s-assert.o : ada/libgnat/s-assert.adb ada/libgnat/s-assert.ads |
e1876cac | 1140 | $(CC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) $(ADA_INCLUDES) \ |
edcc77db | 1141 | $< $(ADA_OUTPUT_OPTION) |
8219336f | 1142 | @$(ADA_DEPS) |
a1ab4c31 | 1143 | |
edcc77db | 1144 | ada/libgnat/a-tags.o : ada/libgnat/a-tags.adb ada/libgnat/a-tags.ads |
e1876cac | 1145 | $(CC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) $(ADA_INCLUDES) \ |
edcc77db | 1146 | $< $(ADA_OUTPUT_OPTION) |
8219336f | 1147 | @$(ADA_DEPS) |
e1876cac | 1148 | |
dbb4cfef AC |
1149 | # Handling of gnatvsn version string |
1150 | ||
1151 | # This ensure the build works even if there is no GNAT_DATE present in the | |
1152 | # sources | |
1153 | ada/GNAT_DATE: | |
1154 | touch ada/GNAT_DATE | |
1155 | ||
1156 | ada/generated/gnatvsn.ads: ada/gnatvsn.ads BASE-VER ada/GNAT_DATE | |
1157 | $(MKDIR) ada/generated | |
1158 | s=`cat $(srcdir)/BASE-VER | sed -e "s/\([0-9]*\)\.\([0-9]*\)\..*/-\1\2/g"`; \ | |
1159 | d=`if test -f $(srcdir)/ada/GNAT_DATE; then \ | |
1160 | cat $(srcdir)/ada/GNAT_DATE; else date +%Y%m%d; fi`; \ | |
9e0d5db3 | 1161 | cat $< | sed -e "/Version/s/(\([0-9]\{8\}\).*)/($$d$$s)/g" >$@ |
dbb4cfef AC |
1162 | |
1163 | ada/gnatvsn.o : ada/gnatvsn.adb ada/generated/gnatvsn.ads | |
abcf5174 | 1164 | $(CC) -c $(ALL_ADAFLAGS) $(ADA_INCLUDES) $< $(ADA_OUTPUT_OPTION) |
dbb4cfef AC |
1165 | @$(ADA_DEPS) |
1166 | ||
8219336f | 1167 | # Dependencies for windows specific tool (mdll) |
a1ab4c31 AC |
1168 | |
1169 | ada/mdll.o : ada/mdll.adb ada/mdll.ads ada/mdll-fil.ads ada/mdll-utl.ads | |
edcc77db | 1170 | $(CC) -c $(ALL_ADAFLAGS) $(ADA_INCLUDES) $< $(ADA_OUTPUT_OPTION) |
a1ab4c31 AC |
1171 | |
1172 | ada/mdll-fil.o : ada/mdll-fil.adb ada/mdll.ads ada/mdll-fil.ads | |
edcc77db | 1173 | $(CC) -c $(ALL_ADAFLAGS) $(ADA_INCLUDES) $< $(ADA_OUTPUT_OPTION) |
a1ab4c31 AC |
1174 | |
1175 | ada/mdll-utl.o : ada/mdll-utl.adb ada/mdll.ads ada/mdll-utl.ads ada/sdefault.ads ada/types.ads | |
edcc77db | 1176 | $(CC) -c $(ALL_ADAFLAGS) $(ADA_INCLUDES) $< $(ADA_OUTPUT_OPTION) |
a1ab4c31 | 1177 | |
76f9c7f4 BD |
1178 | # All generated files. Perhaps we should build all of these in the same |
1179 | # subdirectory, and get rid of ada/bldtools. | |
c9dd0131 EB |
1180 | # Warning: the files starting with ada/gnat.ads are not really generated, |
1181 | # instead they are copied from the libgnat subdirectory of the source tree | |
1182 | # during all the stages of the bootstrap, i.e. including stage #1, which | |
1183 | # means that they still need to be compilable by the base compiler. | |
abcf5174 AC |
1184 | ADA_GENERATED_FILES = \ |
1185 | ada/sinfo.h ada/einfo.h ada/nmake.adb ada/nmake.ads \ | |
1186 | ada/snames.ads ada/snames.adb ada/snames.h \ | |
1187 | ada/generated/gnatvsn.ads \ | |
1188 | ada/seinfo.ads ada/seinfo_tables.ads ada/seinfo_tables.adb \ | |
1189 | ada/sinfo-nodes.ads ada/sinfo-nodes.adb \ | |
1190 | ada/einfo-entities.ads ada/einfo-entities.adb \ | |
1191 | ada/gnat.ads ada/g-dynhta.ads ada/g-dynhta.adb \ | |
1192 | ada/g-dyntab.ads ada/g-dyntab.adb ada/g-graphs.ads ada/g-graphs.adb \ | |
1193 | ada/g-lists.ads ada/g-lists.adb ada/g-sets.ads ada/g-sets.adb \ | |
a6eae6a9 AC |
1194 | ada/s-rident.ads ada/s-pehage.ads ada/s-pehage.adb \ |
1195 | ada/s-resfil.ads ada/s-resfil.adb ada/s-utf_32.ads ada/s-utf_32.adb | |
76f9c7f4 BD |
1196 | |
1197 | # Only used to manually trigger the creation of the generated files. | |
1198 | .PHONY: | |
1199 | ada_generated_files: $(ADA_GENERATED_FILES) | |
a1ab4c31 | 1200 | |
8219336f NR |
1201 | # When building from scratch we don't have dependency files, the only thing |
1202 | # we need to ensure is that the generated files are created first. | |
76f9c7f4 | 1203 | $(GNAT1_OBJS) $(GNATBIND_OBJS): | $(ADA_GENERATED_FILES) |
0f1af881 | 1204 | |
8219336f | 1205 | # Manually include the auto-generated dependencies for the Ada host objects. |
8f241ff5 | 1206 | ADA_DEPFILES = $(foreach obj,$(GNAT1_ADA_OBJS) $(GNATBIND_OBJS),\ |
8219336f NR |
1207 | $(dir $(obj))/$(DEPDIR)/$(patsubst %.o,%.Po,$(notdir $(obj)))) |
1208 | -include $(ADA_DEPFILES) | |
a1ab4c31 | 1209 | |
8219336f NR |
1210 | # Automatically include the auto-generated dependencies for the C host objects. |
1211 | ada_OBJS = $(GNAT1_C_OBJS) |