Annotation of elwix/build_tools.sh, revision 1.1.2.7
1.1.2.1 misho 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: #
1.1.2.7 ! misho 8: # $Id: build_tools.sh,v 1.1.2.6 2012/03/20 15:54:00 misho Exp $
1.1.2.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
1.1.2.5 misho 18: V=${VERSION}
1.1.2.4 misho 19: [ -r ${CENV} ] && . ${CENV}
1.1.2.5 misho 20: unset INSTALL
21: unset VERSION
22: VERSION="$V"
1.1.2.1 misho 23:
24: if [ ! -d $BSDSRC ]; then
25: echo
26: echo "ELWIX project is not configured - missing BSD sources !?!"
27: echo
28: exit 1
29: fi
30:
31: if [ ! -d $DEST ]; then
32: echo
33: echo "ELWIX project is not configured - missing Dest directory !?!"
34: echo
35: exit 1
36: fi
37:
38: clean_tools()
39: {
40: echo "+++ Clean ELWIX FreeBSD tools ..."
41:
42: rm -rf ${WORLD}/usr/local
43: install -d ${WORLD}/usr/local
44: install -d ${WORLD}/usr/local/bin
45: install -d ${WORLD}/usr/local/include
46: install -d ${WORLD}/usr/local/lib
47: install -d ${WORLD}/usr/local/libdata
48: install -d ${WORLD}/usr/local/sbin
49:
50: }
51:
1.1.2.4 misho 52: clean_bootstrap()
53: {
54: echo "+++ Clean ELWIX pkgsrc bootstrap tools ..."
55:
56: rm -rf ${WORLD}/usr/pkgsrc/bootstrap/work
57: rm -f /elwix ${WORLD}/usr/pkgsrc
58: rm -rf ${WORLD}/elwix
59: install -d ${WORLD}/elwix
60: ln -sf ${WORLD}/elwix /elwix
61: ln -sf ${PKGSRC} ${WORLD}/usr/pkgsrc
62:
63: install -d ${PKGDIR}
64: install -d ${PKGDIR}/db
1.1.2.7 ! misho 65: install -d ${PKGDIR}/etc
1.1.2.4 misho 66: }
67:
68: compile_bootstrap()
69: {
70: echo "+++ Compile ELWIX pkgsrc bootstrap tools ..."
71: if [ ! -d ${WORLD}/usr/pkgsrc/bootstrap/work ]; then
72: cd ${WORLD}/usr/pkgsrc/bootstrap
73: ./bootstrap --prefix /elwix/pkg --pkgdbdir /elwix/pkg/db
74: cd -
75: else
76: echo " Skip bootstrap pkgsrc - already inited pkgsrc"
77: fi
78:
1.1.2.7 ! misho 79: cat >>/elwix/pkg/etc/mk.conf << _EOF
! 80:
! 81: .if defined(USE_CROSS_COMPILE) && !empty(USE_CROSS_COMPILE:M[yY][eE][sS])
! 82: USE_DESTDIR= yes
! 83: DEPENDS_TARGET= package-install
! 84:
! 85: TOOLDIR= ${CROSSTOOLDIR}
! 86: CROSS_DESTDIR= ${WORLD}
! 87:
! 88: TARGET= ${TARGET}
! 89: TARGET_ARCH= ${TARGET_ARCH}
! 90: MACHINE_PLATFORM= FreeBSD-${PLATFORM}-${TARGET_ARCH}
! 91: MACHINE_GNU_PLATFORM= ${TARGET_ARCH}-elwix-freebsd
! 92:
! 93: PKGSRC_COMPILER= gcc
! 94: USE_PKGSRC_GCC= no
! 95: USE_NATIVE_GCC= yes
! 96:
! 97: .endif # end cross-compilation settings
! 98: _EOF
! 99:
1.1.2.4 misho 100: echo "ELWIX Platform:${PLATFORM} Version:${VERSION} TargetArch:${TARGET_ARCH}" >${WORLD}/elwix/elwix.ver
101: }
102:
1.1.2.1 misho 103: compile_fbsdtools()
104: {
105: echo "+++ Compile ELWIX FreeBSD tools ..."
106:
107: cd $CROSS_FT_ATH
108: env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
109: clean DESTDIR=${WORLD}
110: env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
111: DESTDIR=${WORLD}
112: env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
113: install DESTDIR=${WORLD}
114: cd -
115:
116: cd $CROSS_FT_IPW
117: env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
118: clean DESTDIR=${WORLD}
119: env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
120: DESTDIR=${WORLD}
121: env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
122: install DESTDIR=${WORLD}/usr/local/bin
123: cd -
124:
125: cd $CROSS_FT_IWI
126: env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
127: clean DESTDIR=${WORLD}
128: env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
129: DESTDIR=${WORLD}
130: env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
131: install DESTDIR=${WORLD}/usr/local/bin
132: cd -
133:
134: cd $CROSS_FT_MWL
135: env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
136: clean DESTDIR=${WORLD}
137: env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
138: DESTDIR=${WORLD}
139: env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
140: install DESTDIR=${WORLD}
141: cd -
142:
143: cd $CROSS_FT_NET80211
144: env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
145: clean DESTDIR=${WORLD}
146: env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
147: DESTDIR=${WORLD}
148: env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
149: install DESTDIR=${WORLD}
150: cd -
151:
152: cd $CROSS_FT_VIMAGE
153: env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
154: clean DESTDIR=${WORLD}
155: env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
156: DESTDIR=${WORLD}
157: env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
158: install DESTDIR=${WORLD}
159: cd -
160:
161: # cd $CROSS_FT_WTAP
162: # env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
163: # clean DESTDIR=${WORLD}
164: # env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
165: # DESTDIR=${WORLD}
166: # env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
167: # install DESTDIR=${WORLD}
168: # cd -
169: }
170:
171: compile_tools()
172: {
173: echo "+++ Compile ELWIX Cross ..."
1.1.2.2 misho 174:
1.1.2.1 misho 175: cd $CROSS_AXL
176: ${AXL_CFG}
177: ${CBUILD} clean
178: ${CBUILD}
179: ${CBUILD} install
180: cd -
181:
182: cd $CROSS_AITIO
183: ${AITIO_CFG}
184: ${CBUILD} clean
185: ${CBUILD}
186: ${CBUILD} install
187: cd -
188:
189: cd $CROSS_AITCRC
190: ${AITCRC_CFG}
191: ${CBUILD} clean
192: ${CBUILD}
193: ${CBUILD} install
194: cd -
195:
196: cd $CROSS_AITCFG
197: ${AITCFG_CFG}
198: ${CBUILD} clean
199: ${CBUILD}
200: ${CBUILD} install
201: cd -
202:
203: cd $CROSS_AITSESS
204: ${AITSESS_CFG}
205: ${CBUILD} clean
206: ${CBUILD}
207: ${CBUILD} install
208: cd -
209:
210: cd $CROSS_AITRPC
211: ${AITRPC_CFG}
212: ${CBUILD} clean
213: ${CBUILD}
214: ${CBUILD} install
215: cd -
216:
217: cd $CROSS_AITSCHED
218: ${AITSCHED_CFG}
219: ${CBUILD} clean
220: ${CBUILD}
221: ${CBUILD} install
222: cd -
223:
1.1.2.3 misho 224: cd $CROSS_AITWWW
225: ${AITWWW_CFG}
226: ${CBUILD} clean
227: ${CBUILD}
228: ${CBUILD} install
229: cd -
230:
1.1.2.1 misho 231: cd $CROSS_AITPELCO
232: ${AITPELCO_CFG}
233: ${CBUILD} clean
234: ${CBUILD}
235: ${CBUILD} install
236: cd -
237:
238: cd $CROSS_AITPWD
239: ${AITPWD_CFG}
240: ${CBUILD} clean
241: ${CBUILD}
242: ${CBUILD} install
243: cd -
244:
245: cd $CROSS_AITSYNC
246: ${AITSYNC_CFG}
247: ${CBUILD} clean
248: ${CBUILD}
249: ${CBUILD} install
250: cd -
251:
252: cd $CROSS_AITCLI
253: ${AITCLI_CFG}
254: ${CBUILD} clean
255: ${CBUILD}
256: ${CBUILD} install
257: cd -
258:
259: cd $CROSS_AITMQTT
260: ${AITMQTT_CFG}
261: ${CBUILD} clean
262: ${CBUILD}
263: ${CBUILD} install
264: cd -
265:
266: cd $CROSS_EMBEDTOOLS
267: ${EMBEDTOOLS_CFG}
268: ${CBUILD} clean
269: ${CBUILD}
270: ${CBUILD} install
271: cd -
272:
273: cd $CROSS_ANSH
274: ${ANSH_CFG}
275: ${CBUILD} clean
276: ${CBUILD}
277: ${CBUILD} install
278: cd -
279:
280: echo "ELWIX Platform:${PLATFORM} Version:${VERSION} TargetArch:${TARGET_ARCH}" >${WORLD}/usr/local/elwix.ver
281: }
282:
283: ### main()
1.1.2.5 misho 284: if ! SnitVer ${WORLD}/elwix/elwix.ver; then
1.1.2.4 misho 285: clean_bootstrap
286: compile_bootstrap
287: else
288: echo "Skipped ELWIX bootstrap pkgsrc tools build ..."
289: fi
290:
1.1.2.5 misho 291: if ! SnitVer ${WORLD}/usr/local/elwix.ver; then
1.1.2.1 misho 292: clean_tools
293: compile_fbsdtools
294: compile_tools
295: else
296: echo "Skipped ELWIX tools build ..."
297: fi
298:
299: echo "+++ Complete build ELWIX tools"
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>