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>