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