Subversion Repositories DevTools

Rev

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

Rev 313 Rev 315
Line 98... Line 98...
98
    $so = 'so';
98
    $so = 'so';
99
    $exe = '';
99
    $exe = '';
100
 
100
 
101
#.. Toolset configuration
101
#.. Toolset configuration
102
#
102
#
103
    $::ScmToolsetVersion = "1.0.0";               # our version
103
    $::ScmToolsetVersion = "1.0.0";             # our version
104
    $::ScmToolsetGenerate = 0;                    # GEN generate optional
104
    $::ScmToolsetGenerate = 0;                  # GEN generate optional
-
 
105
    $::ScmToolsetProgDependancies = 0;          # handle Prog dependancies myself
105
 
106
 
106
    my $ScmToolTarget = '';
107
    my $ScmToolTarget = '';
107
    my $ScmStudio = '';
108
    my $ScmStudio = '';
108
 
109
 
109
    #
110
    #
Line 512... Line 513...
512
 
513
 
513
    $io->SHLDDEPEND($name, $name, $shared);     # std SHLDDEPEND rules
514
    $io->SHLDDEPEND($name, $name, $shared);     # std SHLDDEPEND rules
514
 
515
 
515
    $io->Prt( "\$(LIBDIR)/${shared}:\tSHBASE=${name}\n" );
516
    $io->Prt( "\$(LIBDIR)/${shared}:\tSHBASE=${name}\n" );
516
    $io->Prt( "\$(LIBDIR)/${shared}:\tSHNAME=${shared}\n" );
517
    $io->Prt( "\$(LIBDIR)/${shared}:\tSHNAME=${shared}\n" );
517
    $io->Entry( "\$(LIBDIR)/${shared}:\t", "", "\\\n\t\t", ".$::o", @$pObjs );
518
    $io->Prt( "\$(LIBDIR)/${shared}: \\\n\t\t\$(LIBDIR)/${name}.dep" );
518
    $io->Prt( "\\\n\t\t\$(LIBDIR)/${name}.dep\n" );
519
    $io->Entry( "", "", " \\\n\t\t", ".$::o", @$pObjs );
519
    $io->Prt( "\t\$(SHLD)\n\n" );
520
    $io->Prt( "\n\t\$(SHLD)\n\n" );
520
 
521
 
521
 
522
 
522
#.. Linker command file
523
#.. Linker command file
523
#
524
#
524
#       Now the fun part... piecing together a variable $(name_shld)
525
#       Now the fun part... piecing together a variable $(name_shld)
Line 593... Line 594...
593
    foreach $_ ( @$pArgs )
594
    foreach $_ ( @$pArgs )
594
    {
595
    {
595
        Message( "LD: unknown option $_ -- ignored\n" );
596
        Message( "LD: unknown option $_ -- ignored\n" );
596
    }
597
    }
597
 
598
 
-
 
599
#.. Names of programs and components
-
 
600
#
-
 
601
    my $base = "\$(BINDIR)/${name}";
-
 
602
    my $full = $base . $::exe;
-
 
603
    my $dep  = $base . '.dep';
-
 
604
    my $map  = $base . '.map';
-
 
605
    my $ld  =  $base . '.ld';
-
 
606
    
598
#.. Cleanup rules
607
#.. Cleanup rules
599
#
608
#
600
#       dep     Dependency file
609
#       dep     Dependency file
601
#       map     Mape file
610
#       map     Mape file
602
#
611
#
603
    ToolsetGenerate( "\$(BINDIR)/${name}.dep" );
612
    ToolsetGenerate( $dep );
604
    ToolsetGenerate( "\$(BINDIR)/${name}.map" );
613
    ToolsetGenerate( $map );
605
 
614
 
606
 
615
 
607
#.. Build rules
616
#.. Build rules
608
#
617
#
609
    my ($io) = ToolsetPrinter::New();
618
    my ($io) = ToolsetPrinter::New();
610
 
619
 
611
    $io->Prt( "\\\n\t\t\$(BINDIR)/${name}.dep\n" .
620
    $io->Prt( "$full : $dep " );
-
 
621
    $io->Entry( "", "", "\\\n\t", ".$::o ", @$pObjs );
612
              "\t\$(LD)\n\n" );
622
    $io->Prt( "\n\t\$(LD)\n\n" );
-
 
623
 
-
 
624
 
-
 
625
#.. Library dependency information
-
 
626
#   Rules to include a .dep file when required
-
 
627
#
-
 
628
 
613
    $io->LDDEPEND( $name );                     # standard LDDEPEND rules
629
    $io->LDDEPEND( $name );                     # standard LDDEPEND rules
614
    $io->Newline();
630
    $io->Newline();
615
 
631
 
616
#.. Linker command file
632
#.. Linker command file
617
#
633
#
Line 634... Line 650...
634
#
650
#
635
    $io->SetTag( "${name}_dp" );                        # macro tag
651
    $io->SetTag( "${name}_dp" );                        # macro tag
636
    $io->SetTerm();
652
    $io->SetTerm();
637
 
653
 
638
    $io->DepRules( $name, $pLibs,                       # library depends rules
654
    $io->DepRules( $name, $pLibs,                       # library depends rules
639
        \&ToolsetLibRecipe, "\$(BINDIR)/${name}" );
655
        \&ToolsetLibRecipe, $base );
640
 
656
 
641
    $io->Newline();
657
    $io->Newline();
-
 
658
 
-
 
659
#.. Package up the program and other artifacts
-
 
660
#
-
 
661
    PackageProgAddFiles ( $name, $full );
-
 
662
 
642
}
663
}
643
 
664
 
644
 
665
 
645
########################################################################
666
########################################################################
646
#
667
#