trick/bin/depend_cp
Alex Lin 14a75508a3 Cleaning up once include variables and copyright cleanup.
Changed all header file once include variables to follow the same naming
convention and not start with any underscores.  Also deleted old
incorrect copyright notices.  Also removed $Id: tags from all files.

Fixes #14.  Fixes #22.
2015-03-23 16:03:14 -05:00

53 lines
1.2 KiB
Perl
Executable File

#!/usr/bin/perl
use Cwd ;
use File::Basename;
use strict ;
my $dir ;
my $dir_no_src ;
my $word ;
my $cont ;
open FILE, "@ARGV[0]" or die "Could not open @ARGV[0]" ;
while ( <FILE> ) {
if ( /^# Dependencies for/ ) {
($dir) = $_ =~ /(\/.*)$/ ;
($dir_no_src = $dir) =~ s/src\/// ;
print ;
next ;
}
elsif ( /^#/ ) {
next ;
}
$cont = 0 ;
foreach $word ( split ) {
if ( $word =~ /:/ ) {
if ( $word =~ /S_[Ss]ource/ ) {
$word = "lib_\${TRICK_HOST_CPU}/$word" ;
}
else {
$word = "${dir_no_src}object_\${TRICK_HOST_CPU}/$word"
}
}
elsif ( $word eq "\\" ) {
$word = "\\\n" ;
$cont = 1 ;
}
else {
if ( $word !~ /^\// and $dir ne "\/" ) {
$word = "$dir$word" ;
}
while ( $word =~ s,/[^/]+/\.\.,, ) {} # remove ..
}
# Substitute beginning of full path with an environment variable.
$word =~ s/$ENV{"TRICK_HOME"}/\${TRICK_HOME}/gs ;
print "$word " ;
}
if ( $cont == 0 ) {
print "\n" ;
}
}