Annotation of elwix/build_cross.sh, revision 1.3
1.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.3 ! misho 8: # $Id: build_cross.sh,v 1.2.2.5 2011/11/02 01:04:56 misho Exp $
1.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
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 ..."
1.2 misho 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
1.1 misho 47: }
48:
49: build_cross()
50: {
51: echo "+++ Build ELWIX Cross script ..."
52: cd $BSDSRC
1.2 misho 53: cat >${CBUILD} <<_EOF
1.1 misho 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} \
1.3 ! misho 60: buildenvvars >> ${CBUILD}
! 61: cat >>${CBUILD} <<_EOF
! 62: PATH=$PKG/bin:$PKG/sbin:\$PATH:$PATH
! 63: _EOF
1.1 misho 64: cd -
1.2 misho 65: cp ${CBUILD} ${CGBUILD}
1.3 ! misho 66: cp ${CBUILD} ${CENV}
1.2 misho 67: cat >>${CBUILD} <<_EOF
1.1 misho 68: make \$*
69: _EOF
1.2 misho 70: cat >>${CGBUILD} <<_EOF
71: /usr/local/bin/gmake \$*
72: _EOF
1.3 ! misho 73: cat >>${CENV} <<_EOF
! 74: exec \$*
! 75: _EOF
! 76: chmod +x ${CBUILD} ${CGBUILD} ${CENV}
1.2 misho 77: echo "Done."
78: }
79:
80: compile_fbsdtools()
81: {
82: echo "+++ Compile ELWIX Cross FreeBSD tools ..."
83:
84: rm -rf ${WORLD}/usr/local
85: install -d ${WORLD}/usr/local
86: install -d ${WORLD}/usr/local/bin
87: install -d ${WORLD}/usr/local/sbin
88: install -d ${WORLD}/usr/local/lib
89: install -d ${WORLD}/usr/local/libdata
90:
91: cd $CROSS_FT_ATH
92: env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
93: clean DESTDIR=${WORLD}
94: env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
95: DESTDIR=${WORLD}
96: env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
97: install DESTDIR=${WORLD}
98: cd -
99:
100: cd $CROSS_FT_IPW
101: env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
102: clean DESTDIR=${WORLD}
103: env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
104: DESTDIR=${WORLD}
105: env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
106: install DESTDIR=${WORLD}/usr/local/bin
107: cd -
108:
109: cd $CROSS_FT_IWI
110: env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
111: clean DESTDIR=${WORLD}
112: env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
113: DESTDIR=${WORLD}
114: env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
115: install DESTDIR=${WORLD}/usr/local/bin
116: cd -
117:
118: cd $CROSS_FT_MWL
119: env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
120: clean DESTDIR=${WORLD}
121: env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
122: DESTDIR=${WORLD}
123: env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
124: install DESTDIR=${WORLD}
125: cd -
126:
127: cd $CROSS_FT_NET80211
128: env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
129: clean DESTDIR=${WORLD}
130: env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
131: DESTDIR=${WORLD}
132: env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
133: install DESTDIR=${WORLD}
134: cd -
135:
136: cd $CROSS_FT_VIMAGE
137: env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
138: clean DESTDIR=${WORLD}
139: env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
140: DESTDIR=${WORLD}
141: env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
142: install DESTDIR=${WORLD}
143: cd -
1.1 misho 144:
1.2 misho 145: echo "ELWIX Platform:${PLATFORM} Version:${VERSION} TargetArch:${TARGET_ARCH}" >${PKG}/elwix0.ver
1.1 misho 146: }
147:
148: compile_cross()
149: {
150: echo "+++ Compile ELWIX Cross ..."
151: cd $CROSS_AXL
152: ${AXL_CFG}
1.2 misho 153: ${CBUILD} clean
154: ${CBUILD}
155: ${CBUILD} install
1.1 misho 156: cd -
157:
158: cd $CROSS_AITIO
159: ${AITIO_CFG}
1.2 misho 160: ${CBUILD} clean
161: ${CBUILD}
162: ${CBUILD} install
1.1 misho 163: cd -
164:
165: cd $CROSS_AITCRC
166: ${AITCRC_CFG}
1.2 misho 167: ${CBUILD} clean
168: ${CBUILD}
169: ${CBUILD} install
1.1 misho 170: cd -
171:
172: cd $CROSS_AITCFG
173: ${AITCFG_CFG}
1.2 misho 174: ${CBUILD} clean
175: ${CBUILD}
176: ${CBUILD} install
1.1 misho 177: cd -
178:
179: cd $CROSS_AITSESS
180: ${AITSESS_CFG}
1.2 misho 181: ${CBUILD} clean
182: ${CBUILD}
183: ${CBUILD} install
1.1 misho 184: cd -
185:
186: cd $CROSS_AITRPC
187: ${AITRPC_CFG}
1.2 misho 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
1.1 misho 198: cd -
199:
200: cd $CROSS_AITPELCO
201: ${AITPELCO_CFG}
1.2 misho 202: ${CBUILD} clean
203: ${CBUILD}
204: ${CBUILD} install
1.1 misho 205: cd -
206:
207: cd $CROSS_AITPWD
208: ${AITPWD_CFG}
1.2 misho 209: ${CBUILD} clean
210: ${CBUILD}
211: ${CBUILD} install
1.1 misho 212: cd -
213:
214: cd $CROSS_AITSYNC
215: ${AITSYNC_CFG}
1.2 misho 216: ${CBUILD} clean
217: ${CBUILD}
218: ${CBUILD} install
1.1 misho 219: cd -
220:
221: cd $CROSS_AITCLI
222: ${AITCLI_CFG}
1.2 misho 223: ${CBUILD} clean
224: ${CBUILD}
225: ${CBUILD} install
226: cd -
227:
228: cd $CROSS_EMBEDTOOLS
229: ${EMBEDTOOLS_CFG}
230: ${CBUILD} clean
231: ${CBUILD}
232: ${CBUILD} install
233: cd -
234:
235: cd $CROSS_ANSH
236: ${ANSH_CFG}
237: ${CBUILD} clean
238: ${CBUILD}
239: ${CBUILD} install
1.1 misho 240: cd -
1.2 misho 241:
242: echo "ELWIX Platform:${PLATFORM} Version:${VERSION} TargetArch:${TARGET_ARCH}" >${PKG}/elwix.ver
1.1 misho 243: }
244:
245: compile_3th()
246: {
247: echo "+++ Compile ELWIX 3th party ..."
1.2 misho 248:
249: cd $CROSS_3TH
1.3 ! misho 250: ./build.sh expat ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2 misho 251: [ $? -ne 0 ] && exit 1
1.3 ! misho 252: ./build.sh libevent ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2 misho 253: [ $? -ne 0 ] && exit 1
1.3 ! misho 254: ./build.sh libiconv ${CGBUILD} ${PKG} ${TARGET_BUILD}
1.2 misho 255: [ $? -ne 0 ] && exit 1
1.3 ! misho 256: ./build.sh pcre ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2 misho 257: [ $? -ne 0 ] && exit 1
1.3 ! misho 258: ./build.sh mini_sendmail ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2 misho 259: [ $? -ne 0 ] && exit 1
1.3 ! misho 260: ./build.sh choparp ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2 misho 261: [ $? -ne 0 ] && exit 1
1.3 ! misho 262: ./build.sh scan_ffs ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2 misho 263: [ $? -ne 0 ] && exit 1
1.3 ! misho 264: ./build.sh pciutils ${CGBUILD} ${PKG} ${TARGET_BUILD}
1.2 misho 265: [ $? -ne 0 ] && exit 1
1.3 ! misho 266: ./build.sh rsync ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2 misho 267: [ $? -ne 0 ] && exit 1
1.3 ! misho 268: ./build.sh ttcp ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2 misho 269: [ $? -ne 0 ] && exit 1
1.3 ! misho 270: ./build.sh ifstated ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2 misho 271: [ $? -ne 0 ] && exit 1
1.3 ! misho 272: ./build.sh mpd ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2 misho 273: [ $? -ne 0 ] && exit 1
1.3 ! misho 274: ./build.sh igmpproxy ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2 misho 275: [ $? -ne 0 ] && exit 1
1.3 ! misho 276: ./build.sh sudo ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2 misho 277: [ $? -ne 0 ] && exit 1
1.3 ! misho 278: ./build.sh bmon ${CGBUILD} ${PKG} ${TARGET_BUILD}
1.2 misho 279: [ $? -ne 0 ] && exit 1
1.3 ! misho 280: ./build.sh mtr ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2 misho 281: [ $? -ne 0 ] && exit 1
1.3 ! misho 282: ./build.sh ipguard ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2 misho 283: [ $? -ne 0 ] && exit 1
1.3 ! misho 284: ./build.sh iperf ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2 misho 285: [ $? -ne 0 ] && exit 1
1.3 ! misho 286: ./build.sh smartmontools ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2 misho 287: [ $? -ne 0 ] && exit 1
1.3 ! misho 288: ./build.sh sqlite3 ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2 misho 289: [ $? -ne 0 ] && exit 1
1.3 ! misho 290: ./build.sh quagga ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2 misho 291: [ $? -ne 0 ] && exit 1
1.3 ! misho 292: ./build.sh coova-chilli ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2 misho 293: [ $? -ne 0 ] && exit 1
1.3 ! misho 294: ./build.sh ntpd ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2 misho 295: [ $? -ne 0 ] && exit 1
1.3 ! misho 296: ./build.sh iftop ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2 misho 297: [ $? -ne 0 ] && exit 1
1.3 ! misho 298: ./build.sh arping ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2 misho 299: [ $? -ne 0 ] && exit 1
1.3 ! misho 300: ./build.sh hping ${CGBUILD} ${PKG} ${TARGET_BUILD}
1.2 misho 301: [ $? -ne 0 ] && exit 1
1.3 ! misho 302: ./build.sh trafshow ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2 misho 303: [ $? -ne 0 ] && exit 1
1.3 ! misho 304: ./build.sh ipsec-tools ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2 misho 305: [ $? -ne 0 ] && exit 1
1.3 ! misho 306: ./build.sh dhcp ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2 misho 307: [ $? -ne 0 ] && exit 1
1.3 ! misho 308: ./build.sh dhcdrop ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2 misho 309: [ $? -ne 0 ] && exit 1
1.3 ! misho 310: ./build.sh spawn-fcgi ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2 misho 311: [ $? -ne 0 ] && exit 1
1.3 ! misho 312: ./build.sh lighttpd ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2 misho 313: [ $? -ne 0 ] && exit 1
1.3 ! misho 314: ./build.sh php ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2 misho 315: [ $? -ne 0 ] && exit 1
316: cd -
317:
318: echo "ELWIX Platform:${PLATFORM} Version:${VERSION} TargetArch:${TARGET_ARCH}" >${PKG}/elwix1.ver
1.1 misho 319: }
320:
321: ### main()
1.2 misho 322: if ! SnitVer ${PKG}/elwix0.ver; then
323: compile_fbsdtools
324: else
325: echo "Skipped ELWIX Cross FreeBSD tools build ..."
326: fi
327:
328: if ! SnitVer ${PKG}/elwix.ver; then
1.1 misho 329: clean_cross
330: build_cross
331: compile_cross
1.2 misho 332: else
333: echo "Skipped ELWIX Cross build ..."
334: fi
1.1 misho 335:
1.2 misho 336: if ! SnitVer ${PKG}/elwix1.ver; then
1.1 misho 337: compile_3th
338: else
1.2 misho 339: echo "Skipped ELWIX Cross 3th party build ..."
1.1 misho 340: fi
341:
342: echo "+++ Complete build ELWIX Cross"
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>