Use make macro for module installation.
authorJelmer Vernooij <jelmer@samba.org>
Fri, 7 Mar 2008 22:59:34 +0000 (23:59 +0100)
committerJelmer Vernooij <jelmer@samba.org>
Fri, 7 Mar 2008 22:59:34 +0000 (23:59 +0100)
(This used to be commit 45d252fd9b3df4f1221a23cece78b673a55dfc7c)

source4/build/make/rules.mk
source4/build/smb_build/makefile.pm

index bce30ffc061ab29afad32d5eb93a46044efc8b14..6bb9247df8c71b5ff8aecf559c62a957ba033b4e 100644 (file)
@@ -152,6 +152,17 @@ installplugins::
 
 endef
 
+define shared_module_install_template
+installplugins:: bin/modules/$(1)/$(2)
+       @echo Installing$(2) as $$(DESTDIR)$$(modulesdir)/$(1)/$(2)
+       @mkdir -p $$(DESTDIR)$$(modulesdir)/$(1)/
+       @cp bin/modules/$(1)/$(2) $$(DESTDIR)$$(modulesdir)/$(1)/$(2)
+uninstallplugins::
+       @echo Uninstalling $$(DESTDIR)$$(modulesdir)/$(1)/$(2)
+       @-rm $$(DESTDIR)$$(modulesdir)/$(1)/$(2)
+
+endef
+
 ###############################################################################
 # File types
 ###############################################################################
index bff307d7758aff795c638e957ce1d63cf32ed1e8..6d879ff02b188f0a1e4ba6488fd92233a7f40f54 100644 (file)
@@ -122,13 +122,7 @@ sub SharedModule($$)
        $sane_subsystem =~ s/^lib//;
        
        $self->output("PLUGINS += $ctx->{SHAREDDIR}/$ctx->{LIBRARY_REALNAME}\n");
-       $self->output("installplugins:: $ctx->{SHAREDDIR}/$ctx->{LIBRARY_REALNAME}\n");
-       $self->output("\t\@echo Installing $ctx->{SHAREDDIR}/$ctx->{LIBRARY_REALNAME} as \$(DESTDIR)\$(modulesdir)/$sane_subsystem/$ctx->{LIBRARY_REALNAME}\n");
-       $self->output("\t\@mkdir -p \$(DESTDIR)\$(modulesdir)/$sane_subsystem/\n");
-       $self->output("\t\@cp $ctx->{SHAREDDIR}/$ctx->{LIBRARY_REALNAME} \$(DESTDIR)\$(modulesdir)/$sane_subsystem/$ctx->{LIBRARY_REALNAME}\n");
-       $self->output("uninstallplugins::\n");
-       $self->output("\t\@echo Uninstalling \$(DESTDIR)\$(modulesdir)/$sane_subsystem/$ctx->{LIBRARY_REALNAME}\n");
-       $self->output("\t\@-rm \$(DESTDIR)\$(modulesdir)/$sane_subsystem/$ctx->{LIBRARY_REALNAME}\n");
+       $self->output("\$(eval \$(call shared_module_install_template,$sane_subsystem, $ctx->{LIBRARY_REALNAME}))\n");
 
        $self->output("$ctx->{NAME}_OUTPUT = $ctx->{OUTPUT}\n");
        $self->_prepare_list($ctx, "FULL_OBJ_LIST");