Annotation of elwix/build_tools.sh, revision 1.1.2.11
1.1.2.1 misho 1: #!/bin/sh
2: #
1.1.2.9 misho 3: # ELWIX build script for tools
1.1.2.1 misho 4: #
5: # (C) AITNET ltd - Sofia/Bulgaria <office@aitnet.org>
6: # by Michael Pounov <misho@elwix.org>
7: #
1.1.2.11! misho 8: # $Id: build_tools.sh,v 1.1.2.10 2012/07/06 09:32:08 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:
1.1.2.8 misho 171: compile_files()
172: {
173: cd files
174: env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
175: clean DESTDIR=${WORLD}
176: env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
177: DESTDIR=${WORLD}
178: env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
179: install DESTDIR=${WORLD}
180: cd -
181: }
182:
1.1.2.1 misho 183: compile_tools()
184: {
185: echo "+++ Compile ELWIX Cross ..."
1.1.2.2 misho 186:
1.1.2.1 misho 187: cd $CROSS_AXL
188: ${AXL_CFG}
189: ${CBUILD} clean
190: ${CBUILD}
191: ${CBUILD} install
192: cd -
193:
194: cd $CROSS_AITIO
195: ${AITIO_CFG}
196: ${CBUILD} clean
197: ${CBUILD}
198: ${CBUILD} install
199: cd -
200:
201: cd $CROSS_AITCRC
202: ${AITCRC_CFG}
203: ${CBUILD} clean
204: ${CBUILD}
205: ${CBUILD} install
206: cd -
207:
208: cd $CROSS_AITCFG
209: ${AITCFG_CFG}
210: ${CBUILD} clean
211: ${CBUILD}
212: ${CBUILD} install
213: cd -
214:
215: cd $CROSS_AITSESS
216: ${AITSESS_CFG}
217: ${CBUILD} clean
218: ${CBUILD}
219: ${CBUILD} install
220: cd -
221:
222: cd $CROSS_AITRPC
223: ${AITRPC_CFG}
224: ${CBUILD} clean
225: ${CBUILD}
226: ${CBUILD} install
227: cd -
228:
229: cd $CROSS_AITSCHED
230: ${AITSCHED_CFG}
231: ${CBUILD} clean
232: ${CBUILD}
233: ${CBUILD} install
234: cd -
235:
1.1.2.3 misho 236: cd $CROSS_AITWWW
237: ${AITWWW_CFG}
238: ${CBUILD} clean
239: ${CBUILD}
240: ${CBUILD} install
241: cd -
242:
1.1.2.1 misho 243: cd $CROSS_AITPELCO
244: ${AITPELCO_CFG}
245: ${CBUILD} clean
246: ${CBUILD}
247: ${CBUILD} install
248: cd -
249:
250: cd $CROSS_AITSYNC
251: ${AITSYNC_CFG}
252: ${CBUILD} clean
253: ${CBUILD}
254: ${CBUILD} install
255: cd -
256:
257: cd $CROSS_AITCLI
258: ${AITCLI_CFG}
259: ${CBUILD} clean
260: ${CBUILD}
261: ${CBUILD} install
262: cd -
263:
264: cd $CROSS_AITMQTT
265: ${AITMQTT_CFG}
266: ${CBUILD} clean
267: ${CBUILD}
268: ${CBUILD} install
269: cd -
270:
271: cd $CROSS_EMBEDTOOLS
272: ${EMBEDTOOLS_CFG}
273: ${CBUILD} clean
274: ${CBUILD}
275: ${CBUILD} install
276: cd -
277:
278: cd $CROSS_ANSH
279: ${ANSH_CFG}
280: ${CBUILD} clean
281: ${CBUILD}
282: ${CBUILD} install
283: cd -
284:
1.1.2.10 misho 285: cd $CROSS_MQTT
286: ${ANSH_CFG}
287: ${CBUILD} clean
288: ${CBUILD}
289: ${CBUILD} install
290: cd -
291:
1.1.2.1 misho 292: echo "ELWIX Platform:${PLATFORM} Version:${VERSION} TargetArch:${TARGET_ARCH}" >${WORLD}/usr/local/elwix.ver
293: }
294:
295: ### main()
1.1.2.5 misho 296: if ! SnitVer ${WORLD}/elwix/elwix.ver; then
1.1.2.4 misho 297: clean_bootstrap
298: compile_bootstrap
299: else
300: echo "Skipped ELWIX bootstrap pkgsrc tools build ..."
301: fi
302:
1.1.2.5 misho 303: if ! SnitVer ${WORLD}/usr/local/elwix.ver; then
1.1.2.1 misho 304: clean_tools
305: compile_fbsdtools
1.1.2.8 misho 306: compile_files
1.1.2.1 misho 307: compile_tools
308: else
309: echo "Skipped ELWIX tools build ..."
310: fi
311:
312: echo "+++ Complete build ELWIX tools"
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>