about summary refs log tree commit diff
path: root/extra-lib.mk
diff options
context:
space:
mode:
Diffstat (limited to 'extra-lib.mk')
-rw-r--r--extra-lib.mk7
1 files changed, 6 insertions, 1 deletions
diff --git a/extra-lib.mk b/extra-lib.mk
index a2293c5c6e..247946f6aa 100644
--- a/extra-lib.mk
+++ b/extra-lib.mk
@@ -34,7 +34,12 @@ extra-objs += $(foreach o,$(filter-out .os .oS,$(object-suffixes-$(lib))),\
 					   $($(lib)-shared-only-routines),\
 					   $(all-$(lib)-routines))))
 ifneq (,$(filter .os,$(object-suffixes-$(lib))))
-extra-objs += $(all-$(lib)-routines:%=%.os)
+extra-objs += $(patsubst %,%.os,$(filter-out $($(lib)-static-only-routines),\
+					     $(all-$(lib)-routines)))
+endif
+ifneq (,$(filter .oS,$(object-suffixes-$(lib))))
+extra-objs += $(patsubst %,%.oS,$(filter $($(lib)-static-only-routines),\
+					 $(all-$(lib)-routines)))
 endif
 alltypes-$(lib) := $(foreach o,$(object-suffixes-$(lib)),\
 			     $(objpfx)$(patsubst %,$(libtype$o),\