Research V7 development
[unix-history] / bin / pcc
CommitLineData
959d4a83
KT
1T=/tmp/$$ PATH=/bin:/usr/bin O= OTWO= S= N=yes OPT= ret=0 prof=
2L=/lib COPT=/lib/c2
3LC="$L/crt0.o" LIBS=" $L/libc.a" NAS=as LD=ld CCOMP=/usr/lib/ccom
4ECHO=echo
5trap "rm -f $T.*; exit 1" 1 2 3 15
6trap 'rm -f $T.*; exit $ret' 0
7for A
8do case $A in
9 *.c) B=`basename $A .c`
10 $ECHO "$B.c"
11 case "$S$OPT" in
12 -S) if /lib/cpp $O $A $T.i &&
13 $CCOMP $prof <$T.i $OTWO >$B.s; then
14 : OK
15 else
16 ret=$?
17 fi ;;
18 -Syes) if /lib/cpp $O $A $T.i &&
19 $CCOMP $prof <$T.i $OTWO >$T.s &&
20 $COPT $T.s $B.s; then
21 : OK
22 else
23 ret=$?
24 fi ;;
25 yes) if /lib/cpp $O $A $T.i &&
26 $CCOMP $prof <$T.i $OTWO >$T.x &&
27 $COPT $T.x $T.s &&
28 $NAS - -o $B.o $T.s ; then
29 ll="$ll $B.o"
30 else
31 N=no ret=$?
32 fi ;;
33 *) if /lib/cpp $O $A $T.i &&
34 $CCOMP $prof <$T.i $OTWO >$T.s &&
35 $NAS - -o $B.o $T.s ; then
36 ll="$ll $B.o"
37 else
38 N=no ret=$?
39 fi ;;
40 esac ;;
41
42 -S) N=no S=-S OTWO=-l ;;
43
44 -X) CCOMP=/usr/scj/pcc/comp ;;
45
46 -O) OPT=yes ;;
47
48 -[IDU]*) O="$O $A" ;;
49
50 -c) N=no ;;
51
52 -) ECHO=: ;;
53
54 *.s) B=`basename $A .s`
55 if echo "$B.s:" &&
56 $NAS - -o $B.o $A; then
57 ll="$ll $B.o"
58 else
59 N=no ret=$?
60 fi ;;
61
62 -p) prof=-p ;;
63
64 *) ll="$ll $A"
65 esac
66done
67case $N in
68 no) : ;;
69 *) $LD $LC $ll $LIBS
70 ret=$?
71esac