blob: 07407a4fd2a59cb47029270e43c94e7db47c60fb [file] [log] [blame]
# Makefile for libada.
# 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: gnatlib
# Standard autoconf-set variables.
SHELL = @SHELL@
srcdir = @srcdir@
build = @build@
target = @target@
prefix = @prefix@
# Nonstandard autoconf-set variables.
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=
STAGE_PREFIX=
# 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
FLAGS_TO_PASS = \
"MAKEOVERRIDES=" \
"LDFLAGS=$(LDFLAGS)" \
"LN_S=$(LN_S)" \
"SHELL=$(SHELL)" \
"exeext=$(exeext)" \
"objext=$(objext)" \
"prefix=$(prefix)" \
"STAGE_PREFIX=$(STAGE_PREFIX)" \
"CC=$(host_cc_for_libada)" \
"GCC_FOR_TARGET=$(CC)" \
"CFLAGS=$(CFLAGS) $(WARN_CFLAGS)"
# 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:
# Check installed version.
installcheck:
# Build info (none here).
info:
# Build DVI (none here).
dvi:
# Build PDF (none here).
pdf:
# Build html (none here).
html:
# Build TAGS (none here).
TAGS:
# Installation rules.
install:
install-info:
install-html:
# 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: