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.5 2011/07/20 08:25:52 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: PATH=$PATH:/usr/local/bin:/usr/local/sbin
65: make \$*
66: _EOF
67: cat >>${CGBUILD} <<_EOF
68: PATH=$PATH:/usr/local/bin:/usr/local/sbin
69: /usr/local/bin/gmake \$*
70: _EOF
71:
72: chmod +x ${CBUILD} ${CGBUILD}
73: echo "Done."
74: }
75:
76: compile_cross()
77: {
78: echo "+++ Compile ELWIX Cross ..."
79: cd $CROSS_AXL
80: ${AXL_CFG}
81: ${CBUILD} clean
82: ${CBUILD}
83: ${CBUILD} install
84: cd -
85:
86: cd $CROSS_AITIO
87: ${AITIO_CFG}
88: ${CBUILD} clean
89: ${CBUILD}
90: ${CBUILD} install
91: cd -
92:
93: cd $CROSS_AITCRC
94: ${AITCRC_CFG}
95: ${CBUILD} clean
96: ${CBUILD}
97: ${CBUILD} install
98: cd -
99:
100: cd $CROSS_AITCFG
101: ${AITCFG_CFG}
102: ${CBUILD} clean
103: ${CBUILD}
104: ${CBUILD} install
105: cd -
106:
107: cd $CROSS_AITSESS
108: ${AITSESS_CFG}
109: ${CBUILD} clean
110: ${CBUILD}
111: ${CBUILD} install
112: cd -
113:
114: cd $CROSS_AITRPC
115: ${AITRPC_CFG}
116: ${CBUILD} clean
117: ${CBUILD}
118: ${CBUILD} install
119: cd -
120:
121: cd $CROSS_AITPELCO
122: ${AITPELCO_CFG}
123: ${CBUILD} clean
124: ${CBUILD}
125: ${CBUILD} install
126: cd -
127:
128: cd $CROSS_AITPWD
129: ${AITPWD_CFG}
130: ${CBUILD} clean
131: ${CBUILD}
132: ${CBUILD} install
133: cd -
134:
135: cd $CROSS_AITSYNC
136: ${AITSYNC_CFG}
137: ${CBUILD} clean
138: ${CBUILD}
139: ${CBUILD} install
140: cd -
141:
142: cd $CROSS_AITCLI
143: ${AITCLI_CFG}
144: ${CBUILD} clean
145: ${CBUILD}
146: ${CBUILD} install
147: cd -
148:
149: cd $CROSS_EMBEDTOOLS
150: ${EMBEDTOOLS_CFG}
151: ${CBUILD} clean
152: ${CBUILD}
153: ${CBUILD} install
154: cd -
155:
156: echo "ELWIX Platform:${PLATFORM} Version:${VERSION} TargetArch:${TARGET_ARCH}" >${PKG}/elwix.ver
157: }
158:
159: compile_3th()
160: {
161: echo "+++ Compile ELWIX 3th party ..."
162:
163: cd $CROSS_3TH
164: # ./build.sh expat ${CBUILD} ${PKG}
165: # ./build.sh libevent ${CBUILD} ${PKG}
166: # ./build.sh mini_sendmail ${CBUILD} ${PKG}
167: # ./build.sh choparp ${CBUILD} ${PKG}
168: # ./build.sh ttcp ${CBUILD} ${PKG}
169: # ./build.sh ifstated ${CBUILD} ${PKG}
170: # ./build.sh mpd ${CBUILD} ${PKG}
171: # ./build.sh mrouted ${CBUILD} ${PKG}
172: # ./build.sh igmpproxy ${CBUILD} ${PKG}
173: # ./build.sh sudo ${CBUILD} ${PKG}
174: # ./build.sh bmon ${CGBUILD} ${PKG}
175: # ./build.sh ntpd ${CBUILD} ${PKG}
176: ./build.sh iftop ${CBUILD} ${PKG}
177: # ./build.sh trafshow ${CBUILD} ${PKG}
178: # ./build.sh ipsec-tools ${CBUILD} ${PKG}
179: # ./build.sh dhcp ${CBUILD} ${PKG}
180: # ./build.sh dhcping ${CBUILD} ${PKG}
181: # ./build.sh dhcdrop ${CBUILD} ${PKG}
182: cd -
183:
184: # echo "ELWIX Platform:${PLATFORM} Version:${VERSION} TargetArch:${TARGET_ARCH}" >${PKG}/elwix1.ver
185: }
186:
187: ### main()
188: if ! SnitVer ${PKG}/elwix.ver; then
189: clean_cross
190: build_cross
191: compile_cross
192: else
193: echo "Skipped ELWIX Cross build ..."
194: fi
195:
196: if ! SnitVer ${PKG}/elwix1.ver; then
197: compile_3th
198: fi
199:
200: echo "+++ Complete build ELWIX Cross"
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>