summaryrefslogtreecommitdiff
path: root/Makeconfig
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1995-02-18 01:27:10 +0000
committerRoland McGrath <roland@gnu.org>1995-02-18 01:27:10 +0000
commit28f540f45bbacd939bfd07f213bcad2bf730b1bf (patch)
tree15f07c4c43d635959c6afee96bde71fb1b3614ee /Makeconfig
initial import
Diffstat (limited to 'Makeconfig')
-rw-r--r--Makeconfig358
1 files changed, 358 insertions, 0 deletions
diff --git a/Makeconfig b/Makeconfig
new file mode 100644
index 0000000000..434f8b2d19
--- /dev/null
+++ b/Makeconfig
@@ -0,0 +1,358 @@
+# Copyright (C) 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
+# This file is part of the GNU C Library.
+
+# The GNU C Library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+
+# The GNU C Library 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
+# Library General Public License for more details.
+
+# You should have received a copy of the GNU Library General Public
+# License along with the GNU C Library; see the file COPYING.LIB. If
+# not, write to the Free Software Foundation, Inc., 675 Mass Ave,
+# Cambridge, MA 02139, USA.
+
+#
+# Makefile configuration options for the GNU C library.
+#
+ifneq (,)
+This makefile requires GNU Make.
+endif
+
+ifneq "$(origin +included-Makeconfig)" "file"
+
++included-Makeconfig := yes
+
+ifdef subdir
+.. := ../
+endif
+
+# If config.make exists, the source directory was configured,
+# so don't try to be clever and find another directory to build in.
+ifneq (,$(wildcard $(..)config.make))
+ARCH =
+machine =
+else # Not configured.
+ifndef ARCH
+ifdef machine
+ARCH = $(machine)
+endif # machine
+endif # ARCH
+endif # config.make
+
+# Directory for object files and libc.a. If this is not defined, the
+# object files live in the subdirectories where their sources live, and
+# libc.a lives in the parent directory (this probably doesn't work any
+# more).
+ifdef ARCH
+ifeq ($(filter /%,$(ARCH)),)
+objdir := $(..)$(ARCH)
+else
+objdir = $(ARCH)
+endif
+endif
+
+# $(common-objdir) is the place to put objects and
+# such that are not specific to a single subdir.
+ifdef objdir
+objpfx = $(objdir)/
+common-objpfx = $(objpfx)
+common-objdir = $(objdir)
+else
+objpfx :=
+ifdef ..
+common-objpfx = $(..)
+common-objdir = ..
+else
+# This is a kludge. make wizards might grok.
+common-objpfx = sysdeps/../
+common-objdir = .
+endif
+endif
+
+libc.a = $(common-objpfx)libc.a
+
+
+# Get the values defined by options to `configure'.
+include $(common-objpfx)config.make
+
+# Force the user to configure before making.
+$(common-objpfx)config.make:
+ @echo The GNU C library has not been configured. >&2
+ @echo Run \`configure\' to configure it before building. >&2
+ @exit 1
+
+# Get the user's configuration parameters.
+ifneq ($(wildcard $(..)configparms),)
+include $(..)configparms
+endif
+ifneq ($(objpfx),)
+ifneq ($(wildcard $(objpfx)configparms),)
+include $(objpfx)configparms
+endif
+endif
+
+sysdep_dir := $(..)sysdeps
+export sysdep_dir := $(sysdep_dir)
+
+####
+#### These are the configuration variables. You can define values for
+#### the variables below in the file `configparms'.
+#### Do NOT edit this file.
+####
+
+
+# Common prefix for machine-independent installation directories.
+ifndef prefix
+prefix = /usr/local
+endif
+
+# Common prefix for machine-dependent installation directories.
+ifndef exec_prefix
+exec_prefix = $(prefix)
+endif
+
+# Where to install the library and object files.
+ifndef libdir
+libdir = $(exec_prefix)/lib
+endif
+
+# Prefix to put on files installed in $(libdir). For libraries `libNAME.a',
+# the prefix is spliced between `lib' and the name, so the linker switch
+# `-l$(libprefix)NAME' finds the library; for other files the prefix is
+# just prepended to the whole file name.
+ifndef libprefix
+libprefix =
+endif
+
+# Where to install the header files.
+ifndef includedir
+includedir = $(exec_prefix)/include
+endif
+
+# Define if the library should install its own <stddef.h>.
+# Do this unless you are using version 2.2 or later of GCC.
+ifndef stddef.h
+stddef.h = stddef.h
+endif
+
+# Where to install machine-independent data files.
+# These are the timezone database, and eventually the locale database.
+ifndef datadir
+datadir = $(prefix)/share
+endif
+
+# Where to install the timezone data files (which are machine-independent).
+ifndef zonedir
+zonedir = $(datadir)/zoneinfo
+endif
+
+# Where to install programs.
+ifndef bindir
+bindir = $(exec_prefix)/bin
+endif
+
+# Where to install administrative programs.
+ifndef sbindir
+sbindir = $(exec_prefix)/sbin
+endif
+
+# Where to install the Info files.
+ifndef infodir
+infodir = $(prefix)/info
+endif
+
+# Where to install default configuration files. These include the local
+# timezone specification and network data base files.
+ifndef sysconfdir
+sysconfdir = $(prefix)/etc
+endif
+
+# What timezone should be the installed default (e.g., US/Eastern).
+# Run `make -C time echo-zonenames' to see a list of available zone names.
+# The local timezone can be changed with `zic -l TIMEZONE' at any time.
+ifndef localtime
+localtime = Factory
+endif
+
+# Where to install the "localtime" timezone file; this is the file whose
+# contents $(localtime) specifies. If this is a relative pathname, it is
+# relative to $(zonedir). It is a good idea to put this somewhere
+# other than there, so the zoneinfo directory contains only universal data,
+# localizing the configuration data elsewhere.
+ifndef localtime-file
+localtime-file = $(sysconfdir)/localtime
+endif
+
+# What timezone's DST rules should be used when a POSIX-style TZ
+# environment variable doesn't specify any rules. For 1003.1 compliance
+# this timezone must use rules that are as U.S. federal law defines DST.
+# Run `make -C time echo-zonenames' to see a list of available zone names.
+# This setting can be changed with `zic -p TIMEZONE' at any time.
+# If you want POSIX.1 compatibility, use `America/New_York'.
+ifndef posixrules
+posixrules = America/New_York
+endif
+
+# Where to install the "posixrules" timezone file; this is file
+# whose contents $(posixrules) specifies. If this is a relative
+# pathname, it is relative to $(zonedir).
+ifndef posixrules-file
+posixrules-file = posixrules
+endif
+
+
+# Directory where your system's native header files live.
+# This is used on Unix systems to generate some GNU libc header files.
+ifndef sysincludedir
+sysincludedir = /usr/include
+endif
+
+
+# Commands to install files.
+ifndef INSTALL_DATA
+INSTALL_DATA = $(INSTALL) -m 644
+endif
+ifndef INSTALL_PROGRAM
+INSTALL_PROGRAM = $(INSTALL)
+endif
+ifndef INSTALL
+INSTALL = install
+endif
+
+
+# The name of the C compiler.
+# If you've got GCC, and it works, use it.
+ifeq ($(origin CC),default)
+CC := gcc
+endif
+
+# The name of the C compiler to use for compilations of programs to run on
+# the host that is building the library. If you set CC to a
+# cross-compiler, you must set this to the normal compiler.
+ifndef BUILD_CC
+BUILD_CC = $(CC)
+endif
+
+# Default flags to pass the C compiler.
+ifndef default_cflags
+default_cflags := -g
+endif
+
+# Flags to pass the C compiler when assembling preprocessed assembly code
+# (`.S' files). On some systems the assembler doesn't understand the `#' line
+# directives the preprocessor produces. If you have troubling compiling
+# assembly code, try using -P here to suppress these directives.
+ifndef asm-CPPFLAGS
+asm-CPPFLAGS =
+endif
+
+# Command for linking programs with the C library.
+ifndef +link
++link = $(CC) -nostdlib $(LDFLAGS) -o $@ \
+ $(common-objpfx)start.o $(^:lib=$(libc.a)) $(gnulib) $(libc.a)
+endif
+ifndef gnulib
+gnulib := -lgcc
+endif
+
+ifndef LD
+LD := ld -X
+endif
+
+ifndef RANLIB
+RANLIB = ranlib
+endif
+
+# Extra flags to pass to GCC.
++gccwarn := -Wall -Wwrite-strings -Wno-parentheses
+
+# This is the program that generates makefile
+# dependencies from C source files.
+ifndef +mkdep
++mkdep = $(CC) -M
+endif
+
+# The program that makes Emacs-style TAGS files.
+ETAGS := etags -T
+
+# The `m4' macro processor; this is used by sysdeps/sparc/Makefile (and
+# perhaps others) to preprocess assembly code in some cases.
+M4 = m4
+
+####
+#### End of configuration variables.
+####
+
+# This tells some versions of GNU make before 3.63 not to export all variables.
+.NOEXPORT:
+
+# We want to echo the commands we're running without
+# umpteem zillion filenames along with it (we use `...' instead)
+# but we don't want this echoing done when the user has said
+# he doesn't want to see commands echoed by using -s.
+ifneq "$(findstring s,$(MAKEFLAGS))" "" # if -s
++cmdecho := echo >/dev/null
+else # not -s
++cmdecho := echo
+endif # -s
+
+# These are the flags given to the compiler to tell
+# it what sort of optimization and/or debugging output to do.
+ifndef +cflags
+# If `CFLAGS' was defined, use that.
+ifdef CFLAGS
++cflags := $(filter-out -I%,$(CFLAGS))
+endif # CFLAGS
+endif # +cflags
+
+# If none of the above worked, default to "-g".
+ifeq "$(strip $(+cflags))" ""
++cflags := $(default_cflags)
+endif # $(+cflags) == ""
+
+# If using gcc, add flags that only it will grok.
+ifneq "$(findstring gcc,$(CC))" ""
++cflags := $(+cflags) $(+gccwarn)
++gcc-nowarn := -w
+else
++gcc-nowarn :=
+endif # gcc
+
+# Don't duplicate options if we inherited variables from the parent.
++cflags := $(sort $(+cflags))
+
+
+# These are flags given to the C compiler to tell it to look for include
+# files (including ones given in angle brackets) in the current directory
+# and in the parent library source directory.
+# `+sysdep-includes' will be defined by Makerules.
++includes = -I. $(filter-out -I,-I$(patsubst %/,%,$(..))) \
+ $(includes) $(+sysdep-includes) $(last-includes)
+
+
+# These are the variables that the implicit compilation rules use.
+CPPFLAGS = $(+includes) $(defines) -include $(..)libc-symbols.h \
+ $(sysdep-CPPFLAGS)
+override CFLAGS = $(+cflags) $(sysdep-CFLAGS)
+
+
+# This is the macro that the implicit linking rules use.
+ifneq "$(filter -g,$(+cflags))" "" # -g is in $(+cflags)
+LDFLAGS := -g
+endif
+
++gnu-stabs = $(shell echo>&2 '*** BARF ON ME')
+
+ifneq ($(BUILD_CC),$(CC))
+cross-compiling := yes
+else
+cross-compiling := no
+endif
+
+
+endif # Makeconfig not yet included