diff options
author | Ulrich Drepper <drepper@redhat.com> | 1998-07-04 10:17:03 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1998-07-04 10:17:03 +0000 |
commit | 6ef9f70bdbe3fdb7b16d7c9726e624700d774136 (patch) | |
tree | ace860900e7eb3c181d12a6b95c70c38228002fb | |
parent | 220733f52a740016194ee6bb69ef279a82d61dba (diff) | |
download | glibc-6ef9f70bdbe3fdb7b16d7c9726e624700d774136.zip glibc-6ef9f70bdbe3fdb7b16d7c9726e624700d774136.tar.gz glibc-6ef9f70bdbe3fdb7b16d7c9726e624700d774136.tar.bz2 |
[versioning=yes]: Build the mapfiles with a pattern rule that lists all of them as targets. (sysd-versions): Depend only on Versions.def. Write a Makefile fragment that defines $(vers-libs) based on contents of that file; then include it. (lib-noranlib): Depend on lib-mapfiles not sysd-versions. (lib-mapfiles): New target, depends on sysd-versions and $(vers-libs). Predicate all this on avoid-generated unset as well as versioning.
-rw-r--r-- | Makefile | 24 |
1 files changed, 18 insertions, 6 deletions
@@ -78,7 +78,7 @@ install-others += $(inst_includedir)/gnu/lib-names.h endif ifeq ($(versioning),yes) -lib-noranlib: $(common-objpfx)sysd-versions +lib-noranlib: lib-mapfiles endif include Makerules @@ -318,10 +318,22 @@ remove-old-headers: # Generate version maps. ifeq ($(versioning),yes) -$(common-objpfx)sysd-versions: versions.awk \ - $(wildcard $(all-subdirs:%=%/Versions)) \ - $(wildcard $(+sysdep_dirs:%=%/Versions)) +ifndef avoid-generated +$(common-objpfx)sysd-versions: Versions.def + (echo define vers-libs; \ + sed -n 's/\(lib[a-zA-Z0-9_][a-zA-Z0-9_]*\) {/$$(common-objpfx)\1%map/p' $<; \ + echo endef) > $@T + mv -f $@T $@ +-include $(common-objpfx)sysd-versions +vers-libs := $(subst $(\n), ,$(vers-libs)) + +$(vers-libs): versions.awk \ + $(wildcard $(subdirs:%=%/Versions)) \ + $(wildcard $(+sysdep_dirs:%=%/Versions)) $(AWK) -v 'buildroot=$(common-objpfx)' -f $^ - rm -f $@ - echo > $@ + +lib-mapfiles: $(common-objpfx)sysd-versions $(subst %,.,$(vers-libs)) +else +lib-mapfiles: +endif endif |