rockbox/tools/addtargetdir.pl
Andrew Mahone c7e12872a7 Fix red: broken tools/addtargetdir.pl
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21832 a1c6a512-1295-4272-9138-f99709370657
2009-07-13 01:15:39 +00:00

41 lines
1.2 KiB
Perl
Executable file

#!/usr/bin/perl
# __________ __ ___.
# Open \______ \ ____ ____ | | _\_ |__ _______ ___
# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
# \/ \/ \/ \/ \/
# $Id$
#
# addtargetdir.pl - Adds target directory to gcc-generated dependency data
use File::Basename;
my $rbroot = $ARGV[0];
my $builddir = $ARGV[1];
undef $/;
my $target;
my $rootlen = length $rbroot;
my $src;
# Split the input file on any runs of '\' and whitespace.
for (split(/[\s\\]+/m, <STDIN>)) {
/^(\/)?[^:]+(\:)?$/;
# Save target and continue if this item ends in ':'
if (!($2 && ($target=$&))) {
$src = $&;
# If $target is set, prefix it with the target path
if ($target) {
my $dir = dirname $src;
substr($dir, 0, $rootlen) = $builddir;
print "\n$dir/$target";
$target = "";
# Otherwise, check for an incomplete path for the source file
} elsif (!$1) {
$src = "$builddir/$src";
}
print " \\\n $src";
}
}