#!/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>'; 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() { if(/$re/oi) { my $fn = catdir(splitdir($1)); # print "$fn\n"; print DEPFH "\\\n qrc/$fn "; } } close FH; } select STDOUT; close DEPFH;