Subversion Repositories DevTools

Rev

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

Rev 287 Rev 335
Line 598... Line 598...
598
 
598
 
599
    ####################################################################
599
    ####################################################################
600
    #
600
    #
601
    #   Build the .X30 file from the .R30 object files
601
    #   Build the .X30 file from the .R30 object files
602
    #
602
    #
-
 
603
    my $dep = $io->SetLdTarget( $lib );
-
 
604
 
603
    $io->Label( "Link Object Files", $name );
605
    $io->Label( "Link Object Files", $name );
604
    my $Xname = "\$(BINDIR)/$lib";
606
    my $Xname = "\$(BINDIR)/$lib";
605
    my $Tname = "$Xname.X30";
607
    my $Tname = "$Xname.X30";
606
 
608
 
607
    $io->Prt( "$Tname:\tSHBASE=${lib}\n" );
609
    $io->Prt( "$Tname:\tSHBASE=${lib}\n" );
608
    $io->Prt( "$Tname:\tSHNAME=${lib}\n" );
610
    $io->Prt( "$Tname:\tSHNAME=${lib}\n" );
609
#    $io->Prt( "$Tname:\tCFLAGS+=\$(SHCFLAGS)\n" );
-
 
610
#    $io->Prt( "$Tname:\tCXXLAGS+=\$(SHCXXFLAGS)\n" );
-
 
611
    $io->Entry( "$Tname :\t", "", "\\\n\t\t", ".$::o ", @$pObjs );
611
    $io->Entry( "$Tname :\t", "", "\\\n\t\t", ".$::o ", @$pObjs );
612
    $io->Prt( "\\\n\t\t\$(GBE_PLATFORM).mk " );
612
    $io->Prt( "\\\n\t\t\$(SCM_MAKEFILE) " );
613
    $io->Prt( "\\\n\t\t$Xname.dep " );
613
    $io->Prt( "\\\n\t\t$dep " );
614
    $io->Prt( "\n\t\$(LD)\n" );
614
    $io->Prt( "\n\t\$(LD)\n" );
615
    $io->Newline();
615
    $io->Newline();
616
 
616
 
617
    #
617
    #
618
    #   Add the MAP file to the program package
618
    #   Add the MAP file to the program package
Line 621... Line 621...
621
    
621
    
622
    #
622
    #
623
    #   Register generated file for cleanup
623
    #   Register generated file for cleanup
624
    #
624
    #
625
    ToolsetGenerate( "$Xname.X30" );
625
    ToolsetGenerate( "$Xname.X30" );
626
    ToolsetGenerate( "$Xname.dep" );
-
 
627
    ToolsetGenerate( "$Xname.map" );
626
    ToolsetGenerate( "$Xname.map" );
628
 
627
 
629
    ####################################################################
628
    ####################################################################
630
    #
629
    #
631
    #   Build the linker command file
630
    #   Build the linker command file
Line 663... Line 662...
663
    $io->Newline();
662
    $io->Newline();
664
    ToolsetGenerate( "$Xname.ld" );
663
    ToolsetGenerate( "$Xname.ld" );
665
 
664
 
666
    ####################################################################
665
    ####################################################################
667
    #
666
    #
-
 
667
    #.. Dependency link,
668
    #   Build the linker dependancy file
668
    #   Create a linker dependency file
669
    #   This will be used to generate associations between the .X30 file
669
    #   This will be used to generate associations between the .X30 file
670
    #   and libraries used to create the .X30 file
670
    #   and libraries used to create the .X30 file
671
    #
671
    #
672
    #   This information is calculated at 'make' time
672
    #       Create command file to build applicaton dependency list
673
    #
-
 
674
    $io->Label( "Linker dependancy rules", $name );     # label
-
 
675
    $io->SetTag( "${lib}_dp" );                         # command tag
-
 
676
    $io->DepRules( $lib, $pLibs,                        # library depends rules
-
 
677
            \&ToolsetLibRecipe, "$Xname.X30" );
673
    #       from the list of dependent libraries
678
 
-
 
679
    #
674
    #
680
    #   Generate Shared Library dependency information
675
    #       Create makefile directives to include the dependency
-
 
676
    #       list into the makefile.
681
    #
677
    #
682
    $io->LDDEPEND( $lib );                # std LDDEPEND rules
678
    $io->DepRules( $pLibs, \&ToolsetLibRecipe, "$Xname.X30" );
683
 
-
 
-
 
679
    $io->LDDEPEND();
684
 
680
 
685
    #
681
    #
686
    #   The Program that 'should' be created by this function does not always
682
    #   The Program that 'should' be created by this function does not always
687
    #   get produced. The name MUST be retained, but it is a PHONY.
683
    #   get produced. The name MUST be retained, but it is a PHONY.
688
    #   Create a recipe to build the bits we really need
684
    #   Create a recipe to build the bits we really need