Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
[versioning=yes]: Build the mapfiles with a pattern rule that lists a…
…ll 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.
  • Loading branch information
Ulrich Drepper committed Jul 4, 1998
1 parent 220733f commit 6ef9f70
Showing 1 changed file with 18 additions and 6 deletions.
24 changes: 18 additions & 6 deletions Makefile
Expand Up @@ -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
Expand Down Expand Up @@ -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

0 comments on commit 6ef9f70

Please sign in to comment.