1: #!/bin/sh
2: #
3: # ELWIX build script for cross
4: #
5: # (C) AITNET ltd - Sofia/Bulgaria <office@aitnet.org>
6: # by Michael Pounov <misho@elwix.org>
7: #
8: # $Id: build_cross.sh,v 1.1.1.1.2.2 2011/07/19 23:16:11 misho Exp $
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 $DEST ]; then
27: echo
28: echo "ELWIX project is not configured - missing Dest directory !?!"
29: echo
30: exit 1
31: fi
32:
33: clean_cross()
34: {
35: echo "+++ Clean ELWIX Cross script ..."
36: rm -f ${CBUILD}
37:
38: rm -rf ${PKG}
39: install -d ${PKG}
40: install -d ${PKG}/bin
41: install -d ${PKG}/etc
42: install -d ${PKG}/include
43: install -d ${PKG}/man
44: install -d ${PKG}/lib
45: install -d ${PKG}/libexec
46: install -d ${PKG}/sbin
47: }
48:
49: build_cross()
50: {
51: echo "+++ Build ELWIX Cross script ..."
52: cd $BSDSRC
53: cat >${CBUILD} <<_EOF
54: #!/bin/sh
55: #
56: # Create auto cross build env script
57: #
58: _EOF
59: env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
60: buildenvvars >> ${DEST}/cross_build.sh
61: cd -
62: cp ${CBUILD} ${CGBUILD}
63: cat >>${CBUILD} <<_EOF
64: env CFLAGS="--sysroot=${WORLD}" make \$*
65: echo "Done."
66: _EOF
67: cat >>${CGBUILD} <<_EOF
68: env CFLAGS="--sysroot=${WORLD}" /usr/local/bin/gmake \$*
69: echo "Done."
70: _EOF
71:
72: chmod +x ${CBUILD} ${CGBUILD}
73: }
74:
75: compile_cross()
76: {
77: echo "+++ Compile ELWIX Cross ..."
78: cd $CROSS_AXL
79: ${AXL_CFG}
80: ${CBUILD} clean
81: ${CBUILD}
82: ${CBUILD} install
83: cd -
84:
85: cd $CROSS_AITIO
86: ${AITIO_CFG}
87: ${CBUILD} clean
88: ${CBUILD}
89: ${CBUILD} install
90: cd -
91:
92: cd $CROSS_AITCRC
93: ${AITCRC_CFG}
94: ${CBUILD} clean
95: ${CBUILD}
96: ${CBUILD} install
97: cd -
98:
99: cd $CROSS_AITCFG
100: ${AITCFG_CFG}
101: ${CBUILD} clean
102: ${CBUILD}
103: ${CBUILD} install
104: cd -
105:
106: cd $CROSS_AITSESS
107: ${AITSESS_CFG}
108: ${CBUILD} clean
109: ${CBUILD}
110: ${CBUILD} install
111: cd -
112:
113: cd $CROSS_AITRPC
114: ${AITRPC_CFG}
115: ${CBUILD} clean
116: ${CBUILD}
117: ${CBUILD} install
118: cd -
119:
120: cd $CROSS_AITPELCO
121: ${AITPELCO_CFG}
122: ${CBUILD} clean
123: ${CBUILD}
124: ${CBUILD} install
125: cd -
126:
127: cd $CROSS_AITPWD
128: ${AITPWD_CFG}
129: ${CBUILD} clean
130: ${CBUILD}
131: ${CBUILD} install
132: cd -
133:
134: cd $CROSS_AITSYNC
135: ${AITSYNC_CFG}
136: ${CBUILD} clean
137: ${CBUILD}
138: ${CBUILD} install
139: cd -
140:
141: cd $CROSS_AITCLI
142: ${AITCLI_CFG}
143: ${CBUILD} clean
144: ${CBUILD}
145: ${CBUILD} install
146: cd -
147:
148: cd $CROSS_EMBEDTOOLS
149: ${EMBEDTOOLS_CFG}
150: ${CBUILD} clean
151: ${CBUILD}
152: ${CBUILD} install
153: cd -
154:
155: echo "ELWIX Platform:${PLATFORM} Version:${VERSION} TargetArch:${TARGET_ARCH}" >${PKG}/elwix.ver
156: }
157:
158: compile_3th()
159: {
160: echo "+++ Compile ELWIX 3th party ..."
161:
162: cd $CROSS_3TH
163: ./build.sh sudo ${CBUILD} ${PKG}
164: ./build.sh bmon ${CGBUILD} ${PKG}
165: cd -
166:
167: # echo "ELWIX Platform:${PLATFORM} Version:${VERSION} TargetArch:${TARGET_ARCH}" >${PKG}/elwix1.ver
168: }
169:
170: ### main()
171: if ! SnitVer ${PKG}/elwix.ver; then
172: clean_cross
173: build_cross
174: compile_cross
175: else
176: echo "Skipped ELWIX Cross build ..."
177: fi
178:
179: if ! SnitVer ${PKG}/elwix1.ver; then
180: compile_3th
181: fi
182:
183: echo "+++ Complete build ELWIX Cross"
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>