diff options
Diffstat (limited to 'smoke/tqt/generate_makefile_am.pl')
-rwxr-xr-x | smoke/tqt/generate_makefile_am.pl | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/smoke/tqt/generate_makefile_am.pl b/smoke/tqt/generate_makefile_am.pl new file mode 100755 index 0000000..8f528bd --- /dev/null +++ b/smoke/tqt/generate_makefile_am.pl @@ -0,0 +1,56 @@ +#!/usr/bin/perl -w + +use File::Basename; +use File::Copy qw|cp|; +use File::Compare; +use Cwd; + +my $here = getcwd; +my $outdir = $here; +my $tempfile = "$outdir/.Makefile.am.tmpfile"; + +# Update list of source files in $outdir/Makefile.am +open( MAKEFILE, "<$outdir/Makefile.am" ) or die; +my $makeFileData = ''; +my $found = 0; +while (<MAKEFILE>) { + if (/^libsmoketqt_la_SOURCES/) + { + $found = 1; + $makeFileData .= "libsmoketqt_la_SOURCES = smokedata.cpp"; + } + $makeFileData .= $_ if (!$found); +} +close MAKEFILE; + +die "libsmoketqt_la_SOURCES not found" if (!$found); + +open( MAKEFILE, ">$tempfile" ) or die; +print MAKEFILE $makeFileData; + +my $count = 0; +opendir (FILES, $outdir) or die; +foreach $filename (readdir(FILES)) { + if ( $filename =~ /^x_.*\.cpp$/ ) { + if ( $count++ == 7 ) { + $count = 0; + print MAKEFILE " \\\n"; + } + print MAKEFILE " $filename"; + } +} + +print MAKEFILE "\n"; +close MAKEFILE; +closedir FILES; + +if (compare("$tempfile", "$outdir/Makefile.am")) { + cp("$tempfile", "$outdir/Makefile.am"); + print STDERR "Makefile.am updated.\n"; +} +else { + print STDERR "Makefile.am unchanged.\n"; +} +unlink $tempfile; + +exit 0; |