diff options
Diffstat (limited to 'ACE/MPC/modules/Depgen/MakeDependencyWriter.pm')
-rw-r--r-- | ACE/MPC/modules/Depgen/MakeDependencyWriter.pm | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/ACE/MPC/modules/Depgen/MakeDependencyWriter.pm b/ACE/MPC/modules/Depgen/MakeDependencyWriter.pm new file mode 100644 index 00000000000..a10d061996b --- /dev/null +++ b/ACE/MPC/modules/Depgen/MakeDependencyWriter.pm @@ -0,0 +1,43 @@ +package MakeDependencyWriter; + +# ************************************************************ +# Description : Generates generic Makefile dependencies. +# Author : Chad Elliott +# Create Date : 2/10/2002 +# ************************************************************ + +# ************************************************************ +# Pragmas +# ************************************************************ + +use strict; +use DependencyWriter; + +use vars qw(@ISA); +@ISA = qw(DependencyWriter); + +# ************************************************************ +# Data Section +# ************************************************************ + +my $cygwin = (defined $ENV{OS} && $ENV{OS} =~ /windows/i); + +# ************************************************************ +# Subroutine Section +# ************************************************************ + +sub process { + ## Replace whitespace with escaped whitespace. + map(s/(\s)/\\$1/g, @{$_[2]}); + + ## Replace <drive letter>: with /cygdrive/<drive letter>. The user may + ## or may not be using Cygwin, but leaving the colon in there will + ## cause make to fail catastrophically on the next invocation. + map(s/([A-Z]):/\/cygdrive\/$1/gi, @{$_[2]}) if ($cygwin); + + ## Sort the dependencies to make them reproducible. + return "@{$_[1]}: \\\n " . join(" \\\n ", sort @{$_[2]}) . "\n"; +} + + +1; |