summaryrefslogtreecommitdiff
path: root/source4/build/make/rules.mk
diff options
context:
space:
mode:
Diffstat (limited to 'source4/build/make/rules.mk')
-rw-r--r--source4/build/make/rules.mk18
1 files changed, 18 insertions, 0 deletions
diff --git a/source4/build/make/rules.mk b/source4/build/make/rules.mk
index d7482fe45c..3c195e2903 100644
--- a/source4/build/make/rules.mk
+++ b/source4/build/make/rules.mk
@@ -136,6 +136,24 @@ $(1): $(2) ;
endef
+# Shared library
+# Arguments: Target, dependencies, link flags, soname
+define shared_library_template
+$(1): $(2)
+ @echo Linking $$@
+ @mkdir -p $$(@D)
+ @$$(SHLD) $$(LDFLAGS) $$(SHLD_FLAGS) $$(INTERN_LDFLAGS) -o $$@ $$(INSTALL_LINK_FLAGS) \
+ $(3) \
+ $$(if $$(SONAMEFLAG), $$(SONAMEFLAG)$(4))
+
+ifneq ($(notdir $(1)), $(notdir $(4)))
+$(4): $(1)
+ @echo "Creating symbolic link for $(4)"
+ @ln -fs $(notdir $(4)) $(1)
+endif
+
+endef
+
# Shared alias
# Arguments: Target, subsystem name, alias name
define shared_module_alias_template