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__

Reply via email to