mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-05 21:00:05 +00:00
6a44147171
* 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.
68 lines
2.1 KiB
Makefile
68 lines
2.1 KiB
Makefile
# 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)
|
||
|