diff options
author | Roland McGrath <roland@gnu.org> | 1996-06-16 06:52:32 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 1996-06-16 06:52:32 +0000 |
commit | 6a441471712cfa78ae0b706b7d7529612b37338e (patch) | |
tree | 3b4ba785c8021ab1fd9bc16f670b7b33a507298c /rpm/Makefile | |
parent | a3b5844025aa90fd28f3bf5a27be116852761f4e (diff) | |
download | glibc-6a441471712cfa78ae0b706b7d7529612b37338e.zip glibc-6a441471712cfa78ae0b706b7d7529612b37338e.tar.gz glibc-6a441471712cfa78ae0b706b7d7529612b37338e.tar.bz2 |
Sun Jun 16 02:44:22 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* rpm/template: New file.
* rpm/Makefile: New file.
* Makeconfig (sysdep-configures): Remove empty variable.
* Makerules (distinfo-vars): Write defns for $(install-lib.so) and
$(versioned).
* manual/Makefile (subdir_%): Add new rule with no deps, secondary to
to rule w/dep on %, with no-op commands.
* Makerules (subdir_distinfo): New phony target; depend on distinfo.
* Makefile (rpm/%): New rule.
(+subdir_targets): Add subdir_distinfo.
* sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Don't add
fpu_control.h here.
Diffstat (limited to 'rpm/Makefile')
-rw-r--r-- | rpm/Makefile | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/rpm/Makefile b/rpm/Makefile new file mode 100644 index 0000000..a4e7969 --- /dev/null +++ b/rpm/Makefile @@ -0,0 +1,67 @@ +# 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 +include $(common-objpfx)version.mk + +distinfo := $(wildcard $(subdirs:%=../%/distinfo)) +-include $(distinfo) + +config = $(config-machine)-$(config-vendor)-$(config-os) + +headers := $(foreach d,$(subdirs),$($d-headers)) +install-lib := $(foreach d,$(subdirs),$($d-install-lib)) +install-lib.so := $(foreach d,$(subdirs),$(filter-out $($d-versioned),\ + $($d-install-lib.so))) +versioned := $(foreach d,$(subdirs),$($d-versioned)) +install-bin := $(foreach d,$(subdirs),$($d-install-bin)) +install-sbin := $(foreach d,$(subdirs),$($d-install-sbin)) +install-data := $(foreach d,$(subdirs),$($d-install-data)) +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 to install-lib. +install-lib += $(install-lib.so) + +# For each versioned lib*.so, add three files: +# lib*-VERSION.so, lib*.so.MAJOR, and lib*.so +install-lib += $(foreach lib,$(versioned),\ + $(patsubst %.so,%-$(version).so,$(lib)) \ + $(lib)$($(lib)-version) $(lib)) + +# Add libc.so itself, which is a special case in Makerules. +install-others += $(slibdir)/libc.so +ifdef libc.so-version +install-others += $(slibdir)/libc-$(version).so \ + $(slibdir)/libc.so$(libc.so-version) +endif + + +glibc-$(version).$(config).rpm: $(config) + +all: $(config) + +$(config): template $(distinfo) Makefile + rm -f $@.new + (sed -e 's%@VERSION@%$(version)%g' $<; \ + ($(foreach var,include lib bin sbin data others,\ + for f in $(install-$(var)); do \ + echo $(filter-out /,$($(var)dir)/)$$f; \ + done;\ + )) | sort; \ + (for f in $(install-sysconf); do \ + echo %config $$f; \ + done) | sort) > $@.new + mv -f $@.new $@ + +install-include = $(headers) + |