Annotation of elwix/build_world.sh, revision 1.1.1.1.6.6
1.1 misho 1: #!/bin/sh
2: #
3: # ELWIX build script for world
4: #
5: # (C) AITNET ltd - Sofia/Bulgaria <office@aitnet.org>
6: # by Michael Pounov <misho@elwix.org>
7: #
1.1.1.1.6.6! misho 8: # $Id: build_world.sh,v 1.1.1.1.6.5 2012/05/28 16:00:22 misho Exp $
1.1 misho 9: #
10:
11: [ -r ./config/rc.elwix ] && . ./config/rc.elwix
12: if [ X"${ELWIX_IS_CONFIGURED}" != X"YES" ]; then
13: echo
14: echo "ELWIX project is not configured !?!"
15: echo
16: exit 1
17: fi
18:
19: if [ ! -d $BSDSRC ]; then
20: echo
21: echo "ELWIX project is not configured - missing BSD sources !?!"
22: echo
23: exit 1
24: fi
25:
26: if [ ! -d $ADIR ]; then
27: echo
28: echo "ELWIX project is not configured - missing TargetArch directory !?!"
29: echo
30: exit 1
31: fi
32:
33: if [ "${USER}" != "root" ]; then
34: echo
35: echo "ELWIX project is not configured - BSD kernel must compile under root !?!"
36: echo
37: exit 1
38: fi
39:
40: clean_world()
41: {
42: echo "+++ Clean ELWIX World ..."
43: rm -rf $WORLD
44: mkdir -p $WORLD
1.1.1.1.6.1 misho 45:
46: rm -f ${CBUILD} ${CGBUILD} ${CENV}
1.1 misho 47: }
48:
49: build_world()
50: {
51: echo "+++ Build ELWIX World ..."
52: cd $BSDSRC
53: env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
54: -j${PARALLEL_BUILD} buildworld DESTDIR=${WORLD}
1.1.1.1.6.6! misho 55: if [ $? -eq 0 ]; then
1.1.1.1.6.4 misho 56: cd -
1.1.1.1.6.5 misho 57: else
58: exit 1
1.1.1.1.6.4 misho 59: fi
1.1 misho 60: }
61:
62: install_world()
63: {
64: echo "+++ Install ELWIX World ..."
65: cd $BSDSRC
66: env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
67: installworld DESTDIR=${WORLD}
68: cd -
69:
1.1.1.1.6.6! misho 70: if [ $? -eq 0 ]; then
1.1.1.1.6.4 misho 71: echo "ELWIX Platform:${PLATFORM} Version:${VERSION} TargetArch:${TARGET_ARCH}" >${WORLD}/elwix.ver
72: fi
1.1 misho 73: }
74:
1.1.1.1.6.1 misho 75: build_cross()
76: {
77: echo "+++ Build ELWIX Cross script ..."
78: cd $BSDSRC
79: cat >${CENV} <<_EOF
80: #!/bin/sh
81: #
82: # Create auto cross build env script
83: #
1.1.1.1.6.2 misho 84: export \\
1.1.1.1.6.1 misho 85: _EOF
86: env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
87: buildenvvars >> ${CENV}
88: cat >>${CENV} <<_EOF
1.1.1.1.6.3 misho 89: PATH=$WORLD/elwix/pkg/bin:$WORLD/elwix/pkg/sbin:/elwix/pkg/bin:/elwix/pkg/sbin:$PKG/bin:$PKG/sbin:\$PATH:$PATH
1.1.1.1.6.1 misho 90: _EOF
91: cd -
92: cp ${CENV} ${CBUILD}
93: cp ${CENV} ${CGBUILD}
1.1.1.1.6.2 misho 94: cp ${CENV} ${CEXEC}
1.1.1.1.6.1 misho 95: cat >>${CBUILD} <<_EOF
96: make \$*
97: _EOF
98: cat >>${CGBUILD} <<_EOF
99: gmake \$*
100: _EOF
1.1.1.1.6.2 misho 101: cat >>${CEXEC} <<_EOF
102: eval \$*
103: _EOF
104: chmod +x ${CBUILD} ${CGBUILD} ${CEXEC} ${CENV}
1.1.1.1.6.1 misho 105: echo "Done."
106: }
107:
1.1 misho 108: ### main()
109: if ! SnitVer ${WORLD}/elwix.ver; then
110: clean_world
111: build_world
112: install_world
1.1.1.1.6.1 misho 113:
114: build_cross
1.1 misho 115: else
116: echo "Skipped ELWIX World build ..."
117: fi
118:
119: echo "+++ Complete build ELWIX World"
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>