diff options
Diffstat (limited to 'source4/build/smb_build/makefile.pl')
-rw-r--r-- | source4/build/smb_build/makefile.pl | 19 |
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; } |