1 # Templates file for Samba 4
2 # This relies on GNU make.
4 # © 2008 Jelmer Vernooij <jelmer@samba.org>
6 ###############################################################################
8 ###############################################################################
11 # Arguments: target object file, source object files
12 define partial_link_template
14 @echo Partially linking $$@
16 $$(PARTLINK) -o $$@ $$^
20 # Arguments: target file, depends, flags
21 define binary_link_template
24 @$$(BNLD) $$(BNLD_FLAGS) $$(INTERN_LDFLAGS) -o $$@ $$(INSTALL_LINK_FLAGS) $(3)
27 # Link a host-machine binary
28 # Arguments: target file, depends, flags
29 define host_binary_link_template
32 @$$(HOSTLD) $$(HOSTLD_FLAGS) -L$${builddir}/bin/static -o $$@ $$(INSTALL_LINK_FLAGS) $(3)
35 # Create a prototype header
36 # Arguments: header file, c files
37 define proto_header_template
46 @$$(PERL) $$(srcdir)/script/mkproto.pl --srcdir=$$(srcdir) --builddir=$$(builddir) --public=/dev/null --private=$$@ $$^
51 # Arguments: Target, dependencies, objects
52 define shared_module_template
57 @$$(MDLD) $$(LDFLAGS) $$(MDLD_FLAGS) $$(INTERN_LDFLAGS) -o $$@ $$(INSTALL_LINK_FLAGS) $(3)
62 # Arguments: Target, dependencies, link flags, soname
63 define shared_library_template
67 @$$(SHLD) $$(LDFLAGS) $$(SHLD_FLAGS) $$(INTERN_LDFLAGS) -o $$@ $$(INSTALL_LINK_FLAGS) \
69 $$(if $$(SONAMEFLAG), $$(SONAMEFLAG)$(notdir $(4)))
71 ifneq ($(notdir $(1)),$(notdir $(4)))
73 @echo "Creating symbolic link for $$@"
77 ifneq ($(notdir $(1)),$(notdir $(5)))
79 @echo "Creating symbolic link for $$@"
85 # Arguments: Target, subsystem name, alias name
86 define shared_module_alias_template
87 bin/modules/$(2)/$(3).$$(SHLIBEXT): $(1)
90 PLUGINS += bin/modules/$(2)/$(3).$$(SHLIBEXT)
93 @-rm $$(DESTDIR)$$(modulesdir)/$(2)/$(3).$$(SHLIBEXT)
95 @ln -fs $(notdir $(1)) $$(DESTDIR)$$(modulesdir)/$(2)/$(3).$$(SHLIBEXT)
99 define shared_module_install_template
100 installplugins:: bin/modules/$(1)/$(2)
101 @echo Installing $(2) as $$(DESTDIR)$$(modulesdir)/$(1)/$(2)
102 @mkdir -p $$(DESTDIR)$$(modulesdir)/$(1)/
103 @cp bin/modules/$(1)/$(2) $$(DESTDIR)$$(modulesdir)/$(1)/$(2)
105 @echo Uninstalling $$(DESTDIR)$$(modulesdir)/$(1)/$(2)
106 @-rm $$(DESTDIR)$$(modulesdir)/$(1)/$(2)