You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
libtqt-perl/smoke/tqt/generate_makefile_am.pl

57 lines
1.1 KiB

#!/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;