summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--Makerules4
-rw-r--r--extra-lib.mk12
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)