mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-21 12:30:06 +00:00
* Makerules (compile-mkdep-flags): Add -MT $@.
* Makefile (dist, tag-for-dist): New targets. (files-for-dist, tag-of-stem): New variables. (glibc-%.tar glibc-linuxthreads-%.tar): New pattern rule. Make tar files using cvs export. (%.bz2, %.gz, tag-%): New pattern rules. (distribute): Variable removed. (+subdir_targets): Remove distinfo targets. (echo_subdirs, echo-distinfo, parent_echo-distinfo): Targets removed. (rpm/%): Pattern rule removed. * rpm/Makefile, rpm/rpmrc, rpm/template: Ancient cruft files removed. * Rules (subdir_echo-headers, subdir_echo-distinfo, subdir_dist): Targets removed. * Makerules (dist, subdir_distinfo): Targets removed. ($(objpfx)distinfo): Depend on $(distribute). * Make-dist: File removed.
This commit is contained in:
parent
b960842876
commit
62780824a0
18
ChangeLog
18
ChangeLog
@ -8,6 +8,24 @@
|
||||
|
||||
2004-06-18 Roland McGrath <roland@frob.com>
|
||||
|
||||
* Makerules (compile-mkdep-flags): Add -MT $@.
|
||||
|
||||
* Makefile (dist, tag-for-dist): New targets.
|
||||
(files-for-dist, tag-of-stem): New variables.
|
||||
(glibc-%.tar glibc-linuxthreads-%.tar): New pattern rule.
|
||||
Make tar files using cvs export.
|
||||
(%.bz2, %.gz, tag-%): New pattern rules.
|
||||
(distribute): Variable removed.
|
||||
(+subdir_targets): Remove distinfo targets.
|
||||
(echo_subdirs, echo-distinfo, parent_echo-distinfo): Targets removed.
|
||||
(rpm/%): Pattern rule removed.
|
||||
* rpm/Makefile, rpm/rpmrc, rpm/template: Ancient cruft files removed.
|
||||
* Rules (subdir_echo-headers, subdir_echo-distinfo, subdir_dist):
|
||||
Targets removed.
|
||||
* Makerules (dist, subdir_distinfo): Targets removed.
|
||||
($(objpfx)distinfo): Depend on $(distribute).
|
||||
* Make-dist: File removed.
|
||||
|
||||
* NEWS: Fix a typo. Update bug-reporting instructions.
|
||||
|
||||
2004-06-17 Thorsten Kukuk <kukuk@suse.de>
|
||||
|
266
Make-dist
266
Make-dist
@ -1,266 +0,0 @@
|
||||
# Copyright (C) 1991-2001, 2002, 2003 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 Lesser General Public
|
||||
# License as published by the Free Software Foundation; either
|
||||
# version 2.1 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
|
||||
# Lesser General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU Lesser General Public
|
||||
# License along with the GNU C Library; if not, write to the Free
|
||||
# Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
# 02111-1307 USA.
|
||||
|
||||
dist:
|
||||
|
||||
# Make the value empty so ifdef fails if it's $(-subdir).
|
||||
subdir := $(subdir)
|
||||
ifdef subdir
|
||||
.. := ../
|
||||
else
|
||||
.. :=
|
||||
endif
|
||||
|
||||
include $(..)Makeconfig
|
||||
|
||||
foo:=$(shell echo 'distribute=$(distribute)'>&2)
|
||||
foo:=$(shell echo 'dont_distribute=$(dont_distribute)'>&2)
|
||||
foo:=$(shell echo 'foobar=$(filter %.c %.S %.s %.h,$(distribute))'>&2)
|
||||
|
||||
ifndef sysdep_dirs
|
||||
# Find all sysdep directories.
|
||||
export sysdep_dirs := $(shell find $(..)sysdeps -type d ! -name bits \
|
||||
! -name CVS ! -name RCS \
|
||||
! -name SCCS -print)
|
||||
else
|
||||
# Defined by the parent.
|
||||
sysdep_dirs := $(addprefix $(..),$(sysdep_dirs))
|
||||
endif
|
||||
|
||||
# Don't distribute add-on subdirs.
|
||||
subdirs := $(filter-out $(add-ons),$(subdirs))
|
||||
|
||||
# Make sure both aout and elf get in, whichever is in use.
|
||||
subdirs += aout elf
|
||||
|
||||
sysdep-Subdir-files := $(wildcard $(addsuffix /Subdirs,$(sysdep_dirs)))
|
||||
ifdef sysdep-Subdir-files
|
||||
subdirs := $(sort $(subdirs) \
|
||||
$(shell sed -e 's/\#.*$$//' $(sysdep-Subdir-files)))
|
||||
endif
|
||||
|
||||
|
||||
# Makefiles can define `source_dirs' to list nonstandard directories
|
||||
# where source files might be found.
|
||||
|
||||
ifdef subdir
|
||||
all-headers = $(filter-out $(sysdep_headers),$(headers))
|
||||
else
|
||||
+distinfo := $(shell MAKEFLAGS= MFLAGS= $(MAKE) -s no_deps=t \
|
||||
inhibit_interface_rules=t inhibit_mach_syscalls=t \
|
||||
inhibit_timezone_rules=t generating=t \
|
||||
subdirs='$(subdirs)' echo-distinfo | grep -v '^make')
|
||||
foo:=$(shell echo>&2 '+distinfo=$(+distinfo)')
|
||||
all-headers := $(patsubst +header+%,%,$(filter +header+%,$(+distinfo)))
|
||||
# Ignore subdir headers without top-level indirections.
|
||||
all-headers := $(sort $(headers) \
|
||||
$(patsubst include/%,%,\
|
||||
$(wildcard $(addprefix include/,\
|
||||
$(all-headers)))))
|
||||
# Filter out names like ../conf/portability.h that would point outside
|
||||
# the source directory.
|
||||
all-headers := $(filter-out ../%,$(all-headers))
|
||||
+subdir-nodist := $(patsubst +nodist+%,%,$(filter +nodist+%,$(+distinfo)))
|
||||
endif
|
||||
foo:=$(shell echo 'IS THIS WORKING??? all-headers=$(all-headers)' >&2)
|
||||
|
||||
sources += $(addsuffix .c,$(elided-routines) \
|
||||
$(foreach l,$(extra-libs),$($l-routines)))
|
||||
|
||||
sources += $(addsuffix .c, $(filter-out $(elided-routines), \
|
||||
$(tests) $(xtests)))
|
||||
|
||||
# Find all sysdep sources and headers.
|
||||
+maybe-sysdeps := $(sources) $(sources:.c=.s) $(sources:.c=.S) $(all-headers) \
|
||||
$(filter %.c %.S %.s %.h %.sub,$(distribute))
|
||||
foo:=$(shell echo '+maybe-sysdeps=$(+maybe-sysdeps)'>&2)
|
||||
# Find all the files that have a generic version.
|
||||
generic-dirs = $(..)sysdeps/generic $(..)sysdeps/ieee754 \
|
||||
$(..)sysdeps/ieee754/flt-32 $(..)sysdeps/ieee754/dbl-64 \
|
||||
$(..)sysdeps/ieee754/ldbl-96 $(..)sysdeps/ieee754/ldbl-128
|
||||
try-sysdeps := $(foreach dir,$(generic-dirs),\
|
||||
$(addprefix $(dir)/,$(+maybe-sysdeps)))
|
||||
foo:=$(shell echo 'try-sysdeps=$(try-sysdeps)'>&2)
|
||||
+sysdeps := $(wildcard $(try-sysdeps))
|
||||
foo:=$(shell echo 'generic +sysdeps=$(+sysdeps)'>&2)
|
||||
+sysdep-names := $(sort $(foreach dir, $(generic-dirs),\
|
||||
$(patsubst $(dir)/%,%,\
|
||||
$(filter $(dir)/%,$(+sysdeps)))))
|
||||
foo:=$(shell echo '+sysdep-names=$(+sysdep-names)' >&2)
|
||||
|
||||
ifdef subdir-dirs
|
||||
vpath % $(subdir-dirs)
|
||||
endif
|
||||
|
||||
# Now find all the sysdep versions of those files.
|
||||
+sysdeps := $(foreach dir,$(sysdep_dirs) $(source_dirs),\
|
||||
$(wildcard $(addprefix $(dir)/, \
|
||||
$(+sysdep-names) \
|
||||
$(+sysdep-names:.c=.s) \
|
||||
$(+sysdep-names:.c=.S) \
|
||||
)))
|
||||
|
||||
|
||||
# Source and header files to go in the distribution tar file.
|
||||
|
||||
.S.s := $(wildcard $(sources:.c=.S) $(sources:.c=.s))
|
||||
sources := $(filter-out $(addsuffix .c,$(basename $(.S.s))),$(sources)) $(.S.s)
|
||||
|
||||
+out := $(patsubst %.S,%.c,$(+sysdep-names:.s=.c)) \
|
||||
$(addsuffix .c,$(sysdep_routines)) \
|
||||
$(+subdir-nodist) $(dont_distribute)
|
||||
foo:=$(shell echo '+out=$(+out)' >&2; echo foofoo >&2)
|
||||
+tsrcs := $(filter-out $(+out), $(sources) $(all-headers)) $(+sysdeps)
|
||||
foo:=$(shell echo 'made +tsrcs=$(+tsrcs)'>&2)
|
||||
foo:=$(shell echo generated='$(generated)' >&2)
|
||||
#generated := $(sort $(generated) $(generated:.S=.c) $(generated:.s=.c))
|
||||
#foo:=$(shell echo now generated='$(generated)' >&2)
|
||||
+tsrcs := $(filter-out $(generated),$(+tsrcs))
|
||||
+tsrcs := $(sort $(filter-out $(+out),$(+tsrcs) $(distribute)))
|
||||
foo:=$(shell echo '+tsrcs=$(+tsrcs)'>&2)
|
||||
foo:=$(shell echo foobie, dammit! >&2)
|
||||
|
||||
ifndef tardir
|
||||
export tardir := glibc-$(version)
|
||||
endif
|
||||
|
||||
$(..)glibc-$(version):
|
||||
ln -s . $@
|
||||
|
||||
#+tsrcs := $(+tsrcs) \
|
||||
# TAGS
|
||||
.PHONY: TAGS
|
||||
TAGS: $(..)MakeTAGS
|
||||
$(MAKE) -f $< $@ -o subdir_TAGS
|
||||
|
||||
ifdef subdir
|
||||
|
||||
foo:=$(shell echo subdir foo >&2)
|
||||
|
||||
+tsrcs := Makefile $(wildcard Versions) $(wildcard Depend) $(+tsrcs) \
|
||||
$(addsuffix .c,$(others) $(test-srcs)) \
|
||||
$(wildcard $(addsuffix .input,$(tests) $(xtests) $(test-srcs)))
|
||||
+tardeps := $(strip $(+tsrcs))
|
||||
|
||||
verbose = v
|
||||
|
||||
.PHONY: dist
|
||||
dist: $(..)$(tardir) $(+tardeps)
|
||||
@cd ..; if test -f dist.tar; then c=u; else c=c; fi; \
|
||||
$(+cmdecho) "cd ..; tar $${c}h$(verbose)f dist.tar ..."; \
|
||||
tar $${c}h$(verbose)f dist.tar \
|
||||
$(addprefix $(tardir)/$(subdir)/,$(filter-out $< ../%,$^)) \
|
||||
$(addprefix $(tardir)/,\
|
||||
$(patsubst ../%,%,$(filter-out $<,$(filter ../%,$^))))
|
||||
|
||||
else # Parent makefile.
|
||||
|
||||
# Find what other things sysdep directories want to distribute.
|
||||
|
||||
foo:=$(shell echo parent foobie>&2)
|
||||
+sysdep-distfiles := $(wildcard $(addsuffix /Dist,$(sysdep_dirs)))
|
||||
foo:=$(shell echo +sysdep-distfiles='$(+sysdep-distfiles)'>&2)
|
||||
+sysdep-dist := $(foreach file,$(+sysdep-distfiles),\
|
||||
$(addprefix $(dir $(file)), \
|
||||
$(shell sed -e 's/\#.*$$//' $(file)))) \
|
||||
$(+sysdep-distfiles) \
|
||||
$(sysdep-Subdir-files)
|
||||
foo:=$(shell echo '+sysdep-dist=$(+sysdep-dist)' >&2)
|
||||
|
||||
+sysdep-tsrcs := $(wildcard $(foreach file,Makefile Makeconfig Implies \
|
||||
configure configure.in Versions\
|
||||
syscalls.list libm-test-ulps,\
|
||||
$(addsuffix /$(file),$(sysdep_dirs)))) \
|
||||
$(+sysdep-dist)
|
||||
|
||||
+tsrcs := $(+tsrcs) $(+sysdep-tsrcs) $(wildcard $(+sysdep-names:%=include/%))
|
||||
|
||||
ifneq ($(AUTOCONF),no)
|
||||
|
||||
ifeq ($(with-cvs),yes)
|
||||
define autoconf-it-cvs
|
||||
test ! -d CVS || cvs $(CVSOPTS) commit -m'Regenerated: autoconf $(ACFLAGS) $<' $@
|
||||
endef
|
||||
else
|
||||
autoconf-it-cvs =
|
||||
endif
|
||||
|
||||
define autoconf-it
|
||||
@-rm -f $@.new
|
||||
$(AUTOCONF) $(ACFLAGS) $< > $@.new
|
||||
chmod a-w,a+x $@.new
|
||||
mv -f $@.new $@
|
||||
$(autoconf-it-cvs)
|
||||
endef
|
||||
|
||||
configure: configure.in aclocal.m4; $(autoconf-it)
|
||||
%/configure: %/configure.in aclocal.m4; $(autoconf-it)
|
||||
|
||||
endif # $(AUTOCONF) = no
|
||||
|
||||
|
||||
dist: $(tardir).tar.bz2
|
||||
rm $(tardir).tar
|
||||
|
||||
subdir_dist: dist.tar
|
||||
dist.tar: README $(tardir) $(+tsrcs)
|
||||
tar chvf $@ $(addprefix $(tardir)/,$(filter-out $(tardir),$^))
|
||||
|
||||
$(tardir).tar: dist.tar subdir_dist
|
||||
tar xf $< -C $${TMPDIR-/tmp}
|
||||
tar covf $@ -C $${TMPDIR-/tmp} $(tardir)
|
||||
-rm -fr $${TMPDIR-/tmp}/$(tardir) dist.tar &
|
||||
rm $(tardir)
|
||||
|
||||
%.Z: %
|
||||
compress -c $< > $@
|
||||
|
||||
%.gz: %
|
||||
gzip -9 -v -c $< > $@
|
||||
|
||||
%.bz2: %
|
||||
bzip2 -9 -v -c $< > $@
|
||||
|
||||
foo:=$(shell echo subdirs=$(subdirs) >&2)
|
||||
dist-subdirs := $(addprefix dist-,$(subdirs)) # dist-manual
|
||||
.PHONY: subdir_dist $(dist-subdirs)
|
||||
subdir_dist: $(dist-subdirs)
|
||||
$(dist-subdirs):
|
||||
$(MAKE) -C $(patsubst dist-%,%,$@) dist
|
||||
|
||||
# This is here instead of in Makefile so it can use $(release) and $(version).
|
||||
README: README.template version.h
|
||||
-rm -f $@
|
||||
sed -e 's/RELEASE/$(release)/' -e 's/VERSION/$(version)/' < $< > $@
|
||||
# Make it unwritable so I won't change it by mistake.
|
||||
chmod 444 $@
|
||||
ifeq ($(with-cvs),yes)
|
||||
test ! -d CVS || cvs $(CVSOPTS) commit -m'Remade for $(release)-$(version)' $@
|
||||
endif
|
||||
|
||||
|
||||
endif # Subdirectory vs. parent makefile
|
||||
|
||||
# Get these things out of the environment because they take up lots of space.
|
||||
unexport distribute generated
|
||||
|
||||
# Fnord.
|
||||
export inhibit_mach_syscalls=t
|
||||
export no_deps=t
|
||||
export inhibit_interface_rules=t
|
||||
export generating=t
|
71
Makefile
71
Makefile
@ -61,8 +61,8 @@ endif # $(AUTOCONF) = no
|
||||
+subdir_targets := subdir_lib objects objs others subdir_mostlyclean \
|
||||
subdir_clean subdir_distclean subdir_realclean \
|
||||
tests xtests subdir_lint.out \
|
||||
subdir_update-abi subdir_check-abi subdir_distinfo \
|
||||
subdir_echo-headers subdir_echo-distinfo \
|
||||
subdir_update-abi subdir_check-abi \
|
||||
subdir_echo-headers \
|
||||
subdir_install \
|
||||
subdir_testclean \
|
||||
$(addprefix install-, no-libc.a bin lib data headers others)
|
||||
@ -259,47 +259,9 @@ ifdef objdir
|
||||
endif
|
||||
-rm -f $(sysdep-$(distclean-1))
|
||||
|
||||
.PHONY: echo_subdirs
|
||||
echo_subdirs:;@echo '$(subdirs)'
|
||||
|
||||
.PHONY: echo-distinfo parent_echo-distinfo
|
||||
echo-distinfo: parent_echo-distinfo subdir_echo-distinfo
|
||||
parent_echo-distinfo:
|
||||
@echo $(addprefix +header+,$(headers)) \
|
||||
$(addprefix +nodist+,$(generated))
|
||||
|
||||
|
||||
# Make the distribution tarfile.
|
||||
.PHONY: dist tag-for-dist
|
||||
|
||||
distribute := README README.libm INSTALL FAQ FAQ.in NOTES NEWS BUGS \
|
||||
PROJECTS COPYING.LIB COPYING ChangeLog ChangeLog.[0-9] \
|
||||
ChangeLog.1[0-9] Makefile Makeconfig Makerules Rules \
|
||||
Make-dist MakeTAGS extra-lib.mk o-iterator.mk configure \
|
||||
extra-modules.mk \
|
||||
configure.in aclocal.m4 config.h.in config.make.in \
|
||||
config-name.in Makefile.in sysdep.h set-hooks.h \
|
||||
libc-symbols.h version.h shlib-versions rpm/Makefile \
|
||||
rpm/template rpm/rpmrc abi-tags stub-tag.h \
|
||||
test-skeleton.c include/des.h include/libc-internal.h \
|
||||
include/shlib-compat.h include/pthread.h Versions.def \
|
||||
cppflags-iterator.mk tls.make.c include/caller.h \
|
||||
include/stubs-prologue.h include/gnu/stubs.h \
|
||||
include/atomic.h bits/atomic.h symbol-hacks.h \
|
||||
INTERFACE CONFORMANCE NAMESPACE LICENSES \
|
||||
$(addprefix scripts/, \
|
||||
rellns-sh config.sub config.guess \
|
||||
mkinstalldirs move-if-change install-sh \
|
||||
test-installation.pl gen-FAQ.pl versions.awk\
|
||||
gen-sorted.awk abi-versions.awk abilist.awk \
|
||||
firstversions.awk documented.sh cpp \
|
||||
output-format.sed gen-as-const.awk \
|
||||
merge-abilist.awk extract-abilist.awk \
|
||||
rpm2dynsym.sh \
|
||||
) \
|
||||
$(wildcard scripts/data/*.data) \
|
||||
$(wildcard abilist/*.abilist)
|
||||
|
||||
distribute := $(strip $(distribute))
|
||||
generated := $(generated) stubs.h
|
||||
|
||||
README: README.template version.h
|
||||
@ -311,6 +273,30 @@ ifeq ($(with-cvs),yes)
|
||||
test ! -d CVS || cvs $(CVSOPTS) commit -m'Remade for $(release)-$(version)' $@
|
||||
endif
|
||||
|
||||
files-for-dist := README FAQ INSTALL NOTES configure
|
||||
|
||||
tag-of-stem = glibc-$(subst .,_,$*)
|
||||
|
||||
glibc-%.tar glibc-linuxthreads-%.tar: $(files-for-dist)
|
||||
@rm -fr glibc-$*
|
||||
cvs $(CVSOPTS) -Q export -d glibc-$* -r $(tag-of-stem) libc
|
||||
tar cf glibc-linuxthreads-$*.tar -C glibc-$* \
|
||||
linuxthreads linuxthreads_db
|
||||
rm -rf $(addprefix glibc-$*/,linuxthreads linuxthreads_db)
|
||||
tar cf glibc-$*.tar glibc-$*
|
||||
rm -fr glibc-$*
|
||||
|
||||
%.bz2: %; bzip2 -9vk $<
|
||||
%.gz: %; gzip -9vnc $< > $@.new && mv -f $@.new $@
|
||||
|
||||
dist: $(foreach Z,.bz2 .gz,glibc-$(version).tar$Z \
|
||||
glibc-linuxthreads-$(version).tar$Z)
|
||||
md5sum $^
|
||||
|
||||
tag-for-dist: tag-$(version)
|
||||
tag-%: $(files-for-dist)
|
||||
cvs $(CVSOPTS) -Q tag -c $(tag-of-stem)
|
||||
|
||||
define format-me
|
||||
@rm -f $@
|
||||
makeinfo --no-validate --no-warn --no-headers $< -o $@
|
||||
@ -327,9 +313,6 @@ ifeq ($(with-cvs),yes)
|
||||
endif
|
||||
FORCE:
|
||||
|
||||
rpm/%: subdir_distinfo
|
||||
$(MAKE) $(PARALLELMFLAGS) -C $(@D) $(@F)
|
||||
|
||||
iconvdata/% localedata/% po/% manual/%:
|
||||
$(MAKE) $(PARALLELMFLAGS) -C $(@D) $(@F)
|
||||
|
||||
|
13
Rules
13
Rules
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 1991-2000,2002,2003 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1991-2000,2002,2003, 2004 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
|
||||
@ -159,23 +159,14 @@ subdir_testclean: do-tests-clean
|
||||
realclean: distclean
|
||||
distclean: clean
|
||||
|
||||
.PHONY: subdir_echo-headers
|
||||
subdir_echo-headers: echo-headers
|
||||
|
||||
.PHONY: subdir_echo-distinfo
|
||||
subdir_echo-distinfo:
|
||||
@echo $(addprefix +header+,$(headers) $(filter %.h,$(distribute))) \
|
||||
$(addprefix +nodist+,$(generated) $(common-generated) $(dont_distribute))
|
||||
|
||||
# We want to install everything except the library itself, but update all
|
||||
# our portions of the library because the parent make will install it later
|
||||
# (likewise the stubs file).
|
||||
.PHONY: subdir_install
|
||||
subdir_install: install-no-libc.a lib-noranlib stubs
|
||||
|
||||
.PHONY: subdir_TAGS subdir_dist
|
||||
.PHONY: subdir_TAGS
|
||||
subdir_TAGS: TAGS
|
||||
subdir_dist: dist
|
||||
|
||||
# Target required by the Hurd to ensure that all the MiG-generated
|
||||
# headers are in place before building a subdirectory.
|
||||
|
102
rpm/Makefile
102
rpm/Makefile
@ -1,102 +0,0 @@
|
||||
# A start at automated rpm-making for GNU libc.
|
||||
# Generates an rpm spec file in `CPU-VENDOR-OS' from the list of installed
|
||||
# files and the `template' file.
|
||||
|
||||
all:
|
||||
|
||||
subdir := rpm
|
||||
include ../Makeconfig
|
||||
include $(common-objpfx)soversions.mk
|
||||
|
||||
distinfo := $(common-objpfx)distinfo \
|
||||
$(wildcard $(subdirs:%=$(common-objpfx)%/distinfo))
|
||||
-include $(distinfo)
|
||||
|
||||
config = $(config-machine)-$(config-vendor)-$(config-os)
|
||||
|
||||
headers := $(-headers) $(foreach d,$(subdirs),$($d-headers))
|
||||
install-lib := $(-install-lib) $(foreach d,$(subdirs),$($d-install-lib))
|
||||
install-lib.so := $(-install-lib.so) \
|
||||
$(foreach d,$(subdirs),$(filter-out $($d-versioned),\
|
||||
$($d-install-lib.so)))
|
||||
versioned := $(-versioned) $(foreach d,$(subdirs),$($d-versioned))
|
||||
install-bin := $(-install-bin) $(foreach d,$(subdirs),$($d-install-bin))
|
||||
install-sbin := $(-install-sbin) $(foreach d,$(subdirs),$($d-install-sbin))
|
||||
install-data := $(-install-data) $(foreach d,$(subdirs),$($d-install-data))
|
||||
install-others := $(-install-others) \
|
||||
$(foreach d,$(subdirs),$($d-install-others))
|
||||
|
||||
# Notice things to be installed in /etc. They get specially marked as
|
||||
# possibly user-modified config files.
|
||||
install-sysconf := $(filter $(sysconfdir)/%,$(install-others))
|
||||
install-others := $(filter-out $(sysconfdir)/%,$(install-others))
|
||||
|
||||
# Add the unversioned lib*.so's.
|
||||
install-slib = $(install-lib.so)
|
||||
|
||||
# For each versioned lib*.so, add two files:
|
||||
# lib*-VERSION.so and lib*.so.MAJOR
|
||||
install-slib += $(foreach lib,$(versioned),\
|
||||
$(patsubst %.so,%-$(version).so,$(lib)) \
|
||||
$(lib)$($(lib)-version))
|
||||
install-lib += $(versioned)
|
||||
|
||||
# Add libc.a and libc_p.a.
|
||||
install-lib += $(foreach o,$(filter-out .os,$(object-suffixes-for-libc)),\
|
||||
$(patsubst %,$(libtype$o),c))
|
||||
|
||||
ifeq (yes,$(build-shared))
|
||||
# Add libc.so itself, which is a special case in Makerules.
|
||||
ifndef libc.so-version
|
||||
install-slib += libc.so
|
||||
else
|
||||
install-lib += libc.so
|
||||
install-slib += libc-$(version).so libc.so$(libc.so-version)
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
all: glibc-$(version).$(config).rpm
|
||||
|
||||
instvars = include lib slib bin sbin data others
|
||||
|
||||
# Generate the rpm spec file for this configuration.
|
||||
$(config): template $(distinfo) Makefile
|
||||
rm -f $@.new
|
||||
(sed -e 's%@VERSION@%$(version)%g' \
|
||||
-e 's%@prefix@%$(prefix)%g' \
|
||||
$<; \
|
||||
($(foreach var,$(instvars),\
|
||||
list='$(install-$(var))'; \
|
||||
for f in $$list; do \
|
||||
echo $(filter-out /,$($(var)dir)/)$$f; \
|
||||
done;\
|
||||
)) | sort; \
|
||||
(list='$(install-sysconf)'; \
|
||||
for f in $$list; do \
|
||||
echo %config $$f; \
|
||||
done) | sort) > $@.new
|
||||
mv -f $@.new $@
|
||||
|
||||
install-include = $(headers)
|
||||
|
||||
instfiles := $(sort $(foreach x,$(instvars),\
|
||||
$(addprefix $(filter-out /,$($xdir)/),\
|
||||
$(install-$x))))
|
||||
|
||||
# Build the binary rpm for this configuration.
|
||||
glibc-$(version).$(config).rpm: $(config) rpmrc $(instfiles)
|
||||
# rpm is really lame. You cannot tell it the name of the output file,
|
||||
# and you can only guess at what the name will turn out to be!
|
||||
arch=`uname -m | sed -e 's/i.86/i386/' -e 's/alpha/axp/'`; \
|
||||
rm -f $$arch; ln -s . $$arch; \
|
||||
rpm --rcfile rpmrc -bb $<; \
|
||||
rm -f $$arch; \
|
||||
mv -f glibc-$(version)-1.$${arch}.rpm $@
|
||||
|
||||
# Avoid time-consuming implicit rule search.
|
||||
$(instfiles) : ;
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -f $(config) glibc-$(version).$(config).rpm
|
41
rpm/template
41
rpm/template
@ -1,41 +0,0 @@
|
||||
Name: glibc
|
||||
Summary: GNU libc
|
||||
Group: Development/Libraries/Libc
|
||||
Version: @VERSION@
|
||||
Release: 1
|
||||
Copyright: LGPL, GPL
|
||||
Source: glibc-@VERSION@.tar.gz
|
||||
BuildRoot: /tmp/libc
|
||||
|
||||
%description
|
||||
The C language provides no built-in facilities for performing such
|
||||
common operations as input/output, memory management, string
|
||||
manipulation, and the like. Instead, these facilities are defined in
|
||||
a standard library, which you compile and link with your programs. The
|
||||
GNU C library (this package) defines all of the library functions that
|
||||
are specified by the ISO C standard, as well as additional features
|
||||
specific to POSIX and other derivatives of the Unix operating system,
|
||||
and extensions specific to the GNU system.
|
||||
|
||||
%prep
|
||||
%setup
|
||||
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
mkdir $RPM_BUILD_ROOT
|
||||
|
||||
%build
|
||||
configure --prefix=@prefix@
|
||||
cat >configparms <<EOF
|
||||
CFLAGS=$RPM_OPT_FLAGS
|
||||
install_root=$RPM_BUILD_ROOT
|
||||
EOF
|
||||
make
|
||||
|
||||
%clean
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
%install
|
||||
make install
|
||||
|
||||
%files
|
||||
%doc BUGS FAQ NEWS NOTES README INSTALL
|
Loading…
Reference in New Issue
Block a user