[Ada] Consistently use explicit Entity_Id type instead of alias
[gcc.git] / gnattools / Makefile.in
index 931989678576241f1029d7687226cc71145b2667..b0860eaf96d9288893ccdec2bb7d9044ade32fd7 100644 (file)
@@ -1,5 +1,5 @@
 # Makefile for gnattools
-#   Copyright 2003, 2004, 2009 Free Software Foundation, Inc.
+#   Copyright 2003, 2004, 2009, 2010 Free Software Foundation, Inc.
 #
 # This file is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -24,6 +24,7 @@ srcdir = @srcdir@
 libdir = @libdir@
 build = @build@
 target = @target@
+host = @host@
 prefix = @prefix@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
@@ -32,6 +33,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
 # Nonstandard autoconf-set variables.
 LN_S=@LN_S@
 target_noncanonical=@target_noncanonical@
+host_noncanonical=@host_noncanonical@
 
 # Variables for the user (or the top level) to override.
 exeext = @EXEEXT@
@@ -44,8 +46,7 @@ PWD_COMMAND = $${PWDCMD-pwd}
 
 # The tedious process of getting CFLAGS right.
 CFLAGS=-g
-LOOSE_WARN = -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-GCC_WARN_CFLAGS = $(LOOSE_WARN)
+GCC_WARN_CFLAGS = -W -Wall
 WARN_CFLAGS = @warn_cflags@
 
 ADA_CFLAGS=@ADA_CFLAGS@
@@ -56,17 +57,28 @@ ADAFLAGS= -gnatpg -gnata
 # For finding the GCC build dir, which is used far too much
 GCC_DIR=../gcc
 
+# Full path to top source directory
+ftop_srcdir := $(shell cd $(srcdir)/..;${PWD_COMMAND})
+
 # Absolute srcdir for gcc (why do we want absolute?  I dunno)
 fsrcdir := $(shell cd $(srcdir)/../gcc/; ${PWD_COMMAND})
 
 # Useful "subroutines" for the excess includes
-INCLUDES_FOR_SUBDIR = -I. -I.. -I../.. -I$(fsrcdir)/ada -I$(fsrcdir)/config \
-       -I$(fsrcdir)/../include -I$(fsrcdir)
+INCLUDES_FOR_SUBDIR = -iquote . -iquote .. -iquote ../.. \
+                     -iquote $(fsrcdir)/ada -iquote $(fsrcdir)/config \
+                     -iquote $(fsrcdir) -I$(ftop_srcdir)/include
 ADA_INCLUDES_FOR_SUBDIR = -I. -I$(fsrcdir)/ada
 
-# Variables for gnattools1, native
-TOOLS_FLAGS_TO_PASS_1= \
+CXX_LFLAGS = \
+ -B../../../$(target_noncanonical)/libstdc++-v3/src/.libs \
+ -B../../../$(target_noncanonical)/libstdc++-v3/libsupc++/.libs \
+ -L../../../$(target_noncanonical)/libstdc++-v3/src/.libs \
+ -L../../../$(target_noncanonical)/libstdc++-v3/libsupc++/.libs
+
+# Variables for gnattools, native
+TOOLS_FLAGS_TO_PASS_NATIVE= \
        "CC=../../xgcc -B../../" \
+       "CXX=../../xg++ -B../../ $(CXX_LFLAGS)" \
        "CFLAGS=$(CFLAGS) $(WARN_CFLAGS)" \
        "LDFLAGS=$(LDFLAGS)" \
        "ADAFLAGS=$(ADAFLAGS)" \
@@ -76,13 +88,17 @@ TOOLS_FLAGS_TO_PASS_1= \
        "exeext=$(exeext)" \
        "fsrcdir=$(fsrcdir)" \
        "srcdir=$(fsrcdir)" \
+       "GNATMAKE=../../gnatmake" \
+       "GNATLINK=../../gnatlink" \
        "GNATBIND=../../gnatbind" \
        "TOOLSCASE=native"
 
 # Variables for regnattools
-TOOLS_FLAGS_TO_PASS_1re= \
+TOOLS_FLAGS_TO_PASS_RE= \
        "CC=../../xgcc -B../../" \
+       "CXX=../../xg++ -B../../ $(CXX_LFLAGS)" \
        "CFLAGS=$(CFLAGS)" \
+       "LDFLAGS=$(LDFLAGS)" \
        "ADAFLAGS=$(ADAFLAGS)" \
        "ADA_CFLAGS=$(ADA_CFLAGS)" \
        "INCLUDES=$(INCLUDES_FOR_SUBDIR)" \
@@ -93,40 +109,40 @@ TOOLS_FLAGS_TO_PASS_1re= \
        "GNATMAKE=../../gnatmake" \
        "GNATLINK=../../gnatlink" \
        "GNATBIND=../../gnatbind" \
-       "TOOLSCASE=cross" \
-       "INCLUDES="
-
-# Variables for gnattools2, native
-TOOLS_FLAGS_TO_PASS_NATIVE= \
-       "CC=../../xgcc -B../../" \
-       "CFLAGS=$(CFLAGS)" \
-       "ADAFLAGS=$(ADAFLAGS)" \
-       "ADA_CFLAGS=$(ADA_CFLAGS)" \
-       "INCLUDES=$(INCLUDES_FOR_SUBDIR)" \
-       "ADA_INCLUDES=-I../rts $(ADA_INCLUDES_FOR_SUBDIR)" \
-       "exeext=$(exeext)" \
-       "fsrcdir=$(fsrcdir)" \
-       "srcdir=$(fsrcdir)" \
-       "GNATMAKE=../../gnatmake" \
-       "GNATLINK=../../gnatlink" \
-       "GNATBIND=../../gnatbind" \
-       "TOOLSCASE=native"
+       "TOOLSCASE=cross"
 
 # Variables for gnattools, cross
+ifeq ($(build), $(host))
+  GNATMAKE_FOR_HOST=gnatmake
+  GNATLINK_FOR_HOST=gnatlink
+  GNATBIND_FOR_HOST=gnatbind
+  GNATLS_FOR_HOST=gnatls
+else
+  GNATMAKE_FOR_HOST=$(host_noncanonical)-gnatmake
+  GNATLINK_FOR_HOST=$(host_noncanonical)-gnatlink
+  GNATBIND_FOR_HOST=$(host_noncanonical)-gnatbind
+  GNATLS_FOR_HOST=$(host_noncanonical)-gnatls
+endif
+
+# Put the host RTS dir first in the PATH to hide the default runtime
+# files that are among the sources
+RTS_DIR:=$(strip $(subst \,/,$(shell $(GNATLS_FOR_HOST) -v | grep adalib )))
+
 TOOLS_FLAGS_TO_PASS_CROSS= \
        "CC=$(CC)" \
+       "CXX=$(CXX)" \
        "CFLAGS=$(CFLAGS) $(WARN_CFLAGS)" \
        "LDFLAGS=$(LDFLAGS)" \
        "ADAFLAGS=$(ADAFLAGS)"  \
        "ADA_CFLAGS=$(ADA_CFLAGS)" \
        "INCLUDES=$(INCLUDES_FOR_SUBDIR)" \
-       "ADA_INCLUDES=-I$(RTS_DIR)../adainclude -I$(RTS_DIR) $(ADA_INCLUDES_FOR_SUBDIR)" \
+       "ADA_INCLUDES=-I$(RTS_DIR)/../adainclude -I$(RTS_DIR) $(ADA_INCLUDES_FOR_SUBDIR)" \
        "exeext=$(exeext)" \
        "fsrcdir=$(fsrcdir)" \
        "srcdir=$(fsrcdir)" \
-       "GNATMAKE=gnatmake" \
-       "GNATLINK=gnatlink" \
-       "GNATBIND=gnatbind" \
+       "GNATMAKE=$(GNATMAKE_FOR_HOST)" \
+       "GNATLINK=$(GNATLINK_FOR_HOST)" \
+       "GNATBIND=$(GNATBIND_FOR_HOST)" \
        "TOOLSCASE=cross" \
        "LIBGNAT="
 
@@ -177,7 +193,7 @@ $(GCC_DIR)/stamp-tools:
 gnattools-native: $(GCC_DIR)/stamp-tools $(GCC_DIR)/stamp-gnatlib-rts
        # gnattools1
        $(MAKE) -C $(GCC_DIR)/ada/tools -f ../Makefile \
-         $(TOOLS_FLAGS_TO_PASS_1) \
+         $(TOOLS_FLAGS_TO_PASS_NATIVE) \
          ../../gnatmake$(exeext) ../../gnatlink$(exeext)
        # gnattools2
        $(MAKE) -C $(GCC_DIR)/ada/tools -f ../Makefile \
@@ -189,17 +205,12 @@ gnattools-native: $(GCC_DIR)/stamp-tools $(GCC_DIR)/stamp-gnatlib-rts
 regnattools: $(GCC_DIR)/stamp-gnatlib-rts
        # gnattools1-re
        $(MAKE) -C $(GCC_DIR)/ada/tools -f ../Makefile \
-         $(TOOLS_FLAGS_TO_PASS_1re) \
+         $(TOOLS_FLAGS_TO_PASS_RE) INCLUDES="" \
          gnatmake-re gnatlink-re
        # gnattools2
        $(MAKE) -C $(GCC_DIR)/ada/tools -f ../Makefile \
          $(TOOLS_FLAGS_TO_PASS_NATIVE) common-tools
 
-# For cross builds of gnattools,
-# put the host RTS dir first in the PATH to hide the default runtime
-# files that are among the sources
-# FIXME: This should be done in configure.
-RTS_DIR:=$(strip $(subst \,/,$(shell gnatls -v | grep adalib )))
 gnattools-cross: $(GCC_DIR)/stamp-tools
        # gnattools1-re
        $(MAKE) -C $(GCC_DIR)/ada/tools -f ../Makefile \
@@ -208,50 +219,6 @@ gnattools-cross: $(GCC_DIR)/stamp-tools
        # gnattools2
        $(MAKE) -C $(GCC_DIR)/ada/tools -f ../Makefile \
          $(TOOLS_FLAGS_TO_PASS_CROSS) common-tools
-       # Rename cross tools to where the GCC makefile wants them when
-       # installing.  FIXME: installation should be done elsewhere.
-       if [ -f $(GCC_DIR)/gnatbind$(exeext) ] ; then \
-         mv $(GCC_DIR)/gnatbind$(exeext) $(GCC_DIR)/gnatbind-cross$(exeext); \
-       fi
-       if [ -f $(GCC_DIR)/gnatchop$(exeext) ] ; then \
-         mv $(GCC_DIR)/gnatchop$(exeext) $(GCC_DIR)/gnatchop-cross$(exeext); \
-       fi
-       if [ -f $(GCC_DIR)/gnat$(exeext) ] ; then \
-         mv $(GCC_DIR)/gnat$(exeext) $(GCC_DIR)/gnat-cross$(exeext); \
-       fi
-       if [ -f $(GCC_DIR)/gnatkr$(exeext) ] ; then \
-         mv $(GCC_DIR)/gnatkr$(exeext) $(GCC_DIR)/gnatkr-cross$(exeext); \
-       fi
-       if [ -f $(GCC_DIR)/gnatlink$(exeext) ] ; then \
-         mv $(GCC_DIR)/gnatlink$(exeext) $(GCC_DIR)/gnatlink-cross$(exeext); \
-       fi
-       if [ -f $(GCC_DIR)/gnatls$(exeext) ] ; then \
-         mv $(GCC_DIR)/gnatls$(exeext) $(GCC_DIR)/gnatls-cross$(exeext); \
-       fi
-       if [ -f $(GCC_DIR)/gnatmake$(exeext) ] ; then \
-         mv $(GCC_DIR)/gnatmake$(exeext) $(GCC_DIR)/gnatmake-cross$(exeext); \
-       fi
-       if [ -f $(GCC_DIR)/gnatmem$(exeext) ] ; then \
-         mv $(GCC_DIR)/gnatmem$(exeext) $(GCC_DIR)/gnatmem-cross$(exeext); \
-       fi
-       if [ -f $(GCC_DIR)/gnatname$(exeext) ] ; then \
-         mv $(GCC_DIR)/gnatname$(exeext) $(GCC_DIR)/gnatname-cross$(exeext); \
-       fi
-       if [ -f $(GCC_DIR)/gnatprep$(exeext) ] ; then \
-         mv $(GCC_DIR)/gnatprep$(exeext) $(GCC_DIR)/gnatprep-cross$(exeext); \
-       fi
-       if [ -f $(GCC_DIR)/gnatxref$(exeext) ] ; then \
-         mv $(GCC_DIR)/gnatxref$(exeext) $(GCC_DIR)/gnatxref-cross$(exeext); \
-       fi
-       if [ -f $(GCC_DIR)/gnatfind$(exeext) ] ; then \
-         mv $(GCC_DIR)/gnatfind$(exeext) $(GCC_DIR)/gnatfind-cross$(exeext); \
-       fi
-       if [ -f $(GCC_DIR)/gnatclean$(exeext) ] ; then \
-         mv $(GCC_DIR)/gnatclean$(exeext) $(GCC_DIR)/gnatclean-cross$(exeext); \
-       fi
-       if [ -f $(GCC_DIR)/gnatsym$(exeext) ] ; then \
-         mv $(GCC_DIR)/gnatsym$(exeext) $(GCC_DIR)/gnatsym-cross$(exeext); \
-       fi
 
 # Other
 # -----
@@ -274,28 +241,36 @@ pdf:
 # Build HTML (none here).
 html:
 
+.PHONY: check installcheck info dvi pdf html
+
 # Build TAGS (none here).
 TAGS:
 
 # Installation rules.
 install:
 
+install-strip: install
+
 install-info:
 
 install-pdf:
 
 install-html:
 
+.PHONY: install install-strip install-info install-pdf install-html
+
 # Cleaning rules.
 mostlyclean:
 
 clean:
 
 distclean:
-       $(RM) Makefile config.status config.log
+       $(RM) Makefile config.status config.log config.cache
 
 maintainer-clean:
 
+.PHONY: mostlyclean clean distclean maintainer-clean
+
 # Rules for rebuilding this Makefile.
 Makefile: $(srcdir)/Makefile.in config.status
        CONFIG_FILES=$@ ; \