From: Ulrich Drepper Date: Sat, 4 Jul 1998 10:17:03 +0000 (+0000) Subject: [versioning=yes]: Build the mapfiles with a pattern rule that lists all of them as... X-Git-Tag: cvs/glibc-2_0_95~70 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6ef9f70bdbe3fdb7b16d7c9726e624700d774136;p=thirdparty%2Fglibc.git [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. --- diff --git a/Makefile b/Makefile index c36f1acf591..ea36637defb 100644 --- a/Makefile +++ b/Makefile @@ -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