summaryrefslogtreecommitdiff
path: root/ACE/bin/MakeProjectCreator/modules/GNUAutobuildWorkspaceCreator.pm
diff options
context:
space:
mode:
authorWilliam R. Otte <wotte@dre.vanderbilt.edu>2008-03-04 14:51:23 +0000
committerWilliam R. Otte <wotte@dre.vanderbilt.edu>2008-03-04 14:51:23 +0000
commit99aa8c60282c7b8072eb35eb9ac815702f5bf586 (patch)
treebda96bf8c3a4c2875a083d7b16720533c8ffeaf4 /ACE/bin/MakeProjectCreator/modules/GNUAutobuildWorkspaceCreator.pm
parentc4078c377d74290ebe4e66da0b4975da91732376 (diff)
downloadATCD-99aa8c60282c7b8072eb35eb9ac815702f5bf586.tar.gz
undoing accidental deletion
Diffstat (limited to 'ACE/bin/MakeProjectCreator/modules/GNUAutobuildWorkspaceCreator.pm')
-rw-r--r--ACE/bin/MakeProjectCreator/modules/GNUAutobuildWorkspaceCreator.pm58
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..faf10e6277f
--- /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;