Subversion Repositories gelsvn

Rev

Rev 107 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 107 Rev 217
Line 9... Line 9...
9
# ************************************************************
9
# ************************************************************
10
# Pragmas
10
# Pragmas
11
# ************************************************************
11
# ************************************************************
12
 
12
 
13
use strict;
13
use strict;
14
use File::Basename;
-
 
15
 
14
 
16
use MakeProjectCreator;
15
use MakeProjectCreator;
17
use WorkspaceCreator;
16
use WorkspaceCreator;
18
 
17
 
19
use vars qw(@ISA);
18
use vars qw(@ISA);
Line 48... Line 47...
48
  my($crlf) = $self->crlf();
47
  my($crlf) = $self->crlf();
49
 
48
 
50
  print $fh '#----------------------------------------------------------------------------', $crlf,
49
  print $fh '#----------------------------------------------------------------------------', $crlf,
51
            '#       Make Workspace', $crlf,
50
            '#       Make Workspace', $crlf,
52
            '#', $crlf,
51
            '#', $crlf,
53
            '# $Id: MakeWorkspaceCreator.pm 107 2005-09-02 16:42:23Z bj $', $crlf,
52
            '# $Id: MakeWorkspaceCreator.pm 217 2006-05-05 09:35:48Z bj $', $crlf,
54
            '#', $crlf,
53
            '#', $crlf,
55
            '# This file was generated by MPC.  Any changes made directly to', $crlf,
54
            '# This file was generated by MPC.  Any changes made directly to', $crlf,
56
            '# this file will be lost the next time it is generated.', $crlf,
55
            '# this file will be lost the next time it is generated.', $crlf,
57
            '#', $crlf,
56
            '#', $crlf,
58
            '# MPC Command:', $crlf,
57
            '# MPC Command:', $crlf,
Line 68... Line 67...
68
  my($crlf)     = $self->crlf();
67
  my($crlf)     = $self->crlf();
69
  my($projects) = $self->get_projects();
68
  my($projects) = $self->get_projects();
70
  my($trans)    = $self->project_target_translation(1);
69
  my($trans)    = $self->project_target_translation(1);
71
  my(%targnum)  = ();
70
  my(%targnum)  = ();
72
  my($pjs)      = $self->get_project_info();
71
  my($pjs)      = $self->get_project_info();
73
  my(@list)     = $self->number_target_deps($projects, $pjs, \%targnum);
72
  my(@list)     = $self->number_target_deps($projects, $pjs, \%targnum, 0);
74
 
73
 
75
  ## Print out the "all" target
74
  ## Print out the "all" target
76
  print $fh $crlf . 'all:';
75
  print $fh $crlf . 'all:';
77
  foreach my $project (@list) {
76
  foreach my $project (@list) {
78
    print $fh " $$trans{$project}";
77
    print $fh " $$trans{$project}";
Line 83... Line 82...
83
  foreach my $project (@list) {
82
  foreach my $project (@list) {
84
    my($dname) = $self->mpc_dirname($project);
83
    my($dname) = $self->mpc_dirname($project);
85
    print $fh "\t\@",
84
    print $fh "\t\@",
86
              ($dname ne '.' ? "cd $dname; " : ''),
85
              ($dname ne '.' ? "cd $dname; " : ''),
87
              "\$(MAKE) -f ",
86
              "\$(MAKE) -f ",
88
              ($dname eq '.' ? $project : basename($project)),
87
              ($dname eq '.' ? $project : $self->mpc_basename($project)),
89
              " \$(\@)$crlf";
88
              " \$(\@)$crlf";
90
  }
89
  }
91
 
90
 
92
  ## Print out each target separately
91
  ## Print out each target separately
93
  foreach my $project (@list) {
92
  foreach my $project (@list) {
94
    my($dname) = $self->mpc_dirname($project);
93
    my($dname) = $self->mpc_dirname($project);
-
 
94
    print $fh $crlf, '.PHONY: ', $$trans{$project},
95
    print $fh $crlf, $$trans{$project}, ':';
95
              $crlf, $$trans{$project}, ':';
96
    if (defined $targnum{$project}) {
96
    if (defined $targnum{$project}) {
97
      foreach my $number (@{$targnum{$project}}) {
97
      foreach my $number (@{$targnum{$project}}) {
98
        print $fh " $$trans{$list[$number]}";
98
        print $fh " $$trans{$list[$number]}";
99
      }
99
      }
100
    }
100
    }
101
 
101
 
102
    print $fh $crlf,
102
    print $fh $crlf,
103
              "\t\@",
103
              "\t\@",
104
              ($dname ne '.' ? "cd $dname; " : ''),
104
              ($dname ne '.' ? "cd $dname; " : ''),
105
              "\$(MAKE) -f ",
105
              "\$(MAKE) -f ",
106
              ($dname eq '.' ? $project : basename($project)),
106
              ($dname eq '.' ? $project : $self->mpc_basename($project)),
107
              ' generated all', $crlf;
107
              ' generated all', $crlf;
108
  }
108
  }
109
 
109
 
110
  ## Print out the project_name_list target
110
  ## Print out the project_name_list target
111
  print $fh $crlf, "project_name_list:$crlf";
111
  print $fh $crlf, "project_name_list:$crlf";