diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | Makerules | 4 | ||||
-rw-r--r-- | extra-lib.mk | 12 |
3 files changed, 17 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog index 9b3e48abcf..4b5fb9bcdc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,12 @@ Sat Apr 1 00:08:06 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + * Makerules (lib%.so: lib%_pic.a): Pass -L options for subdir and + parent objdirs. + + * extra-lib.mk (object-suffixes-$(lib)): New variable, produced by + filtering out $($(lib)-inhibit-o); use that instead of + $(object-suffixes) in all the other variables. + * locale/loadlocale.c (_nl_load_locale) [MAP_FILE]: Define it zero if undefined. diff --git a/Makerules b/Makerules index 2b4af3e417..f3fdb37c2f 100644 --- a/Makerules +++ b/Makerules @@ -341,7 +341,9 @@ ifeq (yes,$(build-shared)) # $(LDLIBS-%.so) may contain -l switches to generate run-time dependencies # on other shared objects. lib%.so: lib%_pic.a - $(LINK.o) -shared -o $@ -Wl,--whole-archive $< $(LDLIBS-$*.so) + $(LINK.o) -shared -o $@ -Wl,--whole-archive $< \ + -L$(firstword $(objdir) .) -L$(common-objpfx:%/=%) \ + $(LDLIBS-$*.so) endif libobjs: $(foreach o,$(object-suffixes),\ diff --git a/extra-lib.mk b/extra-lib.mk index 353b576872..436170e0d0 100644 --- a/extra-lib.mk +++ b/extra-lib.mk @@ -8,13 +8,15 @@ lib := $(firstword $(extra-libs-left)) extra-libs-left := $(filter-out $(lib),$(extra-libs-left)) +object-suffixes-$(lib) := $(filter-out $($(lib)-inhibit-o),$(object-suffixes)) + # Add each flavor of library to the lists of things to build and install. -install-lib += $(foreach o,$(object-suffixes),$(lib:lib%=$(libtype$o))) -extra-objs += $(foreach o,$(object-suffixes),$($(lib)-routines:=$o)) -alltypes-$(lib) = $(foreach o,$(object-suffixes),\ +install-lib += $(foreach o,$(object-suffixes-$(lib)),$(lib:lib%=$(libtype$o))) +extra-objs += $(foreach o,$(object-suffixes-$(lib)),$($(lib)-routines:=$o)) +alltypes-$(lib) = $(foreach o,$(object-suffixes-$(lib)),\ $(objpfx)$(patsubst %,$(libtype$o),\ $(lib:lib%=%))) -ifeq (yes,$(build-shared)) +ifneq (,$(filter .so,$(object-suffixes-$(lib)))) alltypes-$(lib) += $(objpfx)$(lib).so endif @@ -25,5 +27,5 @@ define o-iterator-doit $(objpfx)$(patsubst %,$(libtype$o),$(lib:lib%=%)): \ $($(lib)-routines:%=$(objpfx)%$o); $$(build-extra-lib) endef -object-suffixes-left := $(filter-out $($(lib)-inhibit-o),$(object-suffixes)) +object-suffixes-left = $(object-suffixes-$(lib)) include $(o-iterator) |