1 package MakeWorkspaceCreator
;
3 # ************************************************************
4 # Description : A Generic Workspace (Makefile) creator
5 # Author : Chad Elliott
6 # Create Date : 2/18/2003
7 # ************************************************************
9 # ************************************************************
11 # ************************************************************
15 use MakeProjectCreator
;
16 use MakeWorkspaceBase
;
20 @ISA = qw(MakeWorkspaceBase WorkspaceCreator);
22 # ************************************************************
24 # ************************************************************
26 my $targets = 'clean generated realclean check-syntax $(CUSTOM_TARGETS)';
28 # ************************************************************
30 # ************************************************************
32 sub write_project_targets
{
33 my($self, $fh, $crlf, $target, $list) = @_;
35 ## Print out a make command for each project
36 foreach my $project (@
$list) {
37 my $dname = $self->mpc_dirname($project);
38 my $chdir = ($dname ne '.');
40 ($chdir ?
"cd $dname && " : ''),
42 ($chdir ?
$self->mpc_basename($project) : $project),
49 $self->workspace_preamble($fh, $self->crlf(), 'Make Workspace',
57 my @list = $self->number_target_deps($self->get_projects(),
58 $self->get_project_info(),
61 ## Send all the information to our base class method
62 $self->write_named_targets($fh, $self->crlf(), \
%targnum, \
@list,
63 ($self->languageIs(Creator
::csharp
) ?
64 'bundle ' : '') . $targets, '', '',
65 $self->project_target_translation(1), 1);