Subversion Repositories DevTools

Rev

Rev 4257 | Rev 4265 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4257 Rev 4261
Line 5064... Line 5064...
5064
    Debug2( "ProgAddExtra($name: $prog)" );
5064
    Debug2( "ProgAddExtra($name: $prog)" );
5065
 
5065
 
5066
    UniquePush(\@PROGS_EXTRA, $prog);
5066
    UniquePush(\@PROGS_EXTRA, $prog);
5067
}
5067
}
5068
 
5068
 
-
 
5069
our %PROJECTS;                          # Project information
-
 
5070
my  @PROJECTS_ORDER;
-
 
5071
#-------------------------------------------------------------------------------
-
 
5072
# Function        : MakeProjectName 
-
 
5073
#
-
 
5074
# Description     : Create a uniq project name
-
 
5075
#
-
 
5076
# Inputs          : srcPath 
-
 
5077
#
-
 
5078
# Returns         : A unique project name 
-
 
5079
#
-
 
5080
sub MakeProjectName
-
 
5081
{
-
 
5082
    my ($srcPath) = @_;
-
 
5083
    my $suffix = "";
-
 
5084
    my $index = 1;
-
 
5085
 
-
 
5086
    my $proj = StripDir( $srcPath );
-
 
5087
    while (exists $PROJECTS{$proj . $suffix})
-
 
5088
    {
-
 
5089
        $suffix = '.' . $index++;
-
 
5090
    }
-
 
5091
    return $proj . $suffix; 
-
 
5092
}
-
 
5093
 
5069
#-------------------------------------------------------------------------------
5094
#-------------------------------------------------------------------------------
5070
# Function        : MakeProject
5095
# Function        : MakeProject
5071
#
5096
#
5072
# Description     : A nasty directive that is intended to build a Microsoft
5097
# Description     : A nasty directive that is intended to build a Microsoft
5073
#                   project for WINCE, WIN32 and .NET builds.
5098
#                   project for WINCE, WIN32 and .NET builds.
Line 5087... Line 5112...
5087
#                   Project         - Project Name with extension
5112
#                   Project         - Project Name with extension
5088
#                   Options         - Many options
5113
#                   Options         - Many options
5089
#
5114
#
5090
# Returns         :
5115
# Returns         :
5091
#
5116
#
5092
our %PROJECTS;                          # Project information
-
 
5093
my  @PROJECTS_ORDER;
-
 
5094
sub MakeProject
5117
sub MakeProject
5095
{
5118
{
5096
    my( $platforms, $proj, @elements ) = @_;
5119
    my( $platforms, $proj, @elements ) = @_;
5097
 
5120
 
5098
    Debug2( "MakeProject($platforms, $proj, @elements)" );
5121
    Debug2( "MakeProject($platforms, $proj, @elements)" );
Line 5104... Line 5127...
5104
    #
5127
    #
5105
    Error ("MakeProject: Project name not defined") unless ( $proj );
5128
    Error ("MakeProject: Project name not defined") unless ( $proj );
5106
 
5129
 
5107
    #
5130
    #
5108
    #   Take the project name and convert it into a full path
5131
    #   Take the project name and convert it into a full path
-
 
5132
    #   Need to create a uniq project name - allowing for multiple uses
5109
    #
5133
    #
5110
    my $project = MakeSrcResolve ( $proj );
5134
    my $project = MakeSrcResolve ( $proj );
5111
    $proj = StripDir( $project );
5135
    $proj = MakeProjectName($project);
-
 
5136
 
5112
    Error ("Project File Not found: $project") unless ( -f $project );
5137
    Error ("Project File Not found: $project") unless ( -f $project );
5113
 
5138
 
5114
    my $basedir = StripFileExt( $project );
5139
    my $basedir = StripFileExt( $project );
5115
 
5140
 
5116
    #
5141
    #
Line 5333... Line 5358...
5333
    #
5358
    #
5334
    #   Take the project name and convert it into a full path
5359
    #   Take the project name and convert it into a full path
5335
    #
5360
    #
5336
    my $project;
5361
    my $project;
5337
    $project = MakeSrcResolve ( $proj );
5362
    $project = MakeSrcResolve ( $proj );
5338
    $proj = StripDir( $project );
5363
    $proj = MakeProjectName($project);
5339
    Error ("Build File Not found: $project") unless ( -f $project );
5364
    Error ("Build File Not found: $project") unless ( -f $project );
5340
 
5365
 
5341
    my $basedir = StripFileExt( $project );
5366
    my $basedir = StripFileExt( $project );
5342
 
5367
 
5343
    #
5368
    #