summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2005-08-03 00:08:28 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:31:00 -0500
commit9f611ffddeced5661b81fbe6264502a0d59f187b (patch)
tree4ae28ccaa873c0c9f1d15e95e059ad4cbb931085
parent7fe83f23b8184975c6179b6ea54db912972adf5f (diff)
downloadsamba-9f611ffddeced5661b81fbe6264502a0d59f187b.tar.gz
samba-9f611ffddeced5661b81fbe6264502a0d59f187b.tar.bz2
samba-9f611ffddeced5661b81fbe6264502a0d59f187b.zip
r8966: Simplify the makefile generation system a bit.
Autogenerate list of binaries (rather then having them hardcoded in build/smb_build/makefile.pm) Add INSTALLDIR keyword to .mk files (This used to be commit ce0935112b846486cf705ec69f12350be9c4c89d)
-rw-r--r--source4/build/m4/check_ld.m41
-rw-r--r--source4/build/smb_build/config_mk.pm1
-rw-r--r--source4/build/smb_build/makefile.pm162
-rw-r--r--source4/client/config.mk1
-rw-r--r--source4/gtk/config.mk4
-rw-r--r--source4/lib/ldb/config.mk7
-rw-r--r--source4/lib/registry/config.mk4
-rw-r--r--source4/lib/tdb/config.mk4
-rw-r--r--source4/scripting/ejs/config.mk1
-rw-r--r--source4/smbd/config.mk1
-rw-r--r--source4/torture/config.mk4
-rw-r--r--source4/utils/config.mk6
-rw-r--r--source4/utils/net/config.mk1
13 files changed, 87 insertions, 110 deletions
diff --git a/source4/build/m4/check_ld.m4 b/source4/build/m4/check_ld.m4
index 79a8432d11..3840459894 100644
--- a/source4/build/m4/check_ld.m4
+++ b/source4/build/m4/check_ld.m4
@@ -7,3 +7,4 @@ dnl
dnl Check if we use GNU ld
AC_PATH_PROG(LD, ld)
AC_PROG_LD_GNU
+AC_PATH_PROG(AR, ar)
diff --git a/source4/build/smb_build/config_mk.pm b/source4/build/smb_build/config_mk.pm
index d26d85f5b9..517bca08ec 100644
--- a/source4/build/smb_build/config_mk.pm
+++ b/source4/build/smb_build/config_mk.pm
@@ -22,6 +22,7 @@ my %attribute_types = (
"CFLAGS" => "list",
"CPPFLAGS" => "list",
"LDFLAGS" => "list",
+ "INSTALLDIR" => "string",
"LIBS" => "list",
"INIT_FUNCTION" => "string",
"MAJOR_VERSION" => "string",
diff --git a/source4/build/smb_build/makefile.pm b/source4/build/smb_build/makefile.pm
index 1ccdb3239d..3084f0bf1a 100644
--- a/source4/build/smb_build/makefile.pm
+++ b/source4/build/smb_build/makefile.pm
@@ -10,17 +10,6 @@ package makefile;
use config qw(%config);
use strict;
-sub _prepare_command_interpreters($)
-{
- my $ctx = shift;
-
- return << '__EOD__';
-SHELL=/bin/sh
-PERL=@PERL@
-
-__EOD__
-}
-
sub _prepare_path_vars($)
{
my $ctx = shift;
@@ -81,23 +70,25 @@ sub _prepare_compiler_linker($)
{
my $ctx = shift;
- return << '__EOD__';
-CC=@CC@
-CFLAGS=-Iinclude -I. -I$(srcdir)/include -I$(srcdir) -D_SAMBA_BUILD_ -DHAVE_CONFIG_H -Ilib @CFLAGS@ @CPPFLAGS@
+ return << "__EOD__";
+SHELL=$config{SHELL}
+PERL=$config{PERL}
+CC=$config{CC}
+CFLAGS=-Iinclude -I. -I\$(srcdir)/include -I\$(srcdir) -D_SAMBA_BUILD_ -DHAVE_CONFIG_H -Ilib $config{CFLAGS} $config{CPPFLAGS}
-LD=@LD@
-LD_FLAGS=@LDFLAGS@ @CFLAGS@ -Lbin
+LD=$config{LD}
+LD_FLAGS=$config{LDFLAGS} $config{CFLAGS} -Lbin
-STLD=ar
+STLD=$config{AR}
STLD_FLAGS=-rc
-SHLD=@CC@
-SHLD_FLAGS=@LDSHFLAGS@ @LDFLAGS@ -Lbin
+SHLD=$config{CC}
+SHLD_FLAGS=$config{LDSHFLAGS} $config{LDFLAGS} -Lbin
-XSLTPROC=@XSLTPROC@
+XSLTPROC=$config{XSLTPROC}
-LEX=@LEX@
-YACC=@YACC@
+LEX=$config{LEX}
+YACC=$config{YACC}
__EOD__
}
@@ -135,10 +126,10 @@ sub _prepare_IDL($)
return << '__EOD__';
idl_full: build/pidl/Parse/Pidl/IDL.pm
- CPP="@CPP@" PERL="$(PERL)" script/build_idl.sh FULL @PIDL_ARGS@
+ CPP="$(CPP)" PERL="$(PERL)" script/build_idl.sh FULL @PIDL_ARGS@
idl: build/pidl/Parse/Pidl/IDL.pm
- @CPP="@CPP@" PERL="$(PERL)" script/build_idl.sh PARTIAL @PIDL_ARGS@
+ @CPP="$(CPP)" PERL="$(PERL)" script/build_idl.sh PARTIAL @PIDL_ARGS@
build/pidl/Parse/Pidl/IDL.pm: build/pidl/idl.yp
-yapp -s -m 'Parse::Pidl::IDL' -o build/pidl/Parse/Pidl/IDL.pm build/pidl/idl.yp
@@ -186,6 +177,32 @@ sub _prepare_man_rule($)
__EOD__
}
+sub _prepare_binaries($)
+{
+ my $ctx = shift;
+
+ my @bbn_list = ();
+ my @sbn_list = ();
+
+ foreach (values %$ctx) {
+ next unless defined $_->{OUTPUT_TYPE};
+ next unless ($_->{OUTPUT_TYPE} eq "BINARY");
+
+ push (@sbn_list, $_->{OUTPUT}) if ($_->{INSTALLDIR} eq "SBINDIR");
+ push(@bbn_list, $_->{OUTPUT}) if ($_->{INSTALLDIR} eq "BINDIR");
+ }
+
+ my $bbn = join(' ', @bbn_list);
+ my $sbn = join(' ', @sbn_list);
+ return << "__EOD__";
+BIN_PROGS = $bbn
+SBIN_PROGS = $sbn
+
+binaries: \$(BIN_PROGS) \$(SBIN_PROGS)
+
+__EOD__
+}
+
sub _prepare_manpages($)
{
my $ctx = shift;
@@ -282,11 +299,7 @@ __EOD__
# $output - the resulting output buffer
sub _prepare_std_CC_rule($$$$$)
{
- my $src = shift;
- my $dst = shift;
- my $flags = shift;
- my $message = shift;
- my $comment = shift;
+ my ($src,$dst,$flags,$message,$comment) = @_;
my $flagsstr = "";
my $output;
@@ -319,7 +332,6 @@ sub array2oneperline($)
sub array2oneline($)
{
my $array = shift;
- my $i;
my $output = "";
foreach (@{$array}) {
@@ -389,17 +401,11 @@ __EOD__
sub _prepare_shared_library_rule($)
{
my $ctx = shift;
- my $tmpdepend;
- my $tmpstlink;
- my $tmpstflag;
- my $tmpshlink;
- my $tmpshflag;
- my $tmprules;
my $output;
- $tmpdepend = array2oneperline($ctx->{DEPEND_LIST});
- $tmpshlink = array2oneperline($ctx->{LINK_LIST});
- $tmpshflag = array2oneperline($ctx->{LINK_FLAGS});
+ my $tmpdepend = array2oneperline($ctx->{DEPEND_LIST});
+ my $tmpshlink = array2oneperline($ctx->{LINK_LIST});
+ my $tmpshflag = array2oneperline($ctx->{LINK_FLAGS});
$output = << "__EOD__";
LIBRARY_$ctx->{NAME}_DEPEND_LIST =$tmpdepend
@@ -495,17 +501,11 @@ sub _prepare_objlist_rule($)
sub _prepare_static_library_rule($)
{
my $ctx = shift;
- my $tmpdepend;
- my $tmpstlink;
- my $tmpstflag;
- my $tmpshlink;
- my $tmpshflag;
- my $tmprules;
my $output;
- $tmpdepend = array2oneperline($ctx->{DEPEND_LIST});
- $tmpstlink = array2oneperline($ctx->{LINK_LIST});
- $tmpstflag = array2oneperline($ctx->{LINK_FLAGS});
+ my $tmpdepend = array2oneperline($ctx->{DEPEND_LIST});
+ my $tmpstlink = array2oneperline($ctx->{LINK_LIST});
+ my $tmpstflag = array2oneperline($ctx->{LINK_FLAGS});
$output = << "__EOD__";
LIBRARY_$ctx->{NAME}_DEPEND_LIST =$tmpdepend
@@ -715,36 +715,7 @@ showflags:
@echo " STLD_FLAGS = $(STLD_FLAGS)"
@echo " SHLD_FLAGS = $(SHLD_FLAGS)"
-SBIN_PROGS = bin/smbd
-
-BIN_PROGS = bin/smbclient \
- bin/net \
- bin/nmblookup \
- bin/smbscript \
- bin/ntlm_auth
-
-TORTURE_PROGS = bin/smbtorture \
- bin/gentest \
- bin/locktest \
- bin/masktest \
- bin/ndrdump
-
-LDB_PROGS = bin/ldbadd \
- bin/ldbdel \
- bin/ldbmodify \
- bin/ldbedit \
- bin/ldbsearch
-
-REG_PROGS = bin/regpatch \
- bin/regshell \
- bin/regtree \
- bin/regdiff
-
-GTK_PROGS = bin/gregedit \
- bin/gwsam \
- bin/gepdump
-
-install: showlayout installbin installtorture installldb installreg installdat installswat installmisc installgtk
+install: showlayout installbin installdat installswat
# DESTDIR is used here to prevent packagers wasting their time
# duplicating the Makefile. Remove it and you will have the privilege
@@ -761,46 +732,20 @@ installbin: all installdirs
@$(SHELL) $(srcdir)/script/installbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(SBINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(SBIN_PROGS)
@$(SHELL) $(srcdir)/script/installbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(BIN_PROGS)
-installtorture: all installdirs
- @$(SHELL) $(srcdir)/script/installbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(TORTURE_PROGS)
-
-installldb: all installdirs
- @$(SHELL) $(srcdir)/script/installbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(LDB_PROGS)
-
-installreg: all installdirs
- @$(SHELL) $(srcdir)/script/installbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(REG_PROGS)
-
-installgtk: all installdirs
- @$(SHELL) $(srcdir)/script/installbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(GTK_PROGS)
-
installdat: installdirs
@$(SHELL) $(srcdir)/script/installdat.sh $(DESTDIR)$(LIBDIR) $(srcdir)
installswat: installdirs
@$(SHELL) $(srcdir)/script/installswat.sh $(DESTDIR)$(SWATDIR) $(srcdir) $(DESTDIR)$(LIBDIR)
-installmisc: installdirs
- @$(SHELL) $(srcdir)/script/installmisc.sh $(srcdir) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(BINDIR)
-
installman: installdirs
@$(SHELL) $(srcdir)/script/installman.sh $(DESTDIR)$(MANDIR) $(MANPAGES)
-uninstall: uninstallbin uninstalltorture uninstallldb uninstallreg uninstallgtk
+uninstall: uninstallbin uninstallman
uninstallbin:
@$(SHELL) $(srcdir)/script/uninstallbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(SBINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(DESTDIR)$(SBIN_PROGS)
-
-uninstalltorture:
- @$(SHELL) $(srcdir)/script/uninstallbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(DESTDIR)$(TORTURE_PROGS)
-
-uninstallldb:
- @$(SHELL) $(srcdir)/script/uninstallbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(DESTDIR)$(LDB_PROGS)
-
-uninstallreg:
- @$(SHELL) $(srcdir)/script/uninstallbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(DESTDIR)$(REG_PROGS)
-
-uninstallgtk:
- @$(SHELL) $(srcdir)/script/uninstallbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(DESTDIR)$(GTK_PROGS)
+ @$(SHELL) $(srcdir)/script/uninstallbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(DESTDIR)$(BIN_PROGS)
uninstallman:
@$(SHELL) $(srcdir)/script/uninstallman.sh $(DESTDIR)$(MANDIR) $(MANPAGES)
@@ -884,9 +829,6 @@ sub _prepare_makefile_in($)
$output .= "########################################\n";
$output .= "\n";
- my $cmd_ctx;
- $output .= _prepare_command_interpreters($cmd_ctx);
-
my $path_ctx;
$output .= _prepare_path_vars($path_ctx);
@@ -913,6 +855,7 @@ sub _prepare_makefile_in($)
$output .= _prepare_man_rule("5");
$output .= _prepare_man_rule("7");
$output .= _prepare_manpages($CTX);
+ $output .= _prepare_binaries($CTX);
$output .= _prepare_target_settings($CTX);
$output .= _prepare_rule_lists($CTX);
@@ -959,4 +902,3 @@ sub create_makefile_in($$)
}
1;
-
diff --git a/source4/client/config.mk b/source4/client/config.mk
index a4abdcbaa6..1a500593ed 100644
--- a/source4/client/config.mk
+++ b/source4/client/config.mk
@@ -3,6 +3,7 @@
#################################
# Start BINARY smbclient
[BINARY::smbclient]
+INSTALLDIR = BINDIR
OBJ_FILES = \
client/client.o
REQUIRED_SUBSYSTEMS = \
diff --git a/source4/gtk/config.mk b/source4/gtk/config.mk
index e895269c15..3b04442da8 100644
--- a/source4/gtk/config.mk
+++ b/source4/gtk/config.mk
@@ -15,6 +15,7 @@ REQUIRED_SUBSYSTEMS = CHARSET LIBBASIC EXT_LIB_gtk RPC_NDR_SAMR
################################################
# Start BINARY gregedit
[BINARY::gregedit]
+INSTALLDIR = BINDIR
OBJ_FILES = gtk/tools/gregedit.o
REQUIRED_SUBSYSTEMS = CONFIG LIBCMDLINE REGISTRY GTKSMB
MANPAGE = gtk/man/gregedit.1
@@ -24,6 +25,7 @@ MANPAGE = gtk/man/gregedit.1
################################################
# Start BINARY gepdump
[BINARY::gepdump]
+INSTALLDIR = BINDIR
OBJ_FILES = gtk/tools/gepdump.o
REQUIRED_SUBSYSTEMS = CONFIG LIBCMDLINE GTKSMB RPC_NDR_EPMAPPER RPC_NDR_MGMT
# End BINARY gepdump
@@ -32,6 +34,7 @@ REQUIRED_SUBSYSTEMS = CONFIG LIBCMDLINE GTKSMB RPC_NDR_EPMAPPER RPC_NDR_MGMT
################################################
# Start BINARY gwcrontab
[BINARY::gwcrontab]
+INSTALLDIR = BINDIR
OBJ_FILES = gtk/tools/gwcrontab.o
REQUIRED_SUBSYSTEMS = CONFIG LIBCMDLINE GTKSMB RPC_NDR_ATSVC
# End BINARY gwcrontab
@@ -40,6 +43,7 @@ REQUIRED_SUBSYSTEMS = CONFIG LIBCMDLINE GTKSMB RPC_NDR_ATSVC
################################################
# Start BINARY gwsam
[BINARY::gwsam]
+INSTALLDIR = BINDIR
OBJ_FILES = gtk/tools/gwsam.o gtk/tools/gwsam_user.o
REQUIRED_SUBSYSTEMS = CONFIG LIBCMDLINE RPC_NDR_SAMR GTKSMB
# End BINARY gwsam
diff --git a/source4/lib/ldb/config.mk b/source4/lib/ldb/config.mk
index 87e15f1375..f2c10638b0 100644
--- a/source4/lib/ldb/config.mk
+++ b/source4/lib/ldb/config.mk
@@ -123,6 +123,7 @@ REQUIRED_SUBSYSTEMS = LIBLDB LIBCMDLINE LIBBASIC
################################################
# Start BINARY ldbadd
[BINARY::ldbadd]
+INSTALLDIR = BINDIR
OBJ_FILES = \
lib/ldb/tools/ldbadd.o
REQUIRED_SUBSYSTEMS = \
@@ -134,6 +135,7 @@ MANPAGE = lib/ldb/man/ldbadd.1
################################################
# Start BINARY ldbdel
[BINARY::ldbdel]
+INSTALLDIR = BINDIR
OBJ_FILES= \
lib/ldb/tools/ldbdel.o
REQUIRED_SUBSYSTEMS = \
@@ -145,6 +147,7 @@ MANPAGE = lib/ldb/man/ldbdel.1
################################################
# Start BINARY ldbmodify
[BINARY::ldbmodify]
+INSTALLDIR = BINDIR
OBJ_FILES= \
lib/ldb/tools/ldbmodify.o
REQUIRED_SUBSYSTEMS = \
@@ -156,6 +159,7 @@ MANPAGE = lib/ldb/man/ldbmodify.1
################################################
# Start BINARY ldbsearch
[BINARY::ldbsearch]
+INSTALLDIR = BINDIR
OBJ_FILES= \
lib/ldb/tools/ldbsearch.o
REQUIRED_SUBSYSTEMS = \
@@ -167,6 +171,7 @@ MANPAGE = lib/ldb/man/ldbsearch.1
################################################
# Start BINARY ldbedit
[BINARY::ldbedit]
+INSTALLDIR = BINDIR
OBJ_FILES= \
lib/ldb/tools/ldbedit.o
REQUIRED_SUBSYSTEMS = \
@@ -178,6 +183,7 @@ MANPAGE = lib/ldb/man/ldbedit.1
################################################
# Start BINARY ldbrename
[BINARY::ldbrename]
+INSTALLDIR = BINDIR
OBJ_FILES= \
lib/ldb/tools/ldbrename.o
REQUIRED_SUBSYSTEMS = \
@@ -189,6 +195,7 @@ MANPAGE = lib/ldb/man/ldbrename.1
################################################
# Start BINARY ldbtest
[BINARY::ldbtest]
+INSTALLDIR = BINDIR
OBJ_FILES= \
lib/ldb/tools/ldbtest.o
REQUIRED_SUBSYSTEMS = \
diff --git a/source4/lib/registry/config.mk b/source4/lib/registry/config.mk
index ab699a8ac0..c533e17ea9 100644
--- a/source4/lib/registry/config.mk
+++ b/source4/lib/registry/config.mk
@@ -94,6 +94,7 @@ REQUIRED_SUBSYSTEMS = \
################################################
# Start BINARY regdiff
[BINARY::regdiff]
+INSTALLDIR = BINDIR
OBJ_FILES= \
lib/registry/tools/regdiff.o
REQUIRED_SUBSYSTEMS = \
@@ -105,6 +106,7 @@ MANPAGE = lib/registry/man/regdiff.1
################################################
# Start BINARY regpatch
[BINARY::regpatch]
+INSTALLDIR = BINDIR
OBJ_FILES= \
lib/registry/tools/regpatch.o
REQUIRED_SUBSYSTEMS = \
@@ -116,6 +118,7 @@ MANPAGE = lib/registry/man/regpatch.1
################################################
# Start BINARY regshell
[BINARY::regshell]
+INSTALLDIR = BINDIR
OBJ_FILES= \
lib/registry/tools/regshell.o
REQUIRED_SUBSYSTEMS = \
@@ -127,6 +130,7 @@ MANPAGE = lib/registry/man/regshell.1
################################################
# Start BINARY regtree
[BINARY::regtree]
+INSTALLDIR = BINDIR
OBJ_FILES= \
lib/registry/tools/regtree.o
REQUIRED_SUBSYSTEMS = \
diff --git a/source4/lib/tdb/config.mk b/source4/lib/tdb/config.mk
index 221c5284f7..60c41f8bb2 100644
--- a/source4/lib/tdb/config.mk
+++ b/source4/lib/tdb/config.mk
@@ -28,6 +28,7 @@ REQUIRED_SUBSYSTEMS = \
################################################
# Start BINARY tdbtool
[BINARY::tdbtool]
+INSTALLDIR = BINDIR
ENABLE = NO
OBJ_FILES= \
lib/tdb/tools/tdbtool.o
@@ -39,6 +40,7 @@ REQUIRED_SUBSYSTEMS = \
################################################
# Start BINARY tdbtorture
[BINARY::tdbtorture]
+INSTALLDIR = BINDIR
OBJ_FILES= \
lib/tdb/tools/tdbtorture.o
REQUIRED_SUBSYSTEMS = \
@@ -49,6 +51,7 @@ REQUIRED_SUBSYSTEMS = \
################################################
# Start BINARY tdbdump
[BINARY::tdbdump]
+INSTALLDIR = BINDIR
OBJ_FILES= \
lib/tdb/tools/tdbdump.o
REQUIRED_SUBSYSTEMS = \
@@ -59,6 +62,7 @@ REQUIRED_SUBSYSTEMS = \
################################################
# Start BINARY tdbbackup
[BINARY::tdbbackup]
+INSTALLDIR = BINDIR
ENABLE = NO
OBJ_FILES= \
lib/tdb/tools/tdbbackup.o
diff --git a/source4/scripting/ejs/config.mk b/source4/scripting/ejs/config.mk
index 770bb67b86..8eced504ed 100644
--- a/source4/scripting/ejs/config.mk
+++ b/source4/scripting/ejs/config.mk
@@ -32,6 +32,7 @@ REQUIRED_SUBSYSTEMS = AUTH EJS LIBBASIC EJSRPC MESSAGING
#######################
# Start BINARY SMBSCRIPT
[BINARY::smbscript]
+INSTALLDIR = BINDIR
OBJ_FILES = \
scripting/ejs/smbscript.o
REQUIRED_SUBSYSTEMS = EJS LIBBASIC SMBCALLS CONFIG LIBSMB RPC LIBCMDLINE
diff --git a/source4/smbd/config.mk b/source4/smbd/config.mk
index 8fbbd2198a..37082485f5 100644
--- a/source4/smbd/config.mk
+++ b/source4/smbd/config.mk
@@ -95,6 +95,7 @@ REQUIRED_SUBSYSTEMS = \
#################################
# Start BINARY smbd
[BINARY::smbd]
+INSTALLDIR = SBINDIR
OBJ_FILES = \
smbd/server.o
REQUIRED_SUBSYSTEMS = \
diff --git a/source4/torture/config.mk b/source4/torture/config.mk
index 29613c38aa..c0ce3dacd3 100644
--- a/source4/torture/config.mk
+++ b/source4/torture/config.mk
@@ -209,6 +209,7 @@ REQUIRED_SUBSYSTEMS = \
#################################
# Start BINARY smbtorture
[BINARY::smbtorture]
+INSTALLDIR = BINDIR
OBJ_FILES = \
torture/torture.o \
torture/torture_util.o
@@ -234,6 +235,7 @@ MANPAGE = torture/man/smbtorture.1
#################################
# Start BINARY gentest
[BINARY::gentest]
+INSTALLDIR = BINDIR
OBJ_FILES = \
torture/gentest.o \
torture/torture_util.o
@@ -250,6 +252,7 @@ MANPAGE = torture/man/gentest.1
#################################
# Start BINARY masktest
[BINARY::masktest]
+INSTALLDIR = BINDIR
OBJ_FILES = \
torture/masktest.o
REQUIRED_SUBSYSTEMS = \
@@ -265,6 +268,7 @@ MANPAGE = torture/man/masktest.1
#################################
# Start BINARY locktest
[BINARY::locktest]
+INSTALLDIR = BINDIR
OBJ_FILES = \
torture/locktest.o \
torture/torture_util.o
diff --git a/source4/utils/config.mk b/source4/utils/config.mk
index 1af174e94e..c0a38076ae 100644
--- a/source4/utils/config.mk
+++ b/source4/utils/config.mk
@@ -3,6 +3,7 @@
#################################
# Start BINARY ndrdump
[BINARY::ndrdump]
+INSTALLDIR = BINDIR
OBJ_FILES = \
utils/ndrdump.o
REQUIRED_SUBSYSTEMS = \
@@ -19,6 +20,7 @@ MANPAGE = utils/man/ndrdump.1
#################################
# Start BINARY ntlm_auth
[BINARY::ntlm_auth]
+INSTALLDIR = BINDIR
OBJ_FILES = \
utils/ntlm_auth.o
REQUIRED_SUBSYSTEMS = \
@@ -34,6 +36,7 @@ MANPAGE = utils/man/ntlm_auth.1
#################################
# Start BINARY getntacl
[BINARY::getntacl]
+INSTALLDIR = BINDIR
OBJ_FILES = \
utils/getntacl.o
REQUIRED_SUBSYSTEMS = \
@@ -48,6 +51,7 @@ REQUIRED_SUBSYSTEMS = \
#################################
# Start BINARY setntacl
[BINARY::setntacl]
+INSTALLDIR = BINDIR
OBJ_FILES = \
utils/setntacl.o
REQUIRED_SUBSYSTEMS = \
@@ -61,6 +65,7 @@ REQUIRED_SUBSYSTEMS = \
#################################
# Start BINARY setnttoken
[BINARY::setnttoken]
+INSTALLDIR = BINDIR
OBJ_FILES = \
utils/setnttoken.o
REQUIRED_SUBSYSTEMS = \
@@ -76,6 +81,7 @@ REQUIRED_SUBSYSTEMS = \
#################################
# Start BINARY nmblookup
[BINARY::nmblookup]
+INSTALLDIR = BINDIR
OBJ_FILES = \
utils/nmblookup.o
REQUIRED_SUBSYSTEMS = \
diff --git a/source4/utils/net/config.mk b/source4/utils/net/config.mk
index f68cf68c8c..2f455d381f 100644
--- a/source4/utils/net/config.mk
+++ b/source4/utils/net/config.mk
@@ -3,6 +3,7 @@
#################################
# Start BINARY net
[BINARY::net]
+INSTALLDIR = BINDIR
OBJ_FILES = \
utils/net/net.o \
utils/net/net_password.o \