summaryrefslogtreecommitdiff
path: root/v4l/scripts/make_makefile.pl
diff options
context:
space:
mode:
Diffstat (limited to 'v4l/scripts/make_makefile.pl')
-rwxr-xr-xv4l/scripts/make_makefile.pl29
1 files changed, 26 insertions, 3 deletions
diff --git a/v4l/scripts/make_makefile.pl b/v4l/scripts/make_makefile.pl
index 238c5082f..e0a099e9b 100755
--- a/v4l/scripts/make_makefile.pl
+++ b/v4l/scripts/make_makefile.pl
@@ -1,6 +1,7 @@
#!/usr/bin/perl
use FileHandle;
+my $kernel=shift;
my $instdir = ();
sub check_line($$$)
@@ -109,7 +110,7 @@ sub open_makefile($) {
close $in;
}
-open OUT,">Makefile.media";
+open OUT,">Makefile.media.new";
open_makefile ("../linux/drivers/media/Makefile");
# Creating Install rule
@@ -156,8 +157,30 @@ while ( my ($key, $value) = each(%depend) ) {
}
close OUT;
-if (open OUT,".myconfig") {
+if (open IN,"Makefile.media") {
+ close IN;
+ my $changed=0;
+ if (open IN,"diff Makefile.media Makefile.media.new|") {
+ while (<IN>) {
+ if ($_ ne "") {
+ $changed=1;
+ }
+ }
+ close IN;
+ if ($changed) {
+ printf("One or more linux Makefiles had changed. Makefile.media rewrited.\n");
+ system ("mv Makefile.media.new Makefile.media");
+ } else {
+ system ("rm Makefile.media.new");
+ }
+ }
+} else {
+ printf("Creating Makefile.media.\n");
+ system "mv Makefile.media.new Makefile.media";
+}
+
+if (open IN,".myconfig") {
close IN;
} else {
- system "make allmodconfig";
+ system "./scripts/make_kconfig.pl $kernel 1";
}