Subversion Repositories DevTools

Rev

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

Rev 4761 Rev 4778
Line 123... Line 123...
123
                                                # 0: Don't write progdeps. Prog is Phony
123
                                                # 0: Don't write progdeps. Prog is Phony
124
our $ScmToolsetSingleType   = 0;                # Toolset does not support Debug and Production
124
our $ScmToolsetSingleType   = 0;                # Toolset does not support Debug and Production
125
our $ScmToolsetProgSource   = ();               # Toolset Program Source
125
our $ScmToolsetProgSource   = ();               # Toolset Program Source
126
our $ScmToolsetSoName       = 0;                # 1: Shared library supports SoName
126
our $ScmToolsetSoName       = 0;                # 1: Shared library supports SoName
127
our $ScmToolsetNillLibSrc   = 0;                # 1: Librarys created without source specified
127
our $ScmToolsetNillLibSrc   = 0;                # 1: Librarys created without source specified
128
our $ScmToolsetProcessTests = 0;                # 1: Pre/Post process unit test runs
-
 
129
 
128
 
130
our $ScmRoot                = "";
129
our $ScmRoot                = "";
131
our $ScmMakelib             = "";
130
our $ScmMakelib             = "";
132
our $ScmPlatform            = "";
131
our $ScmPlatform            = "";
133
our $ScmMachType            = "";
132
our $ScmMachType            = "";
Line 210... Line 209...
210
our @TOOLSETLIBS            = ();
209
our @TOOLSETLIBS            = ();
211
our @TOOLSETPROGS           = ();
210
our @TOOLSETPROGS           = ();
212
our %INSTALL_HDRS           = ();
211
our %INSTALL_HDRS           = ();
213
our %INSTALL_CLSS           = ();
212
our %INSTALL_CLSS           = ();
214
 
213
 
-
 
214
our @TOOLSET_UTF_PRE        = ();       # Toolsets can extend rules run before all unit tests
-
 
215
our @TOOLSET_UTF_POST       = ();       # Toolsets can extend rules run after all unit tests
-
 
216
our @TOOLSET_UTF_COLLATE    = ();       # Toolsets can extend rules run to collate unit tests results
-
 
217
 
215
our @LIBS                   = ();
218
our @LIBS                   = ();
216
our $LIBS                   = ();
219
our $LIBS                   = ();
217
our %LIB_PKG                = ();
220
our %LIB_PKG                = ();
218
our %LIB_INS                = ();
221
our %LIB_INS                = ();
219
our %INSTALL_LIBS           = ();
222
our %INSTALL_LIBS           = ();
Line 281... Line 284...
281
#
284
#
282
#   Arrays of hook functions
285
#   Arrays of hook functions
283
#
286
#
284
our %MF_RegisterSrcHooks;                       # Hook source file discovery
287
our %MF_RegisterSrcHooks;                       # Hook source file discovery
285
 
288
 
286
 
-
 
287
###############################################################################
289
###############################################################################
288
#
290
#
289
#   Packaging and Installation Information
291
#   Packaging and Installation Information
290
#   Held in a structure as its used in a few places
292
#   Held in a structure as its used in a few places
291
#   Items
293
#   Items
Line 301... Line 303...
301
    'Prog' => { 'PBase' => '$(BINDIR_PKG)'   ,'IBase' => '$(BINDIR_LOCAL)'   , 'Dir' => '/$(GBE_PLATFORM)$(GBE_TYPE)'},
303
    'Prog' => { 'PBase' => '$(BINDIR_PKG)'   ,'IBase' => '$(BINDIR_LOCAL)'   , 'Dir' => '/$(GBE_PLATFORM)$(GBE_TYPE)'},
302
    'Jar'  => { 'PBase' => '$(CLSDIR_PKG)'   ,'IBase' => '$(CLSDIR_LOCAL)'   , 'Dir' => ''},
304
    'Jar'  => { 'PBase' => '$(CLSDIR_PKG)'   ,'IBase' => '$(CLSDIR_LOCAL)'   , 'Dir' => ''},
303
    'Tool' => { 'PBase' => '$(PKGDIR)'       ,'IBase' => '$(LOCALDIR)'       , 'Dir' => '/tools/bin/$(GBE_HOSTMACH)'},
305
    'Tool' => { 'PBase' => '$(PKGDIR)'       ,'IBase' => '$(LOCALDIR)'       , 'Dir' => '/tools/bin/$(GBE_HOSTMACH)'},
304
    );
306
    );
305
 
307
 
-
 
308
###############################################################################
-
 
309
#
-
 
310
#   An array of reserved names
-
 
311
#   Used to attempt to prevent developers from naming toolset targets with names reserved
-
 
312
#   within the build system
-
 
313
our @reservedMakeTargets = qw (
-
 
314
    preprocess_tests postprocess_tests collate_test_results
-
 
315
);
-
 
316
 
306
MakeLib2Init();                                 # Runtime initialisation
317
MakeLib2Init();                                 # Runtime initialisation
307
 
318
 
308
sub MakeLib2Init
319
sub MakeLib2Init
309
{
320
{
310
#.. Test environment
321
#.. Test environment
Line 1010... Line 1021...
1010
    }
1021
    }
1011
    push( @ScmDepends, "$script" );             # makefile dependencies
1022
    push( @ScmDepends, "$script" );             # makefile dependencies
1012
    close( $fh );
1023
    close( $fh );
1013
}
1024
}
1014
 
1025
 
-
 
1026
#-------------------------------------------------------------------------------
-
 
1027
# Function        : ToolsetAddUnitTestPreProcess
-
 
1028
#                   ToolsetAddUnitTestPostProcess
-
 
1029
#                   ToolsetAddUnitTestCollateProcess
-
 
1030
#
-
 
1031
# Description     : Functions to allow toolsets to add recipes to be run before
-
 
1032
#                   and after Unit Tests are run.    
-
 
1033
#
-
 
1034
# Inputs          : $target         - Name of the recipe to be run 
-
 
1035
#
-
 
1036
# Returns         : Nothing
-
 
1037
#
-
 
1038
sub ToolsetAddUnitTestPreProcess
-
 
1039
{
-
 
1040
    _ToolsetAddUnitTest(\@TOOLSET_UTF_PRE, @_ );
-
 
1041
}
-
 
1042
 
-
 
1043
sub ToolsetAddUnitTestPostProcess
-
 
1044
{
-
 
1045
    _ToolsetAddUnitTest(\@TOOLSET_UTF_POST, @_ );
-
 
1046
}
-
 
1047
 
-
 
1048
sub ToolsetAddUnitTestCollateProcess
-
 
1049
{
-
 
1050
    _ToolsetAddUnitTest(\@TOOLSET_UTF_COLLATE, @_ );
-
 
1051
}
-
 
1052
 
-
 
1053
#-------------------------------------------------------------------------------
-
 
1054
# Function        : _ToolsetAddUnitTest  
-
 
1055
#
-
 
1056
# Description     : Internal helper function used by ToolsetAddUnitTest*
-
 
1057
#
-
 
1058
# Inputs          : $aref           - Ref to an array of names to extend
-
 
1059
#                   $target         - Name of recipe to run 
-
 
1060
#
-
 
1061
# Returns         : Nothing
-
 
1062
#
-
 
1063
sub _ToolsetAddUnitTest
-
 
1064
{
-
 
1065
    my ($aref, $target ) = @_;
-
 
1066
 
-
 
1067
    #   Determine name of parent function
-
 
1068
    my $fname = (caller(1))[3];
-
 
1069
    $fname =~ s~.*::~~;
-
 
1070
    Debug2( "$fname ($target)" );
-
 
1071
 
-
 
1072
    #
-
 
1073
    #   Ensure user is not using a reserved target
-
 
1074
    #
-
 
1075
    if (grep {$_ eq $target} @reservedMakeTargets) {
-
 
1076
        Error("Internal: $fname uses reserved make taget: $target");
-
 
1077
    }
-
 
1078
 
-
 
1079
    push @$aref, $target;
-
 
1080
 
-
 
1081
}
1015
 
1082
 
1016
###############################################################################
1083
###############################################################################
1017
# User interface:
1084
# User interface:
1018
#
1085
#
1019
#   AddFlags( 'platform [, ... ]', 'flags' [, 'flag' ... ] )
1086
#   AddFlags( 'platform [, ... ]', 'flags' [, 'flag' ... ] )
Line 4630... Line 4697...
4630
#                                     This SHOULD return a non-zero exit status
4697
#                                     This SHOULD return a non-zero exit status
4631
#                                     on error. The program may be a 'TestProg'
4698
#                                     on error. The program may be a 'TestProg'
4632
#                                     or a 'Script'.
4699
#                                     or a 'Script'.
4633
#                   @elements       - Options and test arguments
4700
#                   @elements       - Options and test arguments
4634
#                                     Options are:
4701
#                                     Options are:
4635
#                                       --Auto          - Non interactive unit test
4702
#                                       --Auto              - Non interactive unit test
4636
#                                       --Unit          - Same and --Auto
4703
#                                       --Unit              - Same and --Auto
-
 
4704
#                                       --UtfFormat=nnn     - Specifies Automated Unit Test, 
-
 
4705
#                                                             results post processed with formatter
4637
#                                       --CopyIn=file   - A file to be copied into
4706
#                                       --CopyIn=file       - A file to be copied into
4638
#                                                         The test directory.
4707
#                                                             The test directory.
4639
#
4708
#
4640
#                                     Non Options are passed to the test program.
4709
#                                     Non Options are passed to the test program.
4641
#                                     --PackageBase(xxx)    - Base of package
4710
#                                     --PackageBase(xxx)    - Base of package
4642
#                                     --PackageInfo(xxx)    - Package information
4711
#                                     --PackageInfo(xxx)    - Package information
4643
#                                     --File(xxx)           - Resolved name of file
4712
#                                     --File(xxx)           - Resolved name of file
4644
#                                     --Var(xxx)            - Expanded variable
4713
#                                     --Var(xxx)            - Expanded variable
4645
#                                     --Local(xxx)          - File within the local directory
4714
#                                     --Local(xxx)          - File within the local directory
4646
#
4715
#
-
 
4716
#                                     Toolset Framework support (ie NUNIT in csharp.pl)
-
 
4717
#                                       --FrameWork=name    - Name of framework
-
 
4718
#                                       --xxxx              - Args passed to framework constructor
-
 
4719
#
4647
# Returns         : Nothing
4720
# Returns         : Nothing
4648
#
4721
#
4649
 
4722
 
4650
sub RunTest
4723
sub RunTest
4651
{
4724
{
Line 4654... Line 4727...
4654
    my $winprog = 1;                    # 1: Convert / -> \ (WIN32 only)
4727
    my $winprog = 1;                    # 1: Convert / -> \ (WIN32 only)
4655
    my $framework;
4728
    my $framework;
4656
    my @framework_opts;
4729
    my @framework_opts;
4657
    my @copy = ();
4730
    my @copy = ();
4658
    my $auto;
4731
    my $auto;
-
 
4732
    my $utfFormat;
4659
 
4733
 
4660
    return if ( ! ActivePlatform($platforms) );
4734
    return if ( ! ActivePlatform($platforms) );
4661
 
4735
 
4662
    #
4736
    #
4663
    #   Scan @elements and extract useful information
4737
    #   Scan @elements and extract useful information
Line 4671... Line 4745...
4671
            $framework = $1;
4745
            $framework = $1;
4672
 
4746
 
4673
        } elsif ( m/^--Auto/ || m/^--Unit/) {
4747
        } elsif ( m/^--Auto/ || m/^--Unit/) {
4674
            $auto = 1;
4748
            $auto = 1;
4675
 
4749
 
-
 
4750
        } elsif ( m/^--UtfFormat=(.*)/) {
-
 
4751
            $utfFormat = $1;
-
 
4752
 
4676
        } elsif ( m/^--CopyIn=(.*)/ ) {
4753
        } elsif ( m/^--CopyIn=(.*)/ ) {
4677
            push @copy, MakeSrcResolve ( $1 );
4754
            push @copy, MakeSrcResolve ( $1 );
4678
 
4755
 
4679
 
4756
 
4680
        } elsif ( $framework && m/^--\w+=(.+)/ ) {
4757
        } elsif ( $framework && m/^--\w+=(.+)/ ) {
Line 4873... Line 4950...
4873
 
4950
 
4874
    $test_entry{'prog'}     = $prog;
4951
    $test_entry{'prog'}     = $prog;
4875
    $test_entry{'copyprog'} = 1;
4952
    $test_entry{'copyprog'} = 1;
4876
    $test_entry{'args'}     = \@uargs;
4953
    $test_entry{'args'}     = \@uargs;
4877
    $test_entry{'auto'}     = $auto if ( $auto );
4954
    $test_entry{'auto'}     = $auto if ( $auto );
-
 
4955
    $test_entry{'utfformat'}= $utfFormat if ( $utfFormat );
4878
    $test_entry{'copyin'}   = \@copy;
4956
    $test_entry{'copyin'}   = \@copy;
4879
    $test_entry{'copyonce'} = ();
4957
    $test_entry{'copyonce'} = ();
4880
    $test_entry{'preq'}     = \@preq_files;
4958
    $test_entry{'preq'}     = \@preq_files;
4881
    $test_entry{'testdir'}  = 'BINDIR';
4959
    $test_entry{'testdir'}  = 'BINDIR';
4882
 
4960
 
Line 8380... Line 8458...
8380
    ::ToolsetFile ($Makefile);
8458
    ::ToolsetFile ($Makefile);
8381
    open( MAKEFILE, '>', $Makefile ) || Error( "Cannot create $Makefile" );
8459
    open( MAKEFILE, '>', $Makefile ) || Error( "Cannot create $Makefile" );
8382
    ::MakefileHeader( *MAKEFILE,
8460
    ::MakefileHeader( *MAKEFILE,
8383
                      'Auto-generated Platform Dependent Makefile',
8461
                      'Auto-generated Platform Dependent Makefile',
8384
                      "$ScmMakelib (version $ScmVersion)",
8462
                      "$ScmMakelib (version $ScmVersion)",
8385
                      "# Copyright (C) 1995-$::CurrentYear Vix-ERG, All rights reserved",
8463
                      "# Copyright (c) VIX TECHNOLOGY (AUST) LTD",
8386
                      '#',
8464
                      '#',
8387
                      "# Located in $::Cwd",
8465
                      "# Located in $::Cwd",
8388
                      "# Platform $::ScmPlatform",
8466
                      "# Platform $::ScmPlatform",
8389
                      '#' . ('-' x 79),
8467
                      '#' . ('-' x 79),
8390
                      );
8468
                      );
Line 9168... Line 9246...
9168
    {
9246
    {
9169
        $if->PROJECT( $entry );
9247
        $if->PROJECT( $entry );
9170
    }
9248
    }
9171
 
9249
 
9172
#-------------------------------------------------------------------------------
9250
#-------------------------------------------------------------------------------
9173
#   Automated testing Post Processing
-
 
9174
#
-
 
9175
    MakeHeader ("Automated testing Post Processing");
-
 
9176
 
-
 
9177
    # 
-
 
9178
    #   Insert the three rules that surround test execution:
-
 
9179
    #    - preprocess_tests runs before any test has run
-
 
9180
    #    - postprocess_tests runs after all tests have run
-
 
9181
    #    - collate_test_results runs after all postprocess_tests have run
-
 
9182
    #
-
 
9183
    $if->PreprocessTests();
-
 
9184
    $if->PostprocessTests();
-
 
9185
    $if->CollateTestResults();
-
 
9186
 
-
 
9187
#-------------------------------------------------------------------------------
-
 
9188
#   Automated tests
9251
#   Automated tests
9189
#
9252
#
9190
    MakeHeader ("Automated tests");
9253
    MakeHeader ("Automated tests");
9191
 
9254
 
9192
    my $idx = 0;
9255
    my $idx = 0;
Line 9251... Line 9314...
9251
            $me->AddShellRecipe ( "\$(cp) -f $file $dst" );
9314
            $me->AddShellRecipe ( "\$(cp) -f $file $dst" );
9252
            $me->AddShellRecipe ( "\$(chmod) -f +wx $dst" );
9315
            $me->AddShellRecipe ( "\$(chmod) -f +wx $dst" );
9253
        }
9316
        }
9254
 
9317
 
9255
        #
9318
        #
9256
        #   Insert and FrameWork Recipe bits
9319
        #   Insert any FrameWork Recipe bits
9257
        #
9320
        #
9258
        $me->AddShellRecipe ( @{$pEntry->{'ShellRecipe'}} );
9321
        $me->AddShellRecipe ( @{$pEntry->{'ShellRecipe'}} );
9259
 
9322
 
9260
        $me->AddShellRecipe ( "cd $tdir" );
9323
        $me->AddShellRecipe ( "cd $tdir" );
9261
        $me->AddShellRecipe ( ["GBE_TYPE=\$(GBE_TYPE)",
9324
        $me->AddShellRecipe ( ["GBE_TYPE=\$(GBE_TYPE)",
Line 9263... Line 9326...
9263
                               "GBE_ROOT=\$(GBE_ROOT_ABS)",
9326
                               "GBE_ROOT=\$(GBE_ROOT_ABS)",
9264
                               "PATH=.\\$::ScmPathSep\$(BINDIR_LOCAL_PATH)\\$::ScmPathSep\$\$PATH",
9327
                               "PATH=.\\$::ScmPathSep\$(BINDIR_LOCAL_PATH)\\$::ScmPathSep\$\$PATH",
9265
                               $pEntry->{'command'},
9328
                               $pEntry->{'command'},
9266
                               @{$pEntry->{'args'}},
9329
                               @{$pEntry->{'args'}},
9267
                               ] );
9330
                               ] );
-
 
9331
        if ($pEntry->{'utfformat' })
-
 
9332
        {
-
 
9333
            #
-
 
9334
            #   Insert commands to post process the test results according to the specified formatter
-
 
9335
            #
-
 
9336
            $me->NewSection     ();
-
 
9337
            $me->RecipePrefix   ('$(XX_PRE)');
-
 
9338
            $me->AddShellRecipe ( "if [ -n \"\${GBE_ABT}\" ] ; then :" );
-
 
9339
            $me->AddShellRecipe ( "echo --------------------------------------" );
-
 
9340
            $me->AddShellRecipe ( "echo UTF stuff goes here:" . $pEntry->{'utfformat' } );
-
 
9341
            $me->AddShellRecipe ( "echo --------------------------------------" );
-
 
9342
            $me->AddShellRecipe ( "fi" );
-
 
9343
        }
-
 
9344
 
9268
        $me->Print();
9345
        $me->Print();
9269
 
9346
 
9270
 
9347
 
9271
        #
9348
        #
9272
        #   Create entries to handle the copy-once files
9349
        #   Create entries to handle the copy-once files
Line 9480... Line 9557...
9480
MakeDefEntry( "PROJECTSCLEAN",   "=", CreateNameList( 'ProjectClean_', '', \%PROJECTS ));
9557
MakeDefEntry( "PROJECTSCLEAN",   "=", CreateNameList( 'ProjectClean_', '', \%PROJECTS ));
9481
 
9558
 
9482
MakeDefEntry( "UNITTESTS",       "=", \@TESTPROJECT_TO_URUN );
9559
MakeDefEntry( "UNITTESTS",       "=", \@TESTPROJECT_TO_URUN );
9483
MakeDefEntry( "AUTOUNITTESTS",   "=", \@TESTPROJECT_TO_ARUN );
9560
MakeDefEntry( "AUTOUNITTESTS",   "=", \@TESTPROJECT_TO_ARUN );
9484
 
9561
 
-
 
9562
MakeDefEntry( "AUTOUNITTESTS_PRE",    "=", \@TOOLSET_UTF_PRE );
-
 
9563
MakeDefEntry( "AUTOUNITTESTS_POST",   "=", \@TOOLSET_UTF_POST );
-
 
9564
MakeDefEntry( "AUTOUNITTESTS_COLLATE","=", \@TOOLSET_UTF_COLLATE );
-
 
9565
 
-
 
9566
 
9485
MakeHeader ("Toolset components");
9567
MakeHeader ("Toolset components");
9486
MakeDefEntry( "USERGENERATED",        "=", \@USERGENERATED )    if ( @USERGENERATED );
9568
MakeDefEntry( "USERGENERATED",        "=", \@USERGENERATED )    if ( @USERGENERATED );
9487
MakeDefEntry( "TOOLSETGENERATED",     "=", \@TOOLSETGENERATED ) if ( @TOOLSETGENERATED );
9569
MakeDefEntry( "TOOLSETGENERATED",     "=", \@TOOLSETGENERATED ) if ( @TOOLSETGENERATED );
9488
MakeDefEntry( "TOOLSETOBJS",          "=", \@TOOLSETOBJS )      if ( @TOOLSETOBJS );
9570
MakeDefEntry( "TOOLSETOBJS",          "=", \@TOOLSETOBJS )      if ( @TOOLSETOBJS );
9489
MakeDefEntry( "TOOLSETLIBS",          "=", \@TOOLSETLIBS )      if ( @TOOLSETLIBS );
9571
MakeDefEntry( "TOOLSETLIBS",          "=", \@TOOLSETLIBS )      if ( @TOOLSETLIBS );
Line 9809... Line 9891...
9809
 
9891
 
9810
#   make_init - Test toolset presence and sanity
9892
#   make_init - Test toolset presence and sanity
9811
#   Will only be called ONCE for each platform in a recursive build
9893
#   Will only be called ONCE for each platform in a recursive build
9812
#   Should be used to ensure that the required toolset is present
9894
#   Should be used to ensure that the required toolset is present
9813
#
9895
#
9814
PrintPhonyRule ('make_init',       "@initdep" );
9896
PrintPhonyRule ('make_init',            "@initdep" );
9815
 
9897
 
9816
#   make_dir    - Create required subdirectories
9898
#   make_dir    - Create required subdirectories
9817
#   Will be invoked as a part of most targets that create files
9899
#   Will be invoked as a part of most targets that create files
9818
#   Will be invoked by the calling wrappers
9900
#   Will be invoked by the calling wrappers
9819
#   Should not be invoked when cleaning
9901
#   Should not be invoked when cleaning
9820
#
9902
#
9821
PrintPhonyRule ('make_dir',       "@mkdirdep" );
9903
PrintPhonyRule ('make_dir',             "@mkdirdep" );
9822
 
9904
 
9823
PrintPhonyRule ('generate',       "@generatedep @projectgendep" );
9905
PrintPhonyRule ('generate',             "@generatedep @projectgendep" );
9824
PrintPhonyRule ('ungenerate',     "@ungeneratedep",  \@ungenact);
9906
PrintPhonyRule ('ungenerate',           "@ungeneratedep",  \@ungenact);
9825
PrintPhonyRule ('unobj',          "",  \@unobjact);
9907
PrintPhonyRule ('unobj',                "",  \@unobjact);
9826
PrintPhonyRule ('make_lib',       "@libdep" );
9908
PrintPhonyRule ('make_lib',             "@libdep" );
9827
PrintPhonyRule ('lint_lib',       "@liblintdep" );
9909
PrintPhonyRule ('lint_lib',             "@liblintdep" );
9828
PrintPhonyRule ('make_mlib',      "@mlibdep" );
9910
PrintPhonyRule ('make_mlib',            "@mlibdep" );
9829
PrintPhonyRule ('lint_shlib',     "@shliblintdep" );
9911
PrintPhonyRule ('lint_shlib',           "@shliblintdep" );
9830
PrintPhonyRule ('unmake_lib',     "", \@unlibact );
9912
PrintPhonyRule ('unmake_lib',           "", \@unlibact );
9831
PrintPhonyRule ('unmake_mlib',    "", \@unmlibact );
9913
PrintPhonyRule ('unmake_mlib',          "", \@unmlibact );
9832
PrintPhonyRule ('make_script',    "@scriptdep" );
9914
PrintPhonyRule ('make_script',          "@scriptdep" );
9833
PrintPhonyRule ('unmake_script',  "", \@unscriptact );
9915
PrintPhonyRule ('unmake_script',        "", \@unscriptact );
9834
PrintPhonyRule ('make_prog',      "make_script @progdep @projectdep" );
9916
PrintPhonyRule ('make_prog',            "make_script @progdep @projectdep" );
9835
PrintPhonyRule ('unmake_prog',    "unmake_script @projectcleandep", \@unprogact );
9917
PrintPhonyRule ('unmake_prog',          "unmake_script @projectcleandep", \@unprogact );
9836
PrintPhonyRule ('lint_prog',      "@proglintdep" );
9918
PrintPhonyRule ('lint_prog',            "@proglintdep" );
9837
PrintPhonyRule ('exec_tests',     "make_script @testprogdep @runtestdep" );
9919
PrintPhonyRule ('exec_tests',           "make_script @testprogdep @runtestdep" );
9838
PrintPhonyRule ('exec_unit_tests',"make_script @testprogdep @autoruntestdep" );
9920
PrintPhonyRule ('exec_unit_tests',      "make_script @testprogdep @autoruntestdep" );
9839
PrintPhonyRule ('make_test',      "make_script @testprogdep" );
9921
PrintPhonyRule ('make_test',            "make_script @testprogdep" );
9840
PrintPhonyRule ('unmake_test',    "unmake_script", \@untestprogact );
9922
PrintPhonyRule ('unmake_test',          "unmake_script", \@untestprogact );
-
 
9923
PrintPhonyRule ('preprocess_tests',     '$(AUTOUNITTESTS_PRE)' );
-
 
9924
PrintPhonyRule ('postprocess_tests',    '$(AUTOUNITTESTS_POST)' );
-
 
9925
PrintPhonyRule ('collate_test_results', '$(AUTOUNITTESTS_COLLATE)' );
9841
 
9926
 
9842
#-------------------------------------------------------------------------------
9927
#-------------------------------------------------------------------------------
9843
#   Package and Installation Summary
9928
#   Package and Installation Summary
9844
#
9929
#
9845
    MakeHeader ("Package and Installation Summary");
9930
    MakeHeader ("Package and Installation Summary");
Line 9973... Line 10058...
9973
    Maketag( "make_script",         @scriptdep );
10058
    Maketag( "make_script",         @scriptdep );
9974
    Maketag( "make_prog",           @progdep || @projectdep );
10059
    Maketag( "make_prog",           @progdep || @projectdep );
9975
    Maketag( "make_test",           @testprogdep );
10060
    Maketag( "make_test",           @testprogdep );
9976
    Maketag( "exec_tests",          $TESTS_TO_RUN     || @TESTPROJECT_TO_URUN || $TESTS_TO_AUTORUN || @TESTPROJECT_TO_ARUN );
10061
    Maketag( "exec_tests",          $TESTS_TO_RUN     || @TESTPROJECT_TO_URUN || $TESTS_TO_AUTORUN || @TESTPROJECT_TO_ARUN );
9977
    Maketag( "exec_unit_tests",     $TESTS_TO_AUTORUN || @TESTPROJECT_TO_ARUN );
10062
    Maketag( "exec_unit_tests",     $TESTS_TO_AUTORUN || @TESTPROJECT_TO_ARUN );
9978
    Maketag( "process_tests",       $ScmToolsetProcessTests );
10063
    Maketag( "process_tests",       @TOOLSET_UTF_PRE || @TOOLSET_UTF_POST || @TOOLSET_UTF_COLLATE);
9979
    Maketag( "install_hdr",         %INSTALL_HDRS );
10064
    Maketag( "install_hdr",         %INSTALL_HDRS );
9980
    Maketag( "install_class",       %INSTALL_CLSS );
10065
    Maketag( "install_class",       %INSTALL_CLSS );
9981
    Maketag( "install_lib",         %INSTALL_LIBS );
10066
    Maketag( "install_lib",         %INSTALL_LIBS );
9982
    Maketag( "install_prog",        %INSTALL_PROGS );
10067
    Maketag( "install_prog",        %INSTALL_PROGS );
9983
    Maketag( "deploy",              %DEPLOYPACKAGE );
10068
    Maketag( "deploy",              %DEPLOYPACKAGE );
9984
    Maketag( "package",             %PACKAGE_FILES || %PACKAGE_HDRS || %PACKAGE_CLSS ||
10069
    Maketag( "package",             %PACKAGE_FILES || %PACKAGE_HDRS || %PACKAGE_CLSS ||
9985
                                    %PACKAGE_LIBS || %PACKAGE_SHLIBS || %PACKAGE_PROGS );
10070
                                    %PACKAGE_LIBS || %PACKAGE_SHLIBS || %PACKAGE_PROGS );
9986
 
10071
 
9987
    #
10072
    #
9988
    #   Display tags in the MAKEFILE
10073
    #   Display tags in the MAKEFILE
9989
    #   Not used here - just for show
10074
    #       Not used here - just for show
9990
    #
10075
    #
9991
    MakeHeader ("Maketags");
10076
    MakeHeader ("Maketags");
9992
    foreach my $tag ( sort keys %MakeTags )
10077
    foreach my $tag ( sort keys %MakeTags )
9993
    {
10078
    {
9994
        MakePadded( 2, "#   $tag:", defined ($MakeTags{$tag}) ? 1 : 0, "\n");
10079
        MakePadded( 3, "#   $tag:", '1', "\n");
9995
    }
10080
    }
9996
 
10081
 
9997
#-------------------------------------------------------------------------------
10082
#-------------------------------------------------------------------------------
9998
#   End of Makefile
10083
#   End of Makefile
9999
#
10084
#