# Makefile for libada. # Copyright 2003, 2004, 2009 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 3 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; see the file COPYING3. If not see # . # Default target; must be first. all: gnatlib $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do # $(MAKE) .PHONY: all install ## Multilib support variables. MULTISRCTOP = MULTIBUILDTOP = MULTIDIRS = MULTISUBDIR = MULTIDO = true MULTICLEAN = true # Standard autoconf-set variables. SHELL = @SHELL@ srcdir = @srcdir@ libdir = @libdir@ build = @build@ target = @target@ prefix = @prefix@ # Nonstandard autoconf-set variables. enable_shared = @enable_shared@ LN_S=@LN_S@ AWK=@AWK@ # 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) WARN_CFLAGS = @warn_cflags@ TARGET_LIBGCC2_CFLAGS= GNATLIBCFLAGS= -g -O2 GNATLIBCFLAGS_FOR_C = $(GNATLIBCFLAGS) $(TARGET_LIBGCC2_CFLAGS) -fexceptions \ -DIN_RTS @have_getipinfo@ # Get target-specific overrides for TARGET_LIBGCC2_CFLAGS. host_subdir = @host_subdir@ GCC_DIR=$(MULTIBUILDTOP)../../$(host_subdir)/gcc include $(GCC_DIR)/libgcc.mvars target_noncanonical:=@target_noncanonical@ version := $(shell cat $(srcdir)/../gcc/BASE-VER) libsubdir := $(libdir)/gcc/$(target_noncanonical)/$(version)$(MULTISUBDIR) ADA_RTS_DIR=$(GCC_DIR)/ada/rts$(subst /,_,$(MULTISUBDIR)) # exeext should not be used because it's the *host* exeext. We're building # a *target* library, aren't we?!? Likewise for CC. Still, provide bogus # definitions just in case something slips through the safety net provided # by recursive make invocations in gcc/ada/Makefile.in LIBADA_FLAGS_TO_PASS = \ "MAKEOVERRIDES=" \ "LDFLAGS=$(LDFLAGS)" \ "LN_S=$(LN_S)" \ "SHELL=$(SHELL)" \ "GNATLIBFLAGS=$(GNATLIBFLAGS) $(MULTIFLAGS)" \ "GNATLIBCFLAGS=$(GNATLIBCFLAGS) $(MULTIFLAGS)" \ "GNATLIBCFLAGS_FOR_C=$(GNATLIBCFLAGS_FOR_C) $(MULTIFLAGS)" \ "TARGET_LIBGCC2_CFLAGS=$(TARGET_LIBGCC2_CFLAGS)" \ "THREAD_KIND=$(THREAD_KIND)" \ "TRACE=$(TRACE)" \ "MULTISUBDIR=$(MULTISUBDIR)" \ "libsubdir=$(libsubdir)" \ "objext=$(objext)" \ "prefix=$(prefix)" \ "exeext=.exeext.should.not.be.used " \ 'CC=the.host.compiler.should.not.be.needed' \ "GCC_FOR_TARGET=$(CC)" \ "CFLAGS=$(CFLAGS) $(WARN_CFLAGS)" # Rules to build gnatlib. .PHONY: gnatlib gnatlib-plain gnatlib-sjlj gnatlib-zcx gnatlib-shared oscons gnatlib: @default_gnatlib_target@ gnatlib-plain: oscons $(GCC_DIR)/ada/Makefile test -f stamp-libada || \ $(MAKE) -C $(GCC_DIR)/ada $(LIBADA_FLAGS_TO_PASS) gnatlib \ && touch stamp-libada -rm -rf adainclude -rm -rf adalib $(LN_S) $(ADA_RTS_DIR) adainclude $(LN_S) $(ADA_RTS_DIR) adalib gnatlib-sjlj gnatlib-zcx gnatlib-shared: oscons $(GCC_DIR)/ada/Makefile test -f stamp-libada || \ $(MAKE) -C $(GCC_DIR)/ada $(LIBADA_FLAGS_TO_PASS) $@ \ && touch stamp-libada -rm -rf adainclude -rm -rf adalib $(LN_S) $(ADA_RTS_DIR) adainclude $(LN_S) $(ADA_RTS_DIR) adalib oscons: $(MAKE) -C $(GCC_DIR) $(LIBADA_FLAGS_TO_PASS) ada/s-oscons.ads install-gnatlib: $(GCC_DIR)/ada/Makefile $(MAKE) -C $(GCC_DIR)/ada $(LIBADA_FLAGS_TO_PASS) install-gnatlib # 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-gnatlib $(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do # $(MAKE) install-info: install-pdf: install-html: # Cleaning rules. mostlyclean: $(MULTICLEAN) $(AM_MAKEFLAGS) DO=mostlyclean multi-clean # $(MAKE) clean: $(MULTICLEAN) $(AM_MAKEFLAGS) DO=clean multi-clean # $(MAKE) distclean: $(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean # $(MAKE) $(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 AUTOCONF = autoconf configure_deps = \ $(srcdir)/configure.ac \ $(srcdir)/../config/acx.m4 \ $(srcdir)/../config/override.m4 \ $(srcdir)/../config/multi.m4 $(srcdir)/configure: @MAINT@ $(configure_deps) cd $(srcdir) && $(AUTOCONF) # Don't export variables to the environment, in order to not confuse # configure. .NOEXPORT: