re PR middle-end/33273 (FAIL: 27_io/basic_istream/ignore/char/1.cc (test for excess...
[gcc.git] / libada / Makefile.in
index e1565e792ec03779b45ccad01b9b8a3f4eec6462..8375078e7489bfb2ec5f9dd0c11eba047585ac35 100644 (file)
 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
 # Default target; must be first.
-all: gnatlib gnattools
+all: gnatlib
 
 # Standard autoconf-set variables.
 SHELL = @SHELL@
 srcdir = @srcdir@
 build = @build@
 target = @target@
-enable_shared = @enable_shared@
+prefix = @prefix@
 
 # Nonstandard autoconf-set variables.
-
-FLAGS_TO_PASS =
-
-GNATLIB = gnatlib
-
-ifeq ($(build),$(target))
-  GNATTOOLS = gnattools
-
-  ifeq ($(enable_shared),yes)
-    GNATLIB = gnatlib-shared
-  endif
-
-else
-  GNATTOOLS = cross-gnattools ada.all.cross
+enable_shared = @enable_shared@
+LN_S=@LN_S@
+
+# Variables for the user (or the top level) to override.
+objext=.o
+GNATLIBFLAGS= -W -Wall -gnatpg
+THREAD_KIND=native
+TRACE=no
+LDFLAGS=
+
+# The tedious process of getting CFLAGS right.
+CFLAGS=-g
+LOOSE_WARN = -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
+GCC_WARN_CFLAGS = $(LOOSE_WARN) $(NOCOMMON_FLAG)
+
+ADA_CFLAGS=
+T_ADA_CFLAGS=
+# HPPA is literally the only target which sets X_ADA_CFLAGS
+X_ADA_CFLAGS=@x_ada_cflags@
+ALL_ADA_CFLAGS=$(X_ADA_CFLAGS) $(T_ADA_CFLAGS) $(ADA_CFLAGS)
+
+# For finding the GCC build dir, which is used far too much
+host_subdir = @host_subdir@
+GCC_DIR=../../$(host_subdir)/gcc
+# Include fragment generated by GCC configure.
+include $(GCC_DIR)/libada-mk
+
+TARGET_LIBGCC2_CFLAGS=
+GNATLIBCFLAGS= -g -O2
+# Get target-specific overrides for TARGET_LIBGCC2_CFLAGS
+# and possibly GNATLIBCFLAGS.  Currently this uses files
+# in gcc/config.  The 'subst' call is used to rerelativize them
+# from their gcc locations.  This is hackery, but there isn't
+# yet a better way to do this.
+tmake_file=$(subst /config,/../gcc/config,$(gcc_tmake_file))
+ifneq ($(tmake_file),)
+include $(tmake_file)
 endif
 
-# Rules to build gnatlib.
-gnatlib:
-       $(MAKE) -C ../../gcc $(FLAGS_TO_PASS) $(GNATLIB)
+FLAGS_TO_PASS = \
+        "MAKEOVERRIDES=" \
+        "LDFLAGS=$(LDFLAGS)" \
+        "LN_S=$(LN_S)" \
+        "SHELL=$(SHELL)" \
+        "exeext=$(exeext)" \
+        "objext=$(objext)" \
+        "prefix=$(prefix)" \
+       "CC=$(host_cc_for_libada)" \
+       "GCC_FOR_TARGET=$(CC)" \
+        "CFLAGS=$(CFLAGS) $(WARN_CFLAGS)"
 
-# Rules to build gnattools.
-gnattools: gnatlib
-       $(MAKE) -C ../../gcc $(FLAGS_TO_PASS) $(GNATTOOLS)
+# Rules to build gnatlib.
+.PHONY: gnatlib gnatlib-plain gnatlib-sjlj gnatlib-zcx gnatlib-shared
+gnatlib: @default_gnatlib_target@
+
+gnatlib-plain: $(GCC_DIR)/ada/Makefile
+       test -f stamp-libada || \
+       $(MAKE) -C $(GCC_DIR)/ada $(FLAGS_TO_PASS) \
+         GNATLIBFLAGS="$(GNATLIBFLAGS)" \
+         GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \
+         TARGET_LIBGCC2_CFLAGS="$(TARGET_LIBGCC2_CFLAGS)" \
+         THREAD_KIND="$(THREAD_KIND)" \
+         TRACE="$(TRACE)" \
+         gnatlib \
+       && touch stamp-libada
+
+gnatlib-sjlj gnatlib-zcx gnatlib-shared: $(GCC_DIR)/ada/Makefile
+       test -f stamp-libada || \
+       $(MAKE) -C $(GCC_DIR)/ada $(FLAGS_TO_PASS) \
+         GNATLIBFLAGS="$(GNATLIBFLAGS)" \
+         GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \
+         TARGET_LIBGCC2_CFLAGS="$(TARGET_LIBGCC2_CFLAGS)" \
+         THREAD_KIND="$(THREAD_KIND)" \
+         TRACE="$(TRACE)" \
+         $@ \
+       && touch stamp-libada
 
 # Check uninstalled version.
 check:
@@ -62,6 +115,12 @@ info:
 # Build DVI (none here).
 dvi:
 
+# Build PDF (none here).
+pdf:
+
+# Build html (none here).
+html:
+
 # Build TAGS (none here).
 TAGS:
 
@@ -70,6 +129,10 @@ install:
 
 install-info:
 
+install-pdf:
+
+install-html:
+
 # Cleaning rules.
 mostlyclean:
 
@@ -89,5 +152,9 @@ Makefile: $(srcdir)/Makefile.in config.status
 config.status: $(srcdir)/configure
        $(SHELL) ./config.status --recheck
 
-$(srcdir)/configure: @MAINT@ $(srcdir)/configure.in
+$(srcdir)/configure: @MAINT@ $(srcdir)/configure.ac
        cd $(srcdir) && autoconf
+
+# Don't export variables to the environment, in order to not confuse
+# configure.
+.NOEXPORT: