diff options
-rw-r--r-- | ChangeLog | 20 | ||||
-rw-r--r-- | Makeconfig | 2 | ||||
-rw-r--r-- | Makefile | 5 | ||||
-rw-r--r-- | Makerules | 5 | ||||
-rw-r--r-- | manual/Makefile | 2 | ||||
-rw-r--r-- | rpm/Makefile | 67 | ||||
-rw-r--r-- | rpm/template | 8 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/Makefile | 1 |
8 files changed, 106 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog index bdb63691aa..d5c1a486ed 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,25 @@ +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. + Sun Jun 16 00:40:20 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> + * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Don't add + fpu_control.h here. + * time/Makefile ($(installed-localtime-file)): If target exists, do nothing but print a message; if not, make it an absolute symlink. diff --git a/Makeconfig b/Makeconfig index afbb31f2fa..a254e9d824 100644 --- a/Makeconfig +++ b/Makeconfig @@ -90,8 +90,6 @@ include $(common-objpfx)config.make $(common-objpfx)config.make: $(common-objpfx)config.status $(..)config.h.in cd $(<D); $(SHELL) $(<F) -sysdep-configures = \ - # Find all the sysdeps configure fragments, to make sure we re-run # configure when any of them changes. $(common-objpfx)config.status: $(..)configure \ diff --git a/Makefile b/Makefile index fb1656e828..39c812cc50 100644 --- a/Makefile +++ b/Makefile @@ -76,6 +76,7 @@ subdirs := $(filter mach,$(subdirs)) $(filter hurd,$(subdirs)) \ +subdir_targets := subdir_lib objects objs others subdir_mostlyclean \ subdir_clean subdir_distclean subdir_realclean \ tests subdir_lint.out \ + subdir_distinfo \ subdir_echo-headers subdir_echo-distinfo \ subdir_install $(addprefix install-, \ no-libc.a bin lib \ @@ -219,6 +220,7 @@ echo-distinfo: parent_echo-distinfo subdir_echo-distinfo parent_echo-distinfo: @echo $(addprefix +header+,$(headers)) \ $(addprefix +nodist+,$(generated)) + # Make the distribution tarfile. @@ -244,3 +246,6 @@ makeinfo --no-validate --no-warn --no-headers $< -o $@ endef INSTALL: manual/maint.texi; $(format-me) NOTES: manual/creature.texi; $(format-me) + +rpm/%: subdir_distinfo + $(MAKE) -C $(@D) subdirs='$(subdirs)' $(@F) diff --git a/Makerules b/Makerules index cdb1bcb78c..f73bec7d6c 100644 --- a/Makerules +++ b/Makerules @@ -810,13 +810,16 @@ dist: $(filter-out %.c %.S %.s,$(distribute)) distinfo: Makefile $(..)Makerules $(distinfo-vars) mv -f $@.new $@ +.PHONY: subdir_distinfo +subdir_distinfo: distinfo define distinfo-vars rm -f $@.new $(foreach var,subdir subdir-dirs sources elided-routines sysdep_routines \ headers sysdep_headers distribute dont_distribute generated \ others tests extra-libs $(extra-libs:%=%-routines) \ - $(addprefix install-,lib data bin sbin others), + versioned \ + $(addprefix install-,lib lib.so data bin sbin others), echo >> $@.new '$(subdir)-$(var) := $($(var))' echo >> $@.new '$(var) = $$($(subdir)-$(var))') endef diff --git a/manual/Makefile b/manual/Makefile index 54a3a468f9..7197ecf7a9 100644 --- a/manual/Makefile +++ b/manual/Makefile @@ -107,6 +107,8 @@ glibc-doc-$(edition).tar: $(doc-only-dist) $(distribute) # The parent makefile sometimes invokes us with targets `subdir_REAL-TARGET'. subdir_%: % ; +# For targets we don't define, do nothing. +subdir_%: ; .PHONY: mostlyclean distclean realclean clean mostlyclean: diff --git a/rpm/Makefile b/rpm/Makefile new file mode 100644 index 0000000000..a4e7969c23 --- /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) + diff --git a/rpm/template b/rpm/template new file mode 100644 index 0000000000..3d88336608 --- /dev/null +++ b/rpm/template @@ -0,0 +1,8 @@ +Name: glibc +Description: GNU libc +Group: Development/Libraries/Libc +Version: @VERSION@ +Release: 1 +Copyright: LGPL, GPL + +%files diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile index 8d351c4046..a14f84c3b1 100644 --- a/sysdeps/unix/sysv/linux/Makefile +++ b/sysdeps/unix/sysv/linux/Makefile @@ -1,7 +1,6 @@ ifeq ($(subdir), math) sysdep_routines += setfpucw extra-objs += ieee-fpucw.o -sysdep_headers += fpu_control.h install-lib += libieee.a non-lib.a += libieee.a |