aboutsummaryrefslogtreecommitdiff
path: root/Makerules
diff options
context:
space:
mode:
Diffstat (limited to 'Makerules')
-rw-r--r--Makerules12
1 files changed, 12 insertions, 0 deletions
diff --git a/Makerules b/Makerules
index 6bc796193f..cf0a6a5bfc 100644
--- a/Makerules
+++ b/Makerules
@@ -369,6 +369,18 @@ $(LINK.o) -shared -Wl,-O1 -o $@ $(sysdep-LDFLAGS) $(config-LDFLAGS) \
$(no-whole-archive) $(LDLIBS-$(@F:lib%.so=%).so)
endef
+# This macro is similar to build-shlib but it does not define a soname
+# and it does not depend on the destination name to start with `lib'.
+define build-module
+$(LINK.o) -shared -o $@ $(sysdep-LDFLAGS) $(config-LDFLAGS) \
+ -B$(csu-objpfx) $(load-map-file) \
+ $(LDFLAGS.so) $(LDFLAGS-$(@F:%.so=%).so) \
+ -L$(subst :, -L,$(rpath-link)) -Wl,-rpath-link=$(rpath-link) \
+ -Wl,--whole-archive \
+ $(filter-out $(map-file) $(+preinit) $(+postinit),$^) \
+ $(no-whole-archive) $(LDLIBS-$(@F:%.so=%).so)
+endef
+
ifndef libc.so-version
# Undefine this because it can't work when we libc.so is unversioned.
static-only-routines =