1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2<html> 3<head> 4<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 5<meta http-equiv="Content-Style-Type" content="text/css"> 6<title>ctr_makecro</title> 7<style type="text/css"> 8<!-- 9body { 10/* 11 font-size : 10pt; 12*/ 13 font-weight : normal; 14 color : #000000; 15 margin : 8px; 16} 17 18div { 19 width : 98%; 20 white-space : nowrap; 21} 22 23div.title { 24 text-align : left; 25 font-weight : bold; 26/* 27 font-size : 16pt; 28*/ 29 font-size : 150%; 30 color : #202020; 31 border-style : double; 32 border-width : 8px; 33 /* タイトルを囲む枠線の色を指定 */ 34 border-color : #CD202C; 35 36 /* RVLプラットフォーム系列 */ 37/* 38 border-color : #34beed; 39*/ 40 41 /* TWLプラットフォーム系列 */ 42/* 43 border-color : #ff458f; 44*/ 45 46 margin : 4px; 47 padding : 4px; 48} 49H1 { 50 font-size : 150%; 51 font-family : Arial; 52 border-bottom-width : 5px; 53 border-bottom-style : solid; 54 border-bottom-color : #CD202C; 55 padding-bottom : 1px; 56 margin-bottom : 20px; 57 letter-spacing : normal; 58 font-weight : bold; 59} 60 61h2 { 62 font-weight : bold; 63/* 64 font-size : 16pt; 65*/ 66 font-size : 150%; 67 border-style : none none solid double; 68 border-width : 0px 0px 2px 8px; 69 /* 見出しの線の色を指定 */ 70 border-color : #CD202C; 71 72 /* RVLプラットフォーム系列 */ 73/* 74 border-color : #34beed; 75*/ 76 77 /* TWLプラットフォーム系列 */ 78/* 79 border-color : #ff458f; 80*/ 81 82 margin-left : 2px; 83 padding-left : 4px; 84} 85CODE { 86 font-family : "Courier New", monospace; 87 left : 12px; 88 font-size : 10pt; 89} 90table { 91 margin: 0.5em 0 0.5em 1em; 92 padding-left : 0pt; 93 padding-right : 0pt; 94 font-family : Arial; 95 font-size : 0.8em; 96 border-style : none; 97} 98table table 99{ 100 border-collapse : collapse; 101 width : 90%; 102} 103table table td 104{ 105 border : solid 1px black; 106} 107th 108{ 109 white-space: nowrap; 110} 111 112td,th { 113 padding : 2pt; 114 border-width : 2pt; 115 border-style : none none none none; 116 font-style : normal; 117 text-align : left; 118} 119td { 120 background : #e8f4f4; 121 font-weight : normal; 122} 123th { 124 background : #c0d8d8; 125 font-weight : bold; 126} 127table tbody th 128{ 129 white-space: nowrap; 130 background : #e8f4f4; 131 font-weight : normal; 132 font-family: monospace; 133} 134 135p { 136 margin-left : 4px; 137} 138pre.code { 139 margin-left : 1em; 140 font-family : "Courier New", monospace; 141 left : 12px; 142 font-size : 10pt; 143 background : #e8f4f4; 144} 145 146--> 147</style> 148 149</head> 150<body> 151<a name="top"></a> <!-- ※注意事項 --> <!-- ・(任意)となっているものは、記載が無くても問題ありません。 --> <!-- ・各項目についてる(必須)や(任意)は、作成後に削除してください。 --> <!-- ・各項目内の書き方は、パッケージごとに自由で問題ありませんが、同じパッケージ内で違いがでないようにしてください。 --> <!-- ・タグはすべて小文字、終了タグを持たないものは「/>」で閉じてください。--> <!-- ・HTMLコードのインデントは、各種社内コード規約と同様にスペース4文字か4文字幅のタブになるようにしてください--> 152 153<h1><CODE>ctr_makecro</CODE></h1> 154 155 156<h2><a name="intro">Introduction</a></h2> 157<p> 158 <CODE>ctr_makecro</CODE> is a Windows program for making <CODE>.cro</CODE> files.<br/> <CODE>ctr_makecro</CODE> also has features that are necessary for making <CODE>.cro</CODE> files such as a feature for making and updating the <CODE>.xrl</CODE> files that are necessary to create <CODE>.cro</CODE> files and a feature for creating files that are then given to the linker from <CODE>.xrl</CODE> files. 159</p> 160<p> 161 For more information, see the <a href="../TechnicalNotes/Dll/BuildSystemDevelopmentGuideForDllAdvanced.html" target="_parent">Guide to Developing a Build System (for High-Level DLLs)</a>. 162</p> 163 164 165 166 167 168<h2><a name="usage">How to Use</a></h2> 169 170<ul> 171<li><a href="#make_cro">Create <CODE>.CRO</CODE> and <CODE>.CRS</CODE> Files</a></li> 172<li><a href="#merge_unresolved">Merge Undefined Symbols in <CODE>.XRL</CODE> Files</a></li> 173<li><a href="#resolve_xrl">Resolve <CODE>.XRL</CODE> File References</a></li> 174<li><a href="#make_xrl">Create <CODE>.XRL</CODE> Files</a></li> 175<li><a href="#merge_xrl">Merge <CODE>.XRL</CODE> Files</a></li> 176<li><a href="#record_offset">Record an Offset for <CODE>.XRL</CODE> Files</a></li> 177<li><a href="#make_edit">Create Steering Files</a></li> 178<li><a href="#replace_symbol">Replace Unresolved Symbols</a></li> 179<li><a href="#make_export_cmd">Create a Command File for Forced Exports</a></li> 180<li><a href="#make_import_cmd">Create a Command File for Forced Imports</a></li> 181</ul> 182 183<hr> 184<h3><a name="make_cro">Create <CODE>.CRO</CODE> and <CODE>.CRS</CODE> Files</a></h3> 185 186<h4>What Is Required</h4> 187<p> 188 The following files are used for creating <CODE>.cro</CODE> and <CODE>.crs</CODE> files. 189</p> 190<ul> 191<li>The <CODE>.xrl</CODE> file that contains the details for the <CODE>.cro</CODE> file.</li> 192<li>The <CODE>.xrl</CODE> file that records the module offset for modules that are referenced and have offset as the export type.</li> 193<li>For <CODE>.crs</CODE> files, the <CODE>.axf</CODE> files for static modules.</li> 194<li>For <CODE>.cro</CODE> files, the <CODE>.axf</CODE> files for dynamic modules that were linked by specifying the <CODE>-dll</CODE> option.</li> 195</ul> 196 197<h4>Commands</h4> 198<pre class="code"> 199% ctr_makecro -o CRO_FILE -t RLT_FILE -d XRL_FILE [-r REF_FILE [-r REF_FILE2 ...]] AXF_FILE 200</pre> 201 202<h4>Options</h4> 203<table border="1" summary="options"> 204<thead> 205<tr> 206 <th>Options</th> 207 <th>Description</th> 208</tr> 209</thead> 210<tbody> 211<tr> 212 <th><CODE>-o CRO_FILE</CODE></th> 213 <td> 214 Specifies the output path for the <CODE>.cro</CODE> or <CODE>.crs</CODE> file.<br/> The <CODE>.xrl</CODE> file specified with the <CODE>-d</CODE> option determines whether a <CODE>.cro</CODE> or <CODE>.crs</CODE> file is created. 215 </td> 216</tr> 217<tr> 218 <th><CODE>-t RLT_FILE</CODE></th> 219 <td> 220 Specifies the output path for the <CODE>.rlt</CODE> file.<br/> This <CODE>.rlt</CODE> file is necessary for creating a <CODE>.crr</CODE> file. 221 </td> 222</tr> 223<tr> 224 <th><CODE>-d XRL_FILE</CODE></th> 225 <td> 226 Specifies the <CODE>.xrl</CODE> file that contains the details for the <CODE>.cro</CODE> file. 227 </td> 228</tr> 229<tr> 230 <th><CODE>-r REF_FILE</CODE></th> 231 <td> 232 Specifies the <CODE>.xrl</CODE> file that is referenced to resolve offsets.<br/> To specify multiple <CODE>.xrl</CODE> files, specify the <CODE>-r</CODE> option multiple times in the command. 233 </td> 234</tr> 235<tr> 236 <th><CODE>AXF_FILE</CODE></th> 237 <td> 238 Specifies the <CODE>.axf</CODE> file to convert to a <CODE>.cro</CODE> file. 239 </td> 240</tr> 241</tbody> 242</table> 243 244<hr> 245<h3><a name="merge_unresolved">Merge Undefined Symbols in <CODE>.XRL</CODE> Files</a></h3> 246 247<h4>What Is Required</h4> 248<p> 249 The following files are used when merging undefined <CODE>.xrl</CODE> symbols. 250</p> 251<ul> 252<li>The <CODE>.xrl</CODE> file for static modules.</li> 253<li>The <CODE>.xrl</CODE> file for dynamic modules.</li> 254</ul> 255 256<h4>Commands</h4> 257<pre class="code"> 258% ctr_makecro -c [-i|-e] -o OUT_FILE -r REF_FILE [-r REF_FILE2 ...] BASE_FILE 259</pre> 260 261<p> 262 When specifying options, make sure to specify either the <CODE>-i</CODE> or <CODE>-e</CODE> option. If you do not specify either option, the export type for undefined symbols is <CODE>symbol</CODE>. 263</p> 264 265<h4>Options</h4> 266<table border="1" summary="options"> 267<thead> 268<tr> 269 <th>Options</th> 270 <th>Description</th> 271</tr> 272</thead> 273<tbody> 274<tr> 275 <th><CODE>-c</CODE></th> 276 <td> 277 Specifies to merge the undefined symbols in the <CODE>.xrl</CODE> files. 278 </td> 279</tr> 280<tr> 281 <th><CODE>-i</CODE></th> 282 <td> 283 Specifies <CODE>index</CODE> as the export type for undefined symbols. 284 </td> 285</tr> 286<tr> 287 <th><CODE>-e</CODE></th> 288 <td> 289 Specifies <CODE>offset</CODE> as the export type for undefined symbols. 290 </td> 291</tr> 292<tr> 293 <th><CODE>-o OUTPUT_FILE</CODE></th> 294 <td> 295 Specifies the output path for the <CODE>.xrl</CODE> file. 296 </td> 297</tr> 298<tr> 299 <th><CODE>-r REF_FILE</CODE></th> 300 <td> 301 Specifies the <CODE>.xrl</CODE> file for dynamic modules.<br/> To specify multiple <CODE>.xrl</CODE> files, specify the <CODE>-r</CODE> option multiple times in the command. 302 </td> 303</tr> 304<tr> 305 <th><CODE>BASE_FILE</CODE></th> 306 <td> 307 Specifies the <CODE>.xrl</CODE> file for static modules. 308 </td> 309</tr> 310</tbody> 311</table> 312 313<hr> 314<h3><a name="resolve_xrl">Resolve <CODE>.XRL</CODE> File References</a></h3> 315 316<h4>What Is Required</h4> 317<p> 318 The following files are used when resolving <CODE>.xrl</CODE> file references. 319</p> 320<ul> 321<li>The <CODE>.xrl</CODE> file for which references are resolved.</li> 322<li>The <CODE>.xrl</CODE> file that is referenced.</li> 323</ul> 324 325<h4>Commands</h4> 326<pre class="code"> 327% ctr_makecro -f -o OUT_FILE -r REF_FILE1 [-r REF_FILE2 ...] BASE_FILE 328</pre> 329 330<h4>Options</h4> 331<table border="1" summary="options"> 332<thead> 333<tr> 334 <th>Options</th> 335 <th>Description</th> 336</tr> 337</thead> 338<tbody> 339<tr> 340 <th><CODE>-f</CODE></th> 341 <td> 342 Specifies to resolve <CODE>.xrl</CODE> file references. 343 </td> 344</tr> 345<tr> 346 <th><CODE>-o OUTPUT_FILE</CODE></th> 347 <td> 348 Specifies the output path for the <CODE>.xrl</CODE> file. 349 </td> 350</tr> 351<tr> 352 <th><CODE>-r XRL_FILE</CODE></th> 353 <td> 354 Specifies the <CODE>.xrl</CODE> file to reference for dynamic modules.<br/> To specify multiple <CODE>.xrl</CODE> files, specify the <CODE>-r</CODE> option multiple times in the command. 355 </td> 356</tr> 357<tr> 358 <th><CODE>BASE_FILE</CODE></th> 359 <td> 360 Specifies the <CODE>.xrl</CODE> file for which references are resolved. 361 </td> 362</tr> 363</tbody> 364</table> 365 366<hr> 367<h3><a name="make_xrl">Create <CODE>.XRL</CODE> Files</a></h3> 368 369<h4>What Is Required</h4> 370<p> 371 The following files are used when creating <CODE>.xrl</CODE> files. 372</p> 373<ul> 374<li>The <CODE>.plf</CODE> files for which the target modules were linked with the <CODE>-partial</CODE> option.</li> 375</ul> 376 377<h4>Commands</h4> 378<pre class="code"> 379% ctr_makecro -l [-a] [-i|-e] -o OUT_FILE PLF_FILE 380</pre> 381 382<p> 383 Specify the <CODE>-a</CODE> option when you create <CODE>.xrl</CODE> files for static modules. If you do not specify the <CODE>-a</CODE> option, <CODE>.xrl</CODE> files for dynamic modules are created. 384</p> 385<p> 386 When specifying options, make sure to specify either the <CODE>-i</CODE> or <CODE>-e</CODE> option. If you do not specify either option, the export type is <CODE>symbol</CODE>. 387</p> 388 389<h4>Options</h4> 390<table border="1" summary="options"> 391<thead> 392<tr> 393 <th>Options</th> 394 <th>Description</th> 395</tr> 396</thead> 397<tbody> 398<tr> 399 <th><code>-l</code></th> 400 <td> 401 Specifies the creation of the <CODE>.xrl</CODE> file. 402 </td> 403</tr> 404<tr> 405 <th><CODE>-a</CODE></th> 406 <td> 407 Specifies that the <CODE>.xrl</CODE> file is for static modules. 408 </td> 409</tr> 410<tr> 411 <th><CODE>-i</CODE></th> 412 <td> 413 Specifies <CODE>index</CODE> as the export type. 414 </td> 415</tr> 416<tr> 417 <th><CODE>-e</CODE></th> 418 <td> 419 Specifies <CODE>offset</CODE> as the export type. 420 </td> 421</tr> 422<tr> 423 <th><CODE>-o OUTPUT_FILE</CODE></th> 424 <td> 425 Specifies the output path for the <CODE>.xrl</CODE> file. 426 </td> 427</tr> 428<tr> 429 <th><CODE>PLF_FILE</CODE></th> 430 <td> 431 Specifies the <CODE>.plf</CODE> file that is used to create the <CODE>.xrl</CODE> file. 432 </td> 433</tr> 434</tbody> 435</table> 436 437<hr> 438<h3><a name="merge_xrl">Merge <CODE>.XRL</CODE> Files</a></h3> 439 440<h4>What Is Required</h4> 441<p> 442 The following files are used when merging <CODE>.xrl</CODE> files. 443</p> 444<ul> 445<li>The two <CODE>.xrl</CODE> files to merge.</li> 446</ul> 447 448<h4>Commands</h4> 449<pre class="code"> 450% ctr_makecro -m -o OUT_FILE -d XRL_FILE1 -d XRL_FILE2 [-n MODULE_NAME] [-g] 451</pre> 452 453<h4>Options</h4> 454<table border="1" summary="options"> 455<thead> 456<tr> 457 <th>Options</th> 458 <th>Description</th> 459</tr> 460</thead> 461<tbody> 462<tr> 463 <th><CODE>-m</CODE></th> 464 <td> 465 Specifies the merging of the <CODE>.xrl</CODE> files. 466 </td> 467</tr> 468<tr> 469 <th><CODE>-o OUTPUT_FILE</CODE></th> 470 <td> 471 Specifies the output path for the <CODE>.xrl</CODE> file. 472 </td> 473</tr> 474<tr> 475 <th><CODE>-d XRL_FILE</CODE></th> 476 <td> 477 Specifies the <CODE>.xrl</CODE> files to merge.<br/> Two <CODE>.xrl</CODE> files must be specified. 478 </td> 479</tr> 480<tr> 481 <th><CODE>-n MODULE_NAME</CODE></th> 482 <td> 483 Specifies the name for the merged module. 484 </td> 485</tr> 486<tr> 487 <th><CODE>-g</CODE></th> 488 <td> 489 Specifies that no error occurs if there are duplicate symbols. 490 </td> 491</tr> 492</tbody> 493</table> 494 495<hr> 496<h3><a name="record_offset">Record an Offset for <CODE>.XRL</CODE> Files</a></h3> 497 498<h4>What Is Required</h4> 499<p> 500 The following files are used when recording an offset for <CODE>.xrl</CODE> files. 501</p> 502<ul> 503<li>The <CODE>.xrl</CODE> files for the modules for which an offset is recorded.</li> 504<li>The <CODE>.axf</CODE> files for the modules that correspond to the <CODE>.xrl</CODE> files.</li> 505</ul> 506 507<h4>Commands</h4> 508<pre class="code"> 509% ctr_makecro -p -o OUT_FILE -d IN_FILE AXF_FILE 510</pre> 511 512<h4>Options</h4> 513<table border="1" summary="options"> 514<thead> 515<tr> 516 <th>Options</th> 517 <th>Description</th> 518</tr> 519</thead> 520<tbody> 521<tr> 522 <th><CODE>-p</CODE></th> 523 <td> 524 Specifies the recording of an offset to the <CODE>.xrl</CODE> file. 525 </td> 526</tr> 527<tr> 528 <th><CODE>-o OUTPUT_FILE</CODE></th> 529 <td> 530 Specifies the output path for the <CODE>.xrl</CODE> file. 531 </td> 532</tr> 533<tr> 534 <th><CODE>-d IN_FILE</CODE></th> 535 <td> 536 Specifies the base <CODE>.xrl</CODE> file. 537 </td> 538</tr> 539<tr> 540 <th><CODE>AXF_FILE</CODE></th> 541 <td> 542 Specifies the <CODE>.axf</CODE> file that was the basis for the <CODE>.cro</CODE> file that corresponds to the <CODE>IN_FILE</CODE> file. 543 </td> 544</tr> 545</tbody> 546</table> 547 548<hr> 549<h3><a name="make_edit">Create Steering Files</a></h3> 550 551<h4>What Is Required</h4> 552<p> 553 The following files are used when you create a steering file. 554</p> 555<ul> 556<li><CODE>.xrl</CODE> files</li> 557</ul> 558 559<h4>Commands</h4> 560<pre class="code"> 561% ctr_makecro -s -o OUT_FILE XRL_FILE 562</pre> 563 564<h4>Options</h4> 565<table border="1" summary="options"> 566<thead> 567<tr> 568 <th>Options</th> 569 <th>Description</th> 570</tr> 571</thead> 572<tbody> 573<tr> 574 <th>-s</th> 575 <td> 576 Specifies the creation of a steering file. 577 </td> 578</tr> 579<tr> 580 <th><CODE>-o OUTPUT_FILE</CODE></th> 581 <td> 582 Specifies the output path for the file. 583 </td> 584</tr> 585<tr> 586 <th><CODE>XRL_FILE</CODE></th> 587 <td> 588 Specifies the <CODE>.xrl</CODE> file that is the basis for the steering file. 589 </td> 590</tr> 591</tbody> 592</table> 593 594<hr> 595<h3><a name="replace_symbol">Replace Unresolved Symbols</a></h3> 596 597<h4>What Is Required</h4> 598<p> 599 The following files are used when replacing unresolved symbols. 600</p> 601<ul> 602<li>The <CODE>.axf</CODE> files for the static modules for which unresolved symbols are replaced</li> 603</ul> 604 605<h4>Commands</h4> 606<pre class="code"> 607% ctr_makecro -u SYMBOL -o OUT_FILE AXF_FILE 608</pre> 609 610<h4>Options</h4> 611<table border="1" summary="options"> 612<thead> 613<tr> 614 <th>Options</th> 615 <th>Description</th> 616</tr> 617</thead> 618<tbody> 619<tr> 620 <th><CODE>-u SYMBOL</CODE></th> 621 <td> 622 Specifies the replacement of unresolved symbols.<br/> <CODE>SYMBOL</CODE> specifies the symbols to replace. 623 </td> 624</tr> 625<tr> 626 <th><CODE>-o OUTPUT_FILE</CODE></th> 627 <td> 628 Specifies the output path for the file. 629 </td> 630</tr> 631<tr> 632 <th><CODE>AXF_FILE</CODE></th> 633 <td> 634 Specifies the <CODE>.axf</CODE> file for which unresolved symbols are replaced. 635 </td> 636</tr> 637</tbody> 638</table> 639 640<hr> 641<h3><a name="make_export_cmd">Create a Command File for Forced Exports</a></h3> 642 643<h4>What Is Required</h4> 644<p> 645 The following files are used when creating a command file for forced exports. 646</p> 647<ul> 648<li><CODE>.xrl</CODE> files</li> 649</ul> 650 651<h4>Commands</h4> 652<pre class="code"> 653% ctr_makecro -x [-y SYMBOL] -o OUT_FILE XRL_FILE 654</pre> 655 656<h4>Options</h4> 657<table border="1" summary="options"> 658<thead> 659<tr> 660 <th>Options</th> 661 <th>Description</th> 662</tr> 663</thead> 664<tbody> 665<tr> 666 <th><CODE>-x</CODE></th> 667 <td> 668 Specifies the creation of a command file for forced exports. 669 </td> 670</tr> 671<tr> 672 <th><CODE>-y SYMBOL</CODE></th> 673 <td> 674 Specifies the names of the symbols that force an export when they are added. 675 </td> 676</tr> 677<tr> 678 <th><CODE>-o OUTPUT_FILE</CODE></th> 679 <td> 680 Specifies the output path for the file. 681 </td> 682</tr> 683<tr> 684 <th><CODE>XRL_FILE</CODE></th> 685 <td> 686 Specifies the <CODE>.xrl</CODE> file that is the basis for the command file. 687 </td> 688</tr> 689</tbody> 690</table> 691 692<hr> 693<h3><a name="make_import_cmd">Create a Command File for Forced Imports</a></h3> 694 695<h4>What Is Required</h4> 696<p> 697 The following files are used when creating a command file for forced imports. 698</p> 699<ul> 700<li><CODE>.xrl</CODE> files</li> 701</ul> 702 703<h4>Commands</h4> 704<pre class="code"> 705% ctr_makecro -w -o OUT_FILE XRL_FILE 706</pre> 707 708<h4>Options</h4> 709<table border="1" summary="options"> 710<thead> 711<tr> 712 <th>Options</th> 713 <th>Description</th> 714</tr> 715</thead> 716<tbody> 717<tr> 718 <th><CODE>-w</CODE></th> 719 <td> 720 Specifies the creation of a command file for forced imports. 721 </td> 722</tr> 723<tr> 724 <th><CODE>-o OUTPUT_FILE</CODE></th> 725 <td> 726 Specifies the output path for the file. 727 </td> 728</tr> 729<tr> 730 <th><CODE>XRL_FILE</CODE></th> 731 <td> 732 Specifies the <CODE>.xrl</CODE> file that is the basis for the command file. 733 </td> 734</tr> 735</tbody> 736</table> 737 738 739 740 741 742<h2><a name="history">Revision History</a></h2> 743 <dl class="history"> 744 <dt>2012/06/22</dt> 745 <dd>Initial version.</dd> 746 </dl> 747<hr><p>CONFIDENTIAL</p></body> 748</html>