Author: jelmer Date: 2005-08-23 22:16:36 +0000 (Tue, 23 Aug 2005) New Revision: 9549
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=9549 Log: Rerun ./config.status if one of the .mk files changes Modified: branches/SAMBA_4_0/source/build/smb_build/config_mk.pm branches/SAMBA_4_0/source/build/smb_build/main.pl branches/SAMBA_4_0/source/build/smb_build/makefile.pm Changeset: Modified: branches/SAMBA_4_0/source/build/smb_build/config_mk.pm =================================================================== --- branches/SAMBA_4_0/source/build/smb_build/config_mk.pm 2005-08-23 22:10:44 UTC (rev 9548) +++ branches/SAMBA_4_0/source/build/smb_build/config_mk.pm 2005-08-23 22:16:36 UTC (rev 9549) @@ -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 @@ "MANPAGE" => "string" ); +use vars qw(@parsed_files); + [EMAIL PROTECTED] = (); + ########################################################### # The parsing function which parses the file # @@ -48,6 +52,8 @@ 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>; Modified: branches/SAMBA_4_0/source/build/smb_build/main.pl =================================================================== --- branches/SAMBA_4_0/source/build/smb_build/main.pl 2005-08-23 22:10:44 UTC (rev 9548) +++ branches/SAMBA_4_0/source/build/smb_build/main.pl 2005-08-23 22:16:36 UTC (rev 9549) @@ -18,7 +18,7 @@ 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"); Modified: branches/SAMBA_4_0/source/build/smb_build/makefile.pm =================================================================== --- branches/SAMBA_4_0/source/build/smb_build/makefile.pm 2005-08-23 22:10:44 UTC (rev 9548) +++ branches/SAMBA_4_0/source/build/smb_build/makefile.pm 2005-08-23 22:16:36 UTC (rev 9549) @@ -123,6 +123,24 @@ __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 @@ $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__
