### Released under the GNU GPL ###
###########################################################
-package config_mk;
+package smb_build::config_mk;
use smb_build::input;
use strict;
"MANPAGE" => "string"
);
+use vars qw(@parsed_files);
+
+@parsed_files = ();
+
###########################################################
# The parsing function which parses the file
#
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>;
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");
__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;
$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__