mirror of
https://github.com/samba-team/samba.git
synced 2025-03-11 16:58:40 +03:00
r9549: Rerun ./config.status if one of the .mk files changes
This commit is contained in:
parent
01c4a970ec
commit
729b8bd783
@ -6,7 +6,7 @@
|
||||
### Released under the GNU GPL ###
|
||||
###########################################################
|
||||
|
||||
package config_mk;
|
||||
package smb_build::config_mk;
|
||||
use smb_build::input;
|
||||
|
||||
use strict;
|
||||
@ -33,6 +33,10 @@ my %attribute_types = (
|
||||
"MANPAGE" => "string"
|
||||
);
|
||||
|
||||
use vars qw(@parsed_files);
|
||||
|
||||
@parsed_files = ();
|
||||
|
||||
###########################################################
|
||||
# The parsing function which parses the file
|
||||
#
|
||||
@ -48,6 +52,8 @@ sub run_config_mk($$)
|
||||
my $infragment = 0;
|
||||
my $section = "GLOBAL";
|
||||
my $makefile = "";
|
||||
|
||||
push (@parsed_files, $filename);
|
||||
|
||||
open(CONFIG_MK, $filename) or die("Can't open `$filename'\n");
|
||||
my @lines = <CONFIG_MK>;
|
||||
|
@ -18,7 +18,7 @@ use strict;
|
||||
|
||||
my $INPUT = {};
|
||||
|
||||
my $mkfile = config_mk::run_config_mk($INPUT, "main.mk");
|
||||
my $mkfile = smb_build::config_mk::run_config_mk($INPUT, "main.mk");
|
||||
my $DEPEND = smb_build::input::check($INPUT, \%config::enabled);
|
||||
my $OUTPUT = output::create_output($DEPEND);
|
||||
makefile::create_makefile_in($OUTPUT, $mkfile, "Makefile.in");
|
||||
|
@ -123,6 +123,24 @@ sub _prepare_man_rule($)
|
||||
__EOD__
|
||||
}
|
||||
|
||||
sub _prepare_config_status()
|
||||
{
|
||||
my @parsed_files = @smb_build::config_mk::parsed_files;
|
||||
my $deps = "";
|
||||
|
||||
foreach (@parsed_files) {
|
||||
/^([^ |]+)/;
|
||||
$deps.= " $1";
|
||||
}
|
||||
|
||||
return "
|
||||
|
||||
Makefile: config.status $deps
|
||||
./config.status
|
||||
|
||||
";
|
||||
}
|
||||
|
||||
sub _prepare_binaries($)
|
||||
{
|
||||
my $ctx = shift;
|
||||
@ -596,6 +614,7 @@ sub _prepare_makefile_in($)
|
||||
$output .= _prepare_binaries($CTX);
|
||||
$output .= _prepare_target_settings($CTX);
|
||||
$output .= _prepare_rule_lists($CTX);
|
||||
$output .= _prepare_config_status();
|
||||
|
||||
if ($config{developer} eq "yes") {
|
||||
$output .= <<__EOD__
|
||||
|
Loading…
x
Reference in New Issue
Block a user