Files
oldlinux-files/gnu/glibc/glibc-1.05.tar/glibc-1.05/Makeconfig
2024-02-19 00:24:47 -05:00

335 lines
9.1 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Copyright (C) 1991, 1992 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
ifndef ARCH
ifdef machine
# If config.make exists, the source directory was configured,
# so don't try to be clever and find another directory to build in.
ifeq (,$(wildcard $(..)config.make))
ARCH = $(machine)
endif # config.make
endif # machine
endif # ARCH
# 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/../
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.
$(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
####
#### 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
# 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
# Define if the library should install its own <stdarg.h>.
# Do this unless you are using version 2.3 or later of GCC.
ifndef stdarg.h
stdarg.h := stdarg.h $(wildcard va-*.h)
endif
# Where to install machine-independent data files.
# These are the timezone database, and eventually the locale database.
ifndef datadir
datadir = $(prefix)/lib
endif
# Where to install programs.
ifndef bindir
bindir = $(exec_prefix)/bin
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 $(datadir)/zoneinfo.
ifndef localtime-file
localtime-file = $(prefix)/etc/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.
ifndef posixrules
posixrules = US/Eastern
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 $(datadir)/zoneinfo.
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)
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
# These are preprocessor macros we want to predefine. Define HAVE_GNU_LD
# if using GNU ld (which you should do if possible). If you do this, you
# may need the GNU assembler as well. If you don't do this, your library
# won't work as well (and won't be strictly compliant with the ANSI C
# and POSIX.1 standards).
+defines = $(defines) $(gnu_ld) $(gnu_as)
# 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 -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
# Define non-empty if the C compiler understands -v (print version).
+cc_version = $(filter gcc,$(notdir $(firstword $(CC)))) # if using gcc
# Extra flags to pass to GCC.
+gccwarn := -Wall -Wwrite-strings -Wpointer-arith -Wstrict-prototypes
+gccopt := -fstrength-reduce
# 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
####
#### 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)
ifneq "$(filter -O,$(+cflags))" ""
+cflags := $(+cflags) $(+gccopt)
+gcc-nowarn := -w
endif
else
+gcc-nowarn :=
endif # gcc
# Don't duplicate options if we inherited variables from the parent.
+cflags := $(sort $(+cflags))
ifneq "$(findstring v,$(MAKEFLAGS))" "" # if -v
ifneq "$(strip $(+cc_version))" ""
# If Make is telling us version info, tell the compiler to do so as well.
CC := $(CC) -v
endif # +cc_version
endif # -v
# 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.
ifneq "$(..)" ""
+includes = -I. -I$(patsubst %/,%,$(..)) $(includes)
else
+includes = -I. $(includes)
endif
# These are the variables that the implicit compilation rules use.
CPPFLAGS = $(+includes) $(+defines) -DLIBC
override CFLAGS = $(+cflags)
# This is the macro that the implicit linking rules use.
ifneq "$(filter -g,$(+cflags))" "" # -g is in $(+cflags)
LDFLAGS := -g
endif
ifneq "$(filter -DHAVE_GNU_LD,$(CPPFLAGS))" ""
+gnu-stabs := yes
endif
endif # Makeconfig not yet included