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.
# $(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),\
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
$(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)