diff options
Diffstat (limited to 'ACE/bin/MakeProjectCreator/modules/GNUAutobuildWorkspaceCreator.pm')
-rw-r--r-- | ACE/bin/MakeProjectCreator/modules/GNUAutobuildWorkspaceCreator.pm | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/ACE/bin/MakeProjectCreator/modules/GNUAutobuildWorkspaceCreator.pm b/ACE/bin/MakeProjectCreator/modules/GNUAutobuildWorkspaceCreator.pm new file mode 100644 index 00000000000..7f29c927088 --- /dev/null +++ b/ACE/bin/MakeProjectCreator/modules/GNUAutobuildWorkspaceCreator.pm @@ -0,0 +1,58 @@ +package GNUAutobuildWorkspaceCreator; + +# ************************************************************ +# Description : A GNU Workspace (GNUmakefile) creator that +# collates build results for a single makefile +# before outputting to stdout. +# Author : Chad Elliott, minor modifications by Will Otte +# Create Date : 3/22/07 +# ************************************************************ + +# ************************************************************ +# Pragmas +# ************************************************************ + +use strict; + +use GNUACEWorkspaceCreator; +use GNUAutobuildProjectCreator; +use MakeWorkspaceBase; +use WorkspaceCreator; + +use vars qw(@ISA); +@ISA = qw(GNUACEWorkspaceCreator MakeWorkspaceBase WorkspaceCreator); + +# ************************************************************ +# Data Section +# ************************************************************ + +my($base) = 'GNUmakefile'; + +# ************************************************************ +# Subroutine Section +# ************************************************************ +sub extractType { + return 'gnuace'; +} + +sub write_project_targets { + my($self) = shift; + my($fh) = shift; + my($crlf) = shift; + my($target) = shift; + my($list) = shift; + + foreach my $project (@$list) { + my($dname) = $self->mpc_dirname($project); + my($chdir) = ($dname ne '.'); + my($output_project) = ($chdir ? $self->mpc_basename($project) : $project); + + print $fh "\t\@", + ($chdir ? "cd $dname && " : ''), + "\$(MAKE) -f ", + $output_project, + " $target &> $output_project.log ; cat $output_project.log ; rm $output_project.log $crlf"; + } +} + +1; |