|
|
1.1 root 1: .TH DMDCC 1 "630 MTG"
2: .SH NAME
3: dmdcc \- 630 MTG C compiler
4: .SH SYNOPSIS
5: \f3dmdcc [\f1 options \f3]\f1 file ...
6: .SH DESCRIPTION
7: The
8: .I dmdcc
9: command is the 630 MTG C compiler. Any software to be downloaded
10: into the 630 MTG must be compiled using this command.
11: .PP
12: \fIDmdcc\fR works in a similar manner to
13: other compiler (cc) commands but is enhanced to call
14: \fImc68cpp\fR and \fImc68ld\fR
15: with special arguments for the 630 MTG development environment.
16: In particular,
17: the \fIdmdcc\fR command defines the variable \fBDMD630\fR,
18: it sets the include search path
19: to $DMD/include, it sets the library search path to $DMD/lib,
20: it includes the standard 630 MTG libraries, it links in the 630
21: MTG C
22: run-time start-up routine crtm.o, and it tells \fImc68ld\fR
23: to retain relocation information so the
24: resulting executable file can be relocated before download into the
25: 630 MTG.
26: .PP
27: The exact arguments passed to \fImc68cpp\fR and \fImc68ld\fR
28: can be viewed by including the \fI-#\fR debugging argument on the
29: \fIdmdcc\fR command line.
30: .PP
31: The
32: \fIdmdcc\fR utility
33: accepts three types of arguments:
34: .RS 8
35: .B .c
36: .br
37: .B .s
38: .br
39: .B .o
40: .RE
41: .PP
42: Arguments whose names end with
43: .B .c
44: are the C source programs, and those with
45: .B .s
46: are the assembly programs.
47: They are compiled/assembled, and
48: each object program
49: whose name is that of the source with
50: .B .o
51: substituted
52: .RB "for " .c " or " .s
53: is left in the file.
54: The
55: .B .o
56: file is normally deleted if a single
57: C program is compiled and link-edited all at one time.
58: .PP
59: The following flags are interpreted by
60: .I dmdcc\c
61: \&.
62: See
63: .IR mc68cpp (1),
64: .IR mc68as (1)
65: and
66: .IR mc68ld (1)
67: for other useful flags.
68: .PP
69: .TP 6
70: \fB\-c\fR
71: Suppress the link-editing phase of the compilation, and force
72: an object file to be produced even if only one program is compiled.
73: .PP
74: .TP 6
75: \fB\-g\fR
76: Flag to the compiler to produce additional information needed for the
77: use of
78: .IR dmdpi (1).
79: \}
80: .PP
81: .TP 6
82: \fB\-O\fR
83: Invoke an object-code optimizer.
84: The optimizer will move, merge, and delete code; this option should not be
85: used if it is expected that compiled code may be debugged with \fIdmdpi\fR(1).
86: .PP
87: .TP 6
88: \fB\-W\fIc\fB,\fRarg1[\fB,\fRarg2...]
89: Hand off the argument[s]
90: to pass
91: .I c
92: where
93: .I c
94: is one of
95: .RB [ p02al ]
96: indicating preprocessor,
97: compiler,
98: optimizer,
99: assembler,
100: or link editor, respectively. For example:
101: .RS 6
102: .ce
103: .B \-Wa,\-m
104: .br
105: invokes the \f2m4\f1 macro preprocessor on the input to the assembler.
106: .RE
107: .PP
108: .TP 6
109: \fB\-S\fR
110: Compile the named C programs, and leave the
111: assembler-language output on corresponding files suffixed
112: .BR .s .
113: .PP
114: .TP 6
115: \fB\-P\fR
116: Run only the macro preprocessor
117: on the named C programs, and leave the output on corresponding
118: files suffixed
119: .BR .i .
120: .TP 6
121: \fB\-E\fR
122: Same as the
123: .B \-P
124: option except the output is directed to the standard output.
125: This allows the preprocessor to be used as a filter for
126: any other compiler.
127: .PP
128: .TP 6
129: \fB\-#\fR
130: Debug flag. Show the command lines passed to \fImc68cpp\fR,
131: \fImc68ccom\fR, \fImc68as\fR and \fImc68ld\fR.
132: .PP
133: .TP 6
134: \fB\-x\fR
135: Turn off special processing for the 630 MTG environment. This argument should
136: not be used when compiling programs to be downloaded into the 630
137: MTG.
138: .PP
139: .TP 6
140: \f3\-Z\f1 \f2n\f1
141: Allocate \f2n\f1 bytes of stack for process. If not specified the
142: default is 2048, Note that stack size can be overridden at
143: download time with the \f2dmdld -Z\f1 option. If \f2n\f1 is
144: specified smaller than 2048, it is defaulted to 2048.
145: .PP
146: .DT
147: .br
148: .DT
149: .PP
150: Other arguments
151: are taken
152: to be either C preprocessor or link-editor flag arguments, or C-compatible
153: object programs, typically produced by an earlier
154: .I dmdcc
155: run,
156: or perhaps libraries of C-compatible routines.
157: These programs, together with the results of any
158: compilations specified, are link-edited (in the order
159: given) to produce an executable program with name
160: .B dmda.out
161: unless the
162: .B \-o
163: option of the link-editor is used.
164: .PP
165: The
166: .I dmdcc
167: command expects the \fBDMD\fR shell variable to be set and exported in
168: the user's environment.
169: This variable must point to the "root" directory of the 630 MTG software
170: node.
171: .PP
172: \fIDmdcc\fR tags the downloadable ouput file with a
173: programming envirionment identification number (PEID) which is
174: used by \fIdmdld\fR prior to download to verify copatibility
175: with terminal firmware. The PEID is determined by \fIdmdcc\fR
176: from the firmware routine linkages included in the process.
177: Every firmware routine called by the process causes a linkage
178: to the routine to be retrieved from archive and included in
179: the load module. Each of these linkage routines is tagged with
180: a PEID related to the firmware version that supports the
181: called firmware routine. The PEID associated with the latest
182: level of firmware required to support those linkages retrieved
183: from archive is tagged to the load module. Compatibility with
184: earlier firmware releases is maintained as long as new
185: firmware functions not supported by older firmware are not used
186: in the program.
187: .SH FILES
188: .PD 0
189: .TP 22
190: file.c
191: input file
192: .TP 22
193: file.o
194: object file
195: .TP 22
196: file.s
197: assembly language file
198: .TP 22
199: dmda.out
200: link-edited output
201: .TP 22
202: /usr/tmp/mc68?
203: temporary file
204: .TP 22
205: $DMD/lib/mc68cpp
206: preprocessor
207: .TP 22
208: $DMD/lib/mc68ccom
209: compiler
210: .TP 22
211: $DMD/lib/mc68optim
212: optimizer
213: .TP 22
214: $DMD/bin/mc68as
215: assembler
216: .TP 22
217: $DMD/bin/mc68ld
218: link loader
219: .DT
220: .PD
221: .br
222: .SH SEE ALSO
223: dmdpi(1),
224: mc68as(1),
225: mc68cpp(1),
226: mc68ld(1).
227: .br
228: m4(1) in the
229: \f2UNIX System V Programmer's Reference Manual\f1.
230: .br
231: .sp
232: .IR "The C Programming Language",
233: by Kernighan, B. W., and Ritchie, D. M.,
234: Prentice-Hall, 1978.
235: .br
236: .I Programming in C\-A Tutorial
237: by Kernighan, B. W.
238: .br
239: .I C Reference Manual
240: by Ritchie, D. M.
241: .br
242: .br
243: .SH DIAGNOSTICS
244: The diagnostics produced by the C compiler are sometimes
245: cryptic.
246: Occasional messages may be produced by the assembler
247: or link-editor.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.