OSDN Git Service

2013.10.24
[uclinux-h8/uClinux-dist.git] / bin / build-dist
1 #!/bin/sh
2 ##############################################################################
3
4 #
5 # build-dist -- run some test compilations based on "todays" snapshot
6 #
7 # (C) Copyright 2008, Greg Ungerer <gerg@snapgear.com>
8 #
9
10 ##############################################################################
11
12 cd $HOME
13 export PATH=/usr/local/bin:/usr/bin:/bin
14
15 DATE=`date +%Y%m%d`
16
17 #
18 # Back up any existing dist tree
19 #
20 #if [ -d uClinux-dist ]
21 #then
22 #       mv uClinux-dist uClinuc-dist.${DATE}
23 #fi
24 rm -rf uClinux-dist
25
26 echo "BUILD: date ${DATE}"
27
28 rm -rf /tmp/build/
29 mkdir -p /tmp/build
30
31 #
32 # Un-archive the source
33 #
34 tar xzf images/uClinux-dist-${DATE}.tar.gz
35
36 echo "BUILD: un-archived source"
37
38 #
39 # Loop around each target we want to build.
40 #
41 cd uClinux-dist
42
43 cat $HOME/build.list | while read vendor board KERNEL LIBC JUNK
44 do
45         if [ "$vendor" = "#" ]
46         then
47                 continue
48         fi
49
50         make distclean > /dev/null 2>&1
51
52         VENDOR=`echo $vendor | tr "[:lower:]" "[:upper:]"`
53         BOARD=`echo $board | tr "[:lower:]" "[:upper:]"`
54
55         [ "${KERNEL}" = "linux-2.0.x" ] && KERNTYPE="2_0"
56         [ "${KERNEL}" = "linux-2.4.x" ] && KERNTYPE="2_4"
57         [ "${KERNEL}" = "linux-3.x" ] && KERNTYPE="3"
58         [ "${LIBC}" = "uC-libc" ] && LIBCTYPE="UC_LIBC"
59         [ "${LIBC}" = "uC-libc" ] && LIBCDIR="libc"
60         [ "${LIBC}" = "uClibc" ] && LIBCTYPE="UCLIBC"
61         [ "${LIBC}" = "uClibc" ] && LIBCDIR="uClibc"
62         [ "${LIBC}" = "none" ] && LIBCTYPE="NONE"
63         [ "${LIBC}" = "none" ] && LIBCDIR="none"
64
65         (
66                 echo 'CONFIG_DISTVERSION="4.0"'
67                 echo "CONFIG_DEFAULTS_${VENDOR}=y"
68                 echo "CONFIG_DEFAULTS_${VENDOR}_${BOARD}=y"
69                 echo "CONFIG_DEFAULTS_KERNEL_${KERNTYPE}=y"
70                 echo "CONFIG_DEFAULTS_LIBC_${LIBCTYPE}=y"
71                 echo "CONFIG_VENDOR=${vendor}"
72                 echo "CONFIG_PRODUCT=${board}"
73                 echo "CONFIG_LINUXDIR=${KERNEL}"
74                 echo "CONFIG_LIBCDIR=${LIBCDIR}"
75         ) > vendors/${vendor}/${board}/config.device
76
77         STATUS="FAILED"
78
79         make ${vendor}/${board}_default > /tmp/build/${vendor}-${board}-${KERNEL}-${LIBC} 2>&1
80         [ "$?" = 0 ] && STATUS="passed"
81         echo -e "BUILD: ${vendor}-${board}-${KERNEL}-${LIBC} -->\t$STATUS"
82 done
83
84 echo "BUILD: all done"
85 exit 0