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_cross.sh,v 1.1.1.1.2.3 2011/07/20 00:24:05 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:
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 ..."
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
47: }
48:
49: build_cross()
50: {
51: echo "+++ Build ELWIX Cross script ..."
52: cd $BSDSRC
53: cat >${CBUILD} <<_EOF
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} \
60: buildenvvars >> ${DEST}/cross_build.sh
61: cd -
62: cp ${CBUILD} ${CGBUILD}
63: cat >>${CBUILD} <<_EOF
64: env CFLAGS="--sysroot=${WORLD}" make \$*
65: _EOF
66: cat >>${CGBUILD} <<_EOF
67: env CFLAGS="--sysroot=${WORLD}" /usr/local/bin/gmake \$*
68: _EOF
69:
70: chmod +x ${CBUILD} ${CGBUILD}
71: echo "Done."
72: }
73:
74: compile_cross()
75: {
76: echo "+++ Compile ELWIX Cross ..."
77: cd $CROSS_AXL
78: ${AXL_CFG}
79: ${CBUILD} clean
80: ${CBUILD}
81: ${CBUILD} install
82: cd -
83:
84: cd $CROSS_AITIO
85: ${AITIO_CFG}
86: ${CBUILD} clean
87: ${CBUILD}
88: ${CBUILD} install
89: cd -
90:
91: cd $CROSS_AITCRC
92: ${AITCRC_CFG}
93: ${CBUILD} clean
94: ${CBUILD}
95: ${CBUILD} install
96: cd -
97:
98: cd $CROSS_AITCFG
99: ${AITCFG_CFG}
100: ${CBUILD} clean
101: ${CBUILD}
102: ${CBUILD} install
103: cd -
104:
105: cd $CROSS_AITSESS
106: ${AITSESS_CFG}
107: ${CBUILD} clean
108: ${CBUILD}
109: ${CBUILD} install
110: cd -
111:
112: cd $CROSS_AITRPC
113: ${AITRPC_CFG}
114: ${CBUILD} clean
115: ${CBUILD}
116: ${CBUILD} install
117: cd -
118:
119: cd $CROSS_AITPELCO
120: ${AITPELCO_CFG}
121: ${CBUILD} clean
122: ${CBUILD}
123: ${CBUILD} install
124: cd -
125:
126: cd $CROSS_AITPWD
127: ${AITPWD_CFG}
128: ${CBUILD} clean
129: ${CBUILD}
130: ${CBUILD} install
131: cd -
132:
133: cd $CROSS_AITSYNC
134: ${AITSYNC_CFG}
135: ${CBUILD} clean
136: ${CBUILD}
137: ${CBUILD} install
138: cd -
139:
140: cd $CROSS_AITCLI
141: ${AITCLI_CFG}
142: ${CBUILD} clean
143: ${CBUILD}
144: ${CBUILD} install
145: cd -
146:
147: cd $CROSS_EMBEDTOOLS
148: ${EMBEDTOOLS_CFG}
149: ${CBUILD} clean
150: ${CBUILD}
151: ${CBUILD} install
152: cd -
153:
154: echo "ELWIX Platform:${PLATFORM} Version:${VERSION} TargetArch:${TARGET_ARCH}" >${PKG}/elwix.ver
155: }
156:
157: compile_3th()
158: {
159: echo "+++ Compile ELWIX 3th party ..."
160:
161: cd $CROSS_3TH
162: # ./build.sh sudo ${CBUILD} ${PKG}
163: # ./build.sh bmon ${CGBUILD} ${PKG}
164: ./build.sh ntpd ${CBUILD} ${PKG}
165: cd -
166:
167: # echo "ELWIX Platform:${PLATFORM} Version:${VERSION} TargetArch:${TARGET_ARCH}" >${PKG}/elwix1.ver
168: }
169:
170: ### main()
171: if ! SnitVer ${PKG}/elwix.ver; then
172: clean_cross
173: build_cross
174: compile_cross
175: else
176: echo "Skipped ELWIX Cross build ..."
177: fi
178:
179: if ! SnitVer ${PKG}/elwix1.ver; then
180: compile_3th
181: fi
182:
183: echo "+++ Complete build ELWIX Cross"
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>