diff options
author | Nathanael Nerode <neroden@gcc.gnu.org> | 2005-02-26 21:43:33 +0000 |
---|---|---|
committer | Nathanael Nerode <neroden@gcc.gnu.org> | 2005-02-26 21:43:33 +0000 |
commit | 5395b47b3c40aa64fc6f388af69aa2c9e0cb9f0b (patch) | |
tree | 62537c5eb4d4208bf3f32d5dd993598742b427db /gnattools/Makefile.in | |
parent | b239be8150bb28bcbbf0bd20a6e2578308d1e3e9 (diff) | |
download | gcc-5395b47b3c40aa64fc6f388af69aa2c9e0cb9f0b.zip gcc-5395b47b3c40aa64fc6f388af69aa2c9e0cb9f0b.tar.gz gcc-5395b47b3c40aa64fc6f388af69aa2c9e0cb9f0b.tar.bz2 |
(top level)
Merged from libada-gnattools-branch:
2004-11-28 Nathanael Nerode <neroden@gcc.gnu.org>
* gnattools: New directory.
* Makefile.def: Add gnattools as a module, depending on target-libada.
* Makefile.in: Regenerate.
* configure.in: Include gnattools in host_tools; disable it if ada
is disabled.
* configure: Regenerate.
(gcc)
* configure.ac: Rename cc_for_cross_gnattools to host_cc_for_libada.
* configure: Regenerate.
* libada-mk.in: Remove CC; rename
cc_for_cross_gnattools / cc_set_by_configure to host_cc_for_libada.
(gcc/ada)
Partial merge from libada-gnattools-branch:
2004-12-02 Nathanael Nerode <neroden@gcc.gnu.org>
* Makefile.in: Move gnattools{1,1re,2,3,4} and corresponding flags
into code in gnattools/Makefile.in. Remove direct dependencies on
stamp-tools by tools clauses.
2004-12-02 Nathanael Nerode <neroden@gcc.gnu.org>
* config-lang.in: Add gnattools to $lang_dirs.
(libada)
2004-12-03 Nathanael Nerode <neroden@gcc.gnu.org>
* Makefile.in: Add stamp file for building libada, to avoid
duplicate builds every time all-gnattools is called.
2004-12-02 Nathanael Nerode <neroden@gcc.gnu.org>
* Makefile.in: Build gcc/ada/Makefile (by running gcc/ada/configure)
here.
2004-08-16 Nathanael Nerode <neroden@gcc.gnu.org>
* configure.ac: Replace AC_CANONICAL_SYSTEM with _BUILD, _HOST,
_TARGET.
* configure: Regenerate.
2004-07-18 Nathanael Nerode <neroden@gcc.gnu.org>
* configure.ac, Makefile.in: Remove gnattools-specific code
(see gnattools directory).
* Makefile.in: Remove dead rts-* targets.
* configure: Regenerate.
(gnattools)
2005-02-02 Nathanael Nerode <neroden@gcc.gnu.org>
* Makefile.in: Remove use of cc_set_by_configure; just use
plain old CC from the top level in this case.
2005-01-30 Nathanael Nerode <neroden@gcc.gnu.org>
Merge from mainline at tag libada-gnattools-merge-20050129:
* configure.ac: Changes propagated from gcc/ada/Makefile.in.
* Makefile.in: Changes relocated from gcc/ada/Makefile.in.
2004-12-13 Nathanael Nerode <neroden@gcc.gnu.org>
* Makefile.in: Reinstate stamp-gnatlib check.
2004-12-02 Nathanael Nerode <neroden@gcc.gnu.org>
* Makefile.in: Inline gnattools{1,1-re,2,3,4} targets from
gcc/ada/configure.ac into gnattools-native and gnattools-cross
targets, collecting flags as appropriate from here,
gcc/ada/Makefile.in, gcc/ada/configure.ac, etc. Attempt to retain
identical behavior.
* configure.ac: Add necessary configure bits from
gcc/ada/configure.ac.
* configure: Regenerate.
2004-08-16 Nathanael Nerode <neroden@gcc.gnu.org>
* configure.ac: Replace AC_CANONICAL_SYSTEM with _BUILD, _HOST,
_TARGET. Replace _GCC_TOPLEV_NONCANONICAL_TARGET with
ACX_NONCANONICAL_TARGET, and replace now-redundant AC_SUBST.
* configure: Regenerate.
2004-07-18 Nathanael Nerode <neroden@gcc.gnu.org>
* Makefile.in, configure.ac: Remove libada-specific targets and
variables.
* configure: Regenerate.
* New directory, cloned from libada.
From-SVN: r95594
Diffstat (limited to 'gnattools/Makefile.in')
-rw-r--r-- | gnattools/Makefile.in | 338 |
1 files changed, 338 insertions, 0 deletions
diff --git a/gnattools/Makefile.in b/gnattools/Makefile.in new file mode 100644 index 0000000..44208f6 --- /dev/null +++ b/gnattools/Makefile.in @@ -0,0 +1,338 @@ +# Makefile for gnattools +# Copyright 2003, 2004 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 +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +# Default target; must be first. +all: gnattools + +# Standard autoconf-set variables. +SHELL = @SHELL@ +srcdir = @srcdir@ +build = @build@ +target = @target@ +prefix = @prefix@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ + +# Nonstandard autoconf-set variables. +LN_S=@LN_S@ +target_noncanonical=@target_noncanonical@ + +# Variables for the user (or the top level) to override. +objext=.o +TRACE=no +ADA_FOR_BUILD= +ADA_FOR_TARGET= +LDFLAGS= +STAGE_PREFIX= +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) $(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) + +# Variables for gnattools. +ADAFLAGS= -gnatpg -gnata +ADA_INCLUDE_DIR = $(libsubdir)/adainclude +ADA_RTL_OBJ_DIR = $(libsubdir)/adalib + +# For finding the GCC build dir, which is used far too much +GCC_DIR=../gcc +# Include fragment generated by GCC configure; shared with libada for now. +include $(GCC_DIR)/libada-mk +# Variables based on those gleaned from the GCC makefile. :-P +libsubdir=$(libdir)/gcc/$(target_noncanonical)/$(gcc_version) + +# Get possible host-specific override for libsubdir (ick). +xmake_file=$(subst /config,/../gcc/config,$(gcc_xmake_file)) +ifneq ($(xmake_file),) +include $(xmake_file) +endif + +# Absolute srcdir for gcc/ada (why do we want absolute? I dunno) +fsrcdir := $(shell cd $(srcdir)/../gcc/ada/; ${PWD_COMMAND}) + +# Useful "subroutines" for the excess includes +INCLUDES_FOR_SUBDIR = -I. -I.. -I../.. -I$(fsrcdir) -I$(fsrcdir)/../config \ + -I$(fsrcdir)/../../include -I$(fsrcdir)/.. +ADA_INCLUDES_FOR_SUBDIR = -I. -I$(fsrcdir) + +# Variables for gnattools1, native +TOOLS_FLAGS_TO_PASS_1= \ + "CC=../../xgcc -B../../" \ + "CFLAGS=$(CFLAGS) $(WARN_CFLAGS)" \ + "LDFLAGS=$(LDFLAGS)" \ + "ADAFLAGS=$(ADAFLAGS)" \ + "INCLUDES=$(INCLUDES_FOR_SUBDIR)" \ + "ADA_INCLUDES=-I- -I../rts $(ADA_INCLUDES_FOR_SUBDIR)"\ + "exeext=$(exeext)" \ + "fsrcdir=$(fsrcdir)" \ + "srcdir=$(fsrcdir)" \ + "GNATBIND=../../gnatbind" \ + "TOOLSCASE=native" + +# Variables for regnattools +TOOLS_FLAGS_TO_PASS_1re= \ + "CC=../../xgcc -B../../" \ + "CFLAGS=$(CFLAGS)" \ + "ADAFLAGS=$(ADAFLAGS)" \ + "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=cross" \ + "INCLUDES=" + +# Variables for gnattools2, native +TOOLS_FLAGS_TO_PASS_NATIVE= \ + "CC=../../xgcc -B../../" \ + "CFLAGS=$(CFLAGS)" \ + "ADAFLAGS=$(ADAFLAGS)" \ + "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" + +# Variables for gnattools, cross +TOOLS_FLAGS_TO_PASS_CROSS= \ + "CC=$(CC)" \ + "CFLAGS=$(CFLAGS) $(WARN_CFLAGS)" \ + "LDFLAGS=$(LDFLAGS)" \ + "ADAFLAGS=$(ADAFLAGS)" \ + "INCLUDES=$(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" \ + "TOOLSCASE=cross" \ + "LIBGNAT=" + +# File lists +# ---------- + +# File associations set by configure +EXTRA_GNATTOOLS = @EXTRA_GNATTOOLS@ +TOOLS_TARGET_PAIRS = @TOOLS_TARGET_PAIRS@ + +# These are built by gnatmake, and in both native and cross configurations. +GNATTOOLS2_FILES = \ + ../../gnatchop$(exeext) \ + ../../gnat$(exeext) \ + ../../gnatkr$(exeext) \ + ../../gnatls$(exeext) \ + ../../gnatprep$(exeext) \ + ../../gnatxref$(exeext) \ + ../../gnatfind$(exeext) \ + ../../gnatname$(exeext) \ + ../../gnatclean$(exeext) \ + ../../gprmake$(exeext) + +# Makefile targets +# ---------------- + +.PHONY: gnattools gnattools-native gnattools-cross regnattools +gnattools: @default_gnattools_target@ + +# Sanity check +$(GCC_DIR)/stamp-gnatlib: + @if [ ! -f $(GCC_DIR)/stamp-gnatlib ] ; \ + then \ + echo Can't build gnattools while gnatlib is out of date or unbuilt ; \ + false; \ + else \ + true; \ + fi + + +# Build directory for the tools. Let's copy the target-dependent +# sources using the same mechanism as for gnatlib. The other sources are +# accessed using the vpath directive in ada/Makefile.in + +$(GCC_DIR)/stamp-tools: + -rm -rf $(GCC_DIR)/ada/tools + -mkdir -p $(GCC_DIR)/ada/tools + -(cd $(GCC_DIR)/ada/tools; $(LN_S) ../sdefault.adb .) + -$(foreach PAIR,$(TOOLS_TARGET_PAIRS), \ + rm -f $(GCC_DIR)/ada/tools/$(word 1,$(subst <, ,$(PAIR)));\ + $(LN_S) $(fsrcdir)/$(word 2,$(subst <, ,$(PAIR))) \ + $(GCC_DIR)/ada/tools/$(word 1,$(subst <, ,$(PAIR)));) + touch $(GCC_DIR)/stamp-tools + +# gnatmake/link tools cannot always be built with gnatmake/link for bootstrap +# reasons: gnatmake should be built with a recent compiler, a recent compiler +# may not generate ALI files compatible with an old gnatmake so it is important +# to be able to build gnatmake without a version of gnatmake around. Once +# everything has been compiled once, gnatmake can be recompiled with itself +# (see target regnattools) +gnattools-native: $(GCC_DIR)/stamp-tools $(GCC_DIR)/stamp-gnatlib + # gnattools1 + $(MAKE) -C $(GCC_DIR)/ada/tools -f ../Makefile \ + $(TOOLS_FLAGS_TO_PASS_1) \ + ../../gnatmake$(exeext) ../../gnatlink$(exeext) ../../gnatbl$(exeext) + # gnattools2 + $(MAKE) -C $(GCC_DIR)/ada/tools -f ../Makefile \ + $(TOOLS_FLAGS_TO_PASS_NATIVE) \ + $(GNATTOOLS2_FILES) + +# gnatmake/link can be built with recent gnatmake/link if they are available. +# This is especially convenient for building cross tools or for rebuilding +# the tools when the original bootstrap has already be done. +regnattools: $(GCC_DIR)/stamp-gnatlib + # gnattools1-re + $(MAKE) -C $(GCC_DIR)/ada/tools -f ../Makefile \ + $(TOOLS_FLAGS_TO_PASS_1re) \ + gnatmake-re gnatlink-re + # gnattools2 + $(MAKE) -C $(GCC_DIR)/ada/tools -f ../Makefile \ + $(TOOLS_FLAGS_TO_PASS_NATIVE) \ + $(GNATTOOLS2_FILES) + +# 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 $(GCC_DIR)/stamp-gnatlib + # gnattools1-re + $(MAKE) -C $(GCC_DIR)/ada/tools -f ../Makefile \ + $(TOOLS_FLAGS_TO_PASS_CROSS) INCLUDES="" \ + gnatmake-re gnatlink-re + # gnattools2 + $(MAKE) -C $(GCC_DIR)/ada/tools -f ../Makefile \ + $(TOOLS_FLAGS_TO_PASS_CROSS) \ + $(GNATTOOLS2_FILES) + # gnattools4 (cross only) + $(MAKE) -C $(GCC_DIR)/ada/tools -f ../Makefile \ + $(TOOLS_FLAGS_TO_PASS_CROSS) \ + top_buildir=../../.. \ + ../../vxaddr2line$(exeext) + # 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)/gnatbl$(exeext) ] ; then \ + mv $(GCC_DIR)/gnatbl$(exeext) $(GCC_DIR)/gnatbl-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 +# ----- + +# Check uninstalled version. +check: + +# Check installed version. +installcheck: + +# Build info (none here). +info: + +# Build DVI (none here). +dvi: + +# Build TAGS (none here). +TAGS: + +# Installation rules. +install: + +install-info: + +# Cleaning rules. +mostlyclean: + +clean: + +distclean: + $(RM) Makefile config.status config.log + +maintainer-clean: + +# Rules for rebuilding this Makefile. +Makefile: $(srcdir)/Makefile.in config.status + CONFIG_FILES=$@ ; \ + CONFIG_HEADERS= ; \ + $(SHELL) ./config.status + +config.status: $(srcdir)/configure + $(SHELL) ./config.status --recheck + +$(srcdir)/configure: @MAINT@ $(srcdir)/configure.ac + cd $(srcdir) && autoconf + +# Don't export variables to the environment, in order to not confuse +# configure. +.NOEXPORT: + |