summaryrefslogtreecommitdiff
path: root/v4l/scripts
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@infradead.org>2006-06-20 13:17:11 -0300
committerMauro Carvalho Chehab <mchehab@infradead.org>2006-06-20 13:17:11 -0300
commitecddc353539730fcf011b1e9d60ba3acca577e04 (patch)
tree24e721321adb86eb86975235b65a3976f8d9547f /v4l/scripts
parent6a148432b8af513981b96fef00deeda1f7c52171 (diff)
downloadmediapointer-dvb-s2-ecddc353539730fcf011b1e9d60ba3acca577e04.tar.gz
mediapointer-dvb-s2-ecddc353539730fcf011b1e9d60ba3acca577e04.tar.bz2
Makefile.media were rewritten even when not required.
From: Mauro Carvalho Chehab <mchehab@infradead.org> make 3.81 were suffering some endless loop that might be caused by Makefile.media rewrites. After this patch, make_makefile will only write Makefile.media if needed. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'v4l/scripts')
-rwxr-xr-xv4l/scripts/make_makefile.pl26
1 files changed, 24 insertions, 2 deletions
diff --git a/v4l/scripts/make_makefile.pl b/v4l/scripts/make_makefile.pl
index 238c5082f..bcfb3764f 100755
--- a/v4l/scripts/make_makefile.pl
+++ b/v4l/scripts/make_makefile.pl
@@ -109,7 +109,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,7 +156,29 @@ 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";