]>
Commit | Line | Data |
---|---|---|
b0b70d84 AC |
1 | # Makefile for libada. |
2 | # Copyright 2003, 2004 Free Software Foundation, Inc. | |
3 | # | |
4 | # This file is free software; you can redistribute it and/or modify | |
5 | # it under the terms of the GNU General Public License as published by | |
6 | # the Free Software Foundation; either version 2 of the License, or | |
7 | # (at your option) any later version. | |
8 | # | |
9 | # This program is distributed in the hope that it will be useful, | |
10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
12 | # GNU General Public License for more details. | |
13 | # | |
14 | # You should have received a copy of the GNU General Public License | |
15 | # along with this program; if not, write to the Free Software | |
16 | # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | |
17 | ||
18 | # Default target; must be first. | |
5395b47b | 19 | all: gnatlib |
b0b70d84 AC |
20 | |
21 | # Standard autoconf-set variables. | |
22 | SHELL = @SHELL@ | |
23 | srcdir = @srcdir@ | |
24 | build = @build@ | |
25 | target = @target@ | |
80dab182 | 26 | prefix = @prefix@ |
b0b70d84 AC |
27 | |
28 | # Nonstandard autoconf-set variables. | |
80dab182 NN |
29 | enable_shared = @enable_shared@ |
30 | LN_S=@LN_S@ | |
80dab182 NN |
31 | |
32 | # Variables for the user (or the top level) to override. | |
33 | objext=.o | |
34 | GNATLIBFLAGS= -W -Wall -gnatpg | |
35 | THREAD_KIND=native | |
36 | TRACE=no | |
80dab182 NN |
37 | LDFLAGS= |
38 | STAGE_PREFIX= | |
39 | ||
40 | # The tedious process of getting CFLAGS right. | |
41 | CFLAGS=-g | |
42 | LOOSE_WARN = -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes | |
43 | GCC_WARN_CFLAGS = $(LOOSE_WARN) $(NOCOMMON_FLAG) | |
b0b70d84 | 44 | |
80dab182 NN |
45 | ADA_CFLAGS= |
46 | T_ADA_CFLAGS= | |
47 | # HPPA is literally the only target which sets X_ADA_CFLAGS | |
48 | X_ADA_CFLAGS=@x_ada_cflags@ | |
49 | ALL_ADA_CFLAGS=$(X_ADA_CFLAGS) $(T_ADA_CFLAGS) $(ADA_CFLAGS) | |
b0b70d84 | 50 | |
80dab182 NN |
51 | # For finding the GCC build dir, which is used far too much |
52 | GCC_DIR=../../gcc | |
53 | # Include fragment generated by GCC configure. | |
54 | include $(GCC_DIR)/libada-mk | |
b0b70d84 | 55 | |
80dab182 NN |
56 | TARGET_LIBGCC2_CFLAGS= |
57 | GNATLIBCFLAGS= -g -O2 | |
58 | # Get target-specific overrides for TARGET_LIBGCC2_CFLAGS | |
59 | # and possibly GNATLIBCFLAGS. Currently this uses files | |
60 | # in gcc/config. The 'subst' call is used to rerelativize them | |
61 | # from their gcc locations. This is hackery, but there isn't | |
62 | # yet a better way to do this. | |
63 | tmake_file=$(subst /config,/../gcc/config,$(gcc_tmake_file)) | |
64 | ifneq ($(tmake_file),) | |
65 | include $(tmake_file) | |
66 | endif | |
b0b70d84 | 67 | |
80dab182 NN |
68 | FLAGS_TO_PASS = \ |
69 | "MAKEOVERRIDES=" \ | |
70 | "LDFLAGS=$(LDFLAGS)" \ | |
71 | "LN_S=$(LN_S)" \ | |
72 | "SHELL=$(SHELL)" \ | |
73 | "exeext=$(exeext)" \ | |
74 | "objext=$(objext)" \ | |
75 | "prefix=$(prefix)" \ | |
76 | "STAGE_PREFIX=$(STAGE_PREFIX)" \ | |
5395b47b | 77 | "CC=$(host_cc_for_libada)" \ |
80dab182 NN |
78 | "CFLAGS=$(CFLAGS) $(WARN_CFLAGS)" |
79 | ||
b0b70d84 | 80 | # Rules to build gnatlib. |
c2b5e13b | 81 | .PHONY: gnatlib gnatlib-plain gnatlib-sjlj gnatlib-zcx gnatlib-shared |
80dab182 NN |
82 | gnatlib: @default_gnatlib_target@ |
83 | ||
5395b47b NN |
84 | gnatlib-plain: $(GCC_DIR)/ada/Makefile |
85 | test -f stamp-libada || \ | |
80dab182 NN |
86 | $(MAKE) -C $(GCC_DIR)/ada $(FLAGS_TO_PASS) \ |
87 | GNATLIBFLAGS="$(GNATLIBFLAGS)" \ | |
88 | GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ | |
80dab182 NN |
89 | TARGET_LIBGCC2_CFLAGS="$(TARGET_LIBGCC2_CFLAGS)" \ |
90 | THREAD_KIND="$(THREAD_KIND)" \ | |
e9f4e557 | 91 | TRACE="$(TRACE)" \ |
5395b47b NN |
92 | gnatlib \ |
93 | && touch stamp-libada | |
80dab182 | 94 | |
5395b47b NN |
95 | gnatlib-sjlj gnatlib-zcx gnatlib-shared: $(GCC_DIR)/ada/Makefile |
96 | test -f stamp-libada || \ | |
80dab182 | 97 | $(MAKE) -C $(GCC_DIR)/ada $(FLAGS_TO_PASS) \ |
e9f4e557 NN |
98 | GNATLIBFLAGS="$(GNATLIBFLAGS)" \ |
99 | GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ | |
100 | TARGET_LIBGCC2_CFLAGS="$(TARGET_LIBGCC2_CFLAGS)" \ | |
101 | THREAD_KIND="$(THREAD_KIND)" \ | |
102 | TRACE="$(TRACE)" \ | |
5395b47b NN |
103 | $@ \ |
104 | && touch stamp-libada | |
e9f4e557 | 105 | |
b0b70d84 AC |
106 | # Check uninstalled version. |
107 | check: | |
108 | ||
109 | # Check installed version. | |
110 | installcheck: | |
111 | ||
112 | # Build info (none here). | |
113 | info: | |
114 | ||
115 | # Build DVI (none here). | |
116 | dvi: | |
117 | ||
118 | # Build TAGS (none here). | |
119 | TAGS: | |
120 | ||
121 | # Installation rules. | |
122 | install: | |
123 | ||
124 | install-info: | |
125 | ||
126 | # Cleaning rules. | |
127 | mostlyclean: | |
128 | ||
129 | clean: | |
130 | ||
131 | distclean: | |
132 | $(RM) Makefile config.status config.log | |
133 | ||
134 | maintainer-clean: | |
135 | ||
136 | # Rules for rebuilding this Makefile. | |
137 | Makefile: $(srcdir)/Makefile.in config.status | |
138 | CONFIG_FILES=$@ ; \ | |
139 | CONFIG_HEADERS= ; \ | |
140 | $(SHELL) ./config.status | |
141 | ||
142 | config.status: $(srcdir)/configure | |
143 | $(SHELL) ./config.status --recheck | |
144 | ||
e9f4e557 | 145 | $(srcdir)/configure: @MAINT@ $(srcdir)/configure.ac |
b0b70d84 | 146 | cd $(srcdir) && autoconf |
54b2f310 DJ |
147 | |
148 | # Don't export variables to the environment, in order to not confuse | |
149 | # configure. | |
150 | .NOEXPORT: |