Revision 1 (by moose, 2006/03/06 10:35:57) Initial Import
#!/usr/bin/perl

#obj/SciQ.o dep/SciQ.d: src/SciQ.cpp include/SciQApp.h \
#  include/SciQSettings.h

use warnings;
use strict;
use File::Spec::Functions qw/splitdir catdir/;
use File::Basename;

my $re = '<file[^>]*>([^<]+)<\/file>';

my $file = shift @ARGV;
my $depfile = catdir("dep/", basename($file,'.qrc') . ".qrc.d");
my $srcfile = catdir("qrc/", "qrc_" . basename($file,'.qrc') . ".cpp");

#print "file:'$file', dep:'$depfile', src:'$srcfile'\n";

die "failed to open '$depfile' for writing." if ! open DEPFH, ">$depfile";

if(-f $file) {
	open FH, $file || exit 0;
	print DEPFH "$srcfile $depfile: ";
	for(<FH>) {
		if(/$re/oi) {
			my $fn = catdir(splitdir($1));
#			print "$fn\n";
			print DEPFH "\\\n qrc/$fn ";
		}
	}
	close FH;
}

select STDOUT;
close DEPFH;