-
Notifications
You must be signed in to change notification settings - Fork 7
/
:mk.csds
156 lines (133 loc) · 4.56 KB
/
:mk.csds
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
echo ""
echo ""
echo " Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T"
echo " All Rights Reserved"
echo ""
echo " THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T"
echo " The copyright notice above does not evidence any actual or"
echo " intended publication of such source code."
echo ""
echo ""
echo ""
#ident "@(#)mk::mk.csds 1.1.1.1"
#
# Shell script for the rebuilding of the CSDS part of the UNIX System V/386 Release 4.0
#
if [ "$ROOT" = "" ]
then echo "$0: You must specify a \$ROOT directory, other than '/', \
as the root of the source and output tree."
exit 1
fi
if [ "$ROOT" = "/" ]
then echo "$0: You must specify a \$ROOT directory, other than '/', \
as the root of the source and output tree."
exit 1
fi
if [ ! -d ${ROOT} ]
then echo "$0: You must specify a \$ROOT directory, other than '/', \
as the root of the source and output tree."
exit 1
fi
PATH=$ROOT/xenv:/usr/ccs/bin:/usr/bin:/usr/sbin:/etc; export PATH
#
echo $0 started at `date`
trap "exit 1" 1 2 3 15
SHELL="/bin/sh"
export SHELL
CH=`id | sed '/uid=0[^0-9].*/!s|.*|#|;/#/!d'`
export CH
CCSTYPE=${CCSTYPE:-ELF}; export CCSTYPE
if [ "$ROOT" = "" ]
then
PATH=/usr/ccs/bin:/usr/bin:/usr/sbin:/etc; export PATH
else
# Cross-makes may not have all the directories needed
for dir in /bin /lib /usr/include /usr/include/sys /shlib /tmp /xenv
do if [ ! -d $ROOT/$dir ]
then rm -f $ROOT/$dir
mkdir $ROOT/$dir
fi
done
fi
echo "uname -a = \c"; uname -a
echo 'MAKEOPTS="MAKE=make AS=as CC=cc LD=ld ROOT=$ROOT INC=$ROOT/usr/include"
export MAKEOPTS
if [ -x $ROOT/usr/ccs/bin/make ]
then ${ROOT}/usr/ccs/bin/make ${MAKEOPTS} "$@"
else /usr/ccs/bin/make ${MAKEOPTS} "$@"
fi ' > $ROOT/xenv/make
chmod +x ${ROOT}/xenv/make
echo '/usr/ccs/bin/cc "$@" -I$ROOT/usr/include' > $ROOT/xenv/cc
chmod +x ${ROOT}/xenv/cc
cd $ROOT/usr/src
if [ $# -eq 1 ]
then
case "$1" in
at386|AT386|at|AT) BUS=AT386; ARCH=AT386;;
mca|MCA) BUS=MCA; ARCH=MCA;;
mb1|MB1|mbus1|MBUS1) BUS=MB1; ARCH=MBUS;;
mb2|MB2|mbus2|MBUS2) BUS=MB2; ARCH=MBUS;;
eisa|EISA) BUS=EISA; ARCH=AT386;;
ev\-at|EV\-AT) BUS=EV-AT; ARCH=EV-AT;;
i860|I860|860) ;;
mbus|MBUS) ;;
*) BUS="$1"; ARCH="$1";;
esac
elif [ $# -gt 1 ]
then echo "Usage ${0} [AT386|MB1|MB2|MCA]"
exit 2
else
BUS=AT386
ARCH=AT386
fi
export BUS ARCH
# install /usr/include and /usr/include/sys header files
sh ./:mkhead
sh ./:mksyshead
cd cmd/sgs/xenv/i386
sh pathedit << !
y
y
y
!
if [ ! -f makefile.1 ]
then mv makefile makefile.1
fi
grep -v unix_conv makefile.1 > makefile
cd ../../../..
# Build the C Compilation tools, fltused changes
sh ./:mkcmd BUS=${BUS} ARCH=${ARCH} sgs
echo '${ROOT}/usr/ccs/bin/cc -Y 0,${ROOT}/usr/ccs/lib -Y 2,${ROOT}/usr/ccs/lib -Y a,${ROOT}/usr/ccs/bin -Y l,${ROOT}/usr/ccs/bin "$@" -Y I,${ROOT}/usr/include' > $ROOT/xenv/cc
cp ${ROOT}/usr/ccs/bin/ar ${ROOT}/xenv/ar
cp ${ROOT}/usr/ccs/bin/as ${ROOT}/xenv/as
cp ${ROOT}/usr/ccs/bin/ld ${ROOT}/xenv/ld
# build the C library
sh ./:mklib BUS=${BUS} ARCH=${ARCH} libc
echo '${ROOT}/usr/ccs/bin/cc -Y 0,${ROOT}/usr/ccs/lib -Y 2,${ROOT}/usr/ccs/lib -Y a,${ROOT}/usr/ccs/bin -Y l,${ROOT}/usr/ccs/bin -Y S,${ROOT}/usr/ccs/lib -L $ROOT/usr/ccs/lib -L $ROOT/usr/lib -Y L,/usr/lib -Y U,/usr/ccs/lib "$@" -Y I,${ROOT}/usr/include' > $ROOT/xenv/cc
chmod +x ${ROOT}/xenv/cc
# Build the C Compilation tools
cd cmd/sgs/xenv/i386
mv makefile.1 makefile
cd ../../../..
sh ./:mkcmd BUS=${BUS} ARCH=${ARCH} sgs
cp ${ROOT}/usr/ccs/bin/ar ${ROOT}/xenv/ar
cp ${ROOT}/usr/ccs/bin/as ${ROOT}/xenv/as
cp ${ROOT}/usr/ccs/bin/ld ${ROOT}/xenv/ld
# Build the Libraries
sh ./:mklib BUS=${BUS} ARCH=${ARCH} libc libcrypt libdl libgen libl libm libmalloc liby rtld xlibcurses zlibeti zlibetitam
cp $ROOT/usr/ccs/bin/tic $ROOT/xenv/tic
echo '${ROOT}/usr/ccs/bin/cc -Y 0,${ROOT}/usr/ccs/lib -Y 2,${ROOT}/usr/ccs/lib -Y a,${ROOT}/usr/ccs/bin -Y l,${ROOT}/usr/ccs/bin -Y S,${ROOT}/usr/ccs/lib -Y L,${ROOT}/usr/ccs/lib -Y U,${ROOT}/usr/lib "$@" -Y I,${ROOT}/usr/include' > $ROOT/xenv/cc
chmod +x ${ROOT}/xenv/cc
# build all the CSDS commands
sh ./:mkcmd BUS=${BUS} ARCH=${ARCH} cb cflow cscope ctrace cxref ldd make prof regcmp sccs sdb sgs
cp $ROOT/usr/ccs/lib/llib-lcrypt $ROOT/usr/lib/llib-crypt
cp $ROOT/usr/ccs/lib/llib-lcrypt.ln $ROOT/usr/lib/llib-crypt.ln
cp ${ROOT}/usr/ccs/bin/ar ${ROOT}/usr/bin/ar
cp ${ROOT}/usr/ccs/bin/captoinfo ${ROOT}/usr/bin/captoinfo
cp ${ROOT}/usr/ccs/bin/infocmp ${ROOT}/usr/bin/infocmp
cp ${ROOT}/usr/ccs/bin/mcs ${ROOT}/usr/bin/mcs
cp ${ROOT}/usr/ccs/bin/tic ${ROOT}/usr/bin/tic
cp ${ROOT}/usr/ccs/bin/tput ${ROOT}/usr/bin/tput
cp ${ROOT}/usr/ccs/bin/what ${ROOT}/usr/bin/what
echo $0 done at `date`
exit 0