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