541072ae5d
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21826 a1c6a512-1295-4272-9138-f99709370657
41 lines
1.2 KiB
Perl
Executable file
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";
|
|
}
|
|
}
|