summaryrefslogtreecommitdiff
path: root/source4/build/smb_build/makefile.pl
diff options
context:
space:
mode:
Diffstat (limited to 'source4/build/smb_build/makefile.pl')
-rw-r--r--source4/build/smb_build/makefile.pl19
1 files changed, 16 insertions, 3 deletions
diff --git a/source4/build/smb_build/makefile.pl b/source4/build/smb_build/makefile.pl
index 3f79b50825..daaeb06c8e 100644
--- a/source4/build/smb_build/makefile.pl
+++ b/source4/build/smb_build/makefile.pl
@@ -540,13 +540,26 @@ binary_$ctx->{BINARY}: basics bin/$ctx->{BINARY}
# $proto_ctx->{OBJ_LIST} - the list of objectfiles which sould be scanned by make proto
#
# $output - the resulting output buffer
-sub _prepare_proto_obj_list($)
+sub _prepare_proto_obj_list($$)
{
my $ctx = shift;
+ my $noproto = shift;
my $tmplist;
my $output;
+ my %proto_obj;
+ use Data::Dumper;
- $tmplist = array2oneperline($ctx->{OBJ_LIST});
+ foreach my $str (@{$ctx->{OBJ_LIST}}) {
+ $proto_obj{$str} = 1;
+ }
+ foreach my $str (keys %{$noproto}) {
+ if ($noproto->{$str}) {
+ delete $proto_obj{"\$(SUBSYSTEM_$str\_OBJS)"};
+ }
+ }
+
+ my @proto_list = (keys %proto_obj);
+ $tmplist = array2oneperline(\@proto_list);
$output = "
###################################
@@ -656,7 +669,7 @@ sub _prepare_obj_lists($)
$output .= _prepare_binary_obj_list(\%{$CTX->{OUTPUT}{BINARIES}{$key}});
}
- $output .= _prepare_proto_obj_list(\%{$CTX->{OUTPUT}{PROTO}});
+ $output .= _prepare_proto_obj_list(\%{$CTX->{OUTPUT}{PROTO}}, \%{$CTX->{INPUT}{SUBSYSTEMS}{NOPROTO}});
return $output;
}