about summary refs log tree commit diff
path: root/iconvdata/extra-module.mk
diff options
context:
space:
mode:
Diffstat (limited to 'iconvdata/extra-module.mk')
-rw-r--r--iconvdata/extra-module.mk16
1 files changed, 16 insertions, 0 deletions
diff --git a/iconvdata/extra-module.mk b/iconvdata/extra-module.mk
new file mode 100644
index 0000000000..88c68041a8
--- /dev/null
+++ b/iconvdata/extra-module.mk
@@ -0,0 +1,16 @@
+mod := $(firstword $(extra-modules-left))
+extra-modules-left := $(strip $(filter-out $(mod),$(extra-modules-left)))
+
+extra-objs += $(patsubst %,%.os,$($(mod)-routines))
+
+$(objpfx)$(mod).so: $(addprefix $(objpfx),$(addsuffix .os,$($(mod)-routines)))
+	$(build-module)
+
+# Depend on libc.so so a DT_NEEDED is generated in the shared objects.
+# This ensures they will load libc.so for needed symbols if loaded by
+# a statically-linked program that hasn't already loaded it.
+$(objpfx)$(mod).so: $(common-objpfx)libc.so
+
+ifneq (,$(extra-modules-left))
+include extra-module.mk
+endif