|
|
1.1 root 1: CPP=/lib/cpp
2: RELSRC= (source file area)
3: COMP=${RELSRC}/lib/ccom
4: OPT=${RELSRC}/lib/c2
5: LIST=/usr/bin/alist
6: ASM=/bin/as
7: LD=/bin/ld
8: LIB=/lib
9: CLIB=/lib/libc.a
10: START=$LIB/crt0.o
11: TMP=/tmp/cct$$
12: L=
13: P=
14: ecode=0
15: noasm=0
16: conly=0
17: names=0
18: ppopts=-I/usr/include
19:
20: trap "rm -f $TMP.?; exit 2" 1 2 3
21:
22: for i in $*
23: do
24: case $i in
25: *.c) case $names in
26: 0) names=1 ;;
27: 1) names=2 ;;
28: esac ;;
29: esac
30: done
31: for i in $*
32: do
33: case $i in
34: -O)
35: opt=$OPT
36: ;;
37: -c)
38: conly=1
39: ;;
40: -L)
41: L=l
42: opt=
43: cflag="$cflag -Xg"
44: ;;
45: -P|-R|-d*)
46: asflg="$asflg $i"
47: ;;
48: -S)
49: noasm=1
50: conly=1
51: ;;
52: -I*|-[DU]*|-C)
53: ppopts=$ppopts\ $i
54: ;;
55: -E)
56: exflg=E
57: noasm=1
58: ;;
59: -g)
60: cflag="$cflag -Xg"
61: ;;
62: -w)
63: cflag="$cflag $i"
64: ;;
65: -p)
66: cflag="$cflag -XP"
67: START=$LIB/mcrt0.o
68: CLIB=/usr/lib/libc_p.a
69: ;;
70: *.c)
71: f=$i
72: i=`basename $i .c`
73: case $names in
74: 1) del=$i.o ;;
75: *) echo $f: 1>&2 ;;
76: esac
77: case $exflg in
78: E) $CPP $ppopts $f - ; exit 0;
79: esac
80: $CPP $ppopts $f | $COMP $cflag >$TMP.a
81: case $? in
82: 0)
83: case $L in
84: l) $LIST $f $TMP.a $TMP.b; mv $TMP.b $TMP.a;;
85: esac
86: case "$opt" in
87: $OPT)
88: $opt $TMP.a $TMP.b
89: case $? in
90: 0)
91: mv $TMP.b $TMP.a ;;
92: *)
93: rm -f $TMP.b ;;
94: esac
95: ;;
96: esac
97: case $noasm in
98: 0)
99: asflg="$asflg -o $i.o"
100: $ASM $asflg $TMP.a
101: case $? in
102: 0)
103: ldarg="$ldarg $i.o" ;;
104: *)
105: rm -f $i.o
106: ecode=3 ;;
107: esac
108: rm -f $TMP.a
109: ;;
110: 1)
111: mv $TMP.a $i.s
112: ;;
113: esac
114: ;;
115: *)
116: rm -f $TMP.a
117: ecode=2
118: ;;
119: esac
120: ;;
121: *.s)
122: case $noasm in
123: 0)
124: f=$i
125: i=`basename $i .s`
126: asflg="$asflg -o $i.o"
127: $ASM $asflg $f
128: case $? in
129: 0)
130: ldarg="$ldarg $i.o" ;;
131: *)
132: rm -f $i.o
133: ecode=4 ;;
134: esac
135: rm -f $TMP.a
136: ;;
137: esac
138: ;;
139: -l*)
140: j=`echo $i | sed s/-l//`
141: ldarg="$ldarg /usr/lib/lib$j.a"
142: ;;
143: *)
144: ldarg="$ldarg $i"
145: ;;
146: esac
147: done
148: case $conly in
149: 0)
150: case $ecode in
151: 0)
152: $LD -X $START $ldarg $CLIB
153: case $? in
154: 0) ;;
155: *)
156: ecode=5 ;;
157: esac
158: rm -f $del
159: ;;
160: esac
161: ;;
162: esac
163: exit $ecode
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.