added CQ_STARM
[gnuk/neug.git] / src / configure
1 #! /bin/bash
2
3 #
4 # This file is *NOT* generated by GNU Autoconf, but written by NIIBE Yutaka
5 #
6 # Copyright (C) 2010, 2011 Free Software Initiative of Japan
7 #
8 # This file is a part of NeuG, a Random Number Generator implementation.
9 #
10 # NeuG is free software: you can redistribute it and/or modify it
11 # under the terms of the GNU General Public License as published by
12 # the Free Software Foundation, either version 3 of the License, or
13 # (at your option) any later version.
14 #
15 # NeuG is distributed in the hope that it will be useful, but WITHOUT
16 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
17 # or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
18 # License for more details.
19 #
20 # You should have received a copy of the GNU General Public License
21 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
22
23 # Default settings
24 help=no
25 target=STBEE_MINI
26 verbose=no
27 with_dfu=default
28 debug=no
29
30 # Process each option
31 for option; do
32   case $option in
33   *=*)  optarg=`expr "X$option" : '[^=]*=\(.*\)'` ;;
34   *)    optarg=yes ;;
35   esac
36
37   case $option in
38   -h | --help)
39     help=yes ;;
40   --target=*)
41     target=$optarg ;;
42   -v | --verbose)
43     verbose=yes ;;
44   --with-dfu)
45     with_dfu=yes ;;
46   --without-dfu)
47     with_dfu=no ;;
48   *)
49     echo "Unrecognized option \`$option'" >&2
50     echo "Try \`$0 --help' for more information." >&2
51     exit 1
52     ;;
53   esac
54 done
55
56 if test "$help" = "yes"; then
57   cat <<EOF
58 Usage: $0 [OPTION]...
59
60 Defaults for the options are specified in brackets.
61
62 Configuration:
63   -h, --help            display this help and exit      [no]
64   --target=TARGET       specify target                  [STBEE_MINI]
65                         supported targes are:
66                            OLIMEX_STM32_H103
67                            STBEE_MINI
68                            CQ_STARM
69   --with-dfu            build image for DFU             [<target specific>]
70 EOF
71   exit 0
72 fi
73
74 BOARD_DIR=../boards/$target
75 if test -d $BOARD_DIR; then
76   echo "Configured for target: $target"
77 else
78   echo "Unsupported target \`$target'" >&2
79   exit 1
80 fi
81
82 # Flash page size in byte
83 FLASH_PAGE_SIZE=1024
84 # Flash memory size in KB
85 FLASH_SIZE=128
86
87 # Settings for TARGET
88 case $target in
89 CQ_STARM|STBEE_MINI)
90   if test "$with_dfu" = "default"; then
91     with_dfu=yes;
92   fi  ;;
93 STM32_PRIMER2)
94   FLASH_PAGE_SIZE=2048
95   FLASH_SIZE=512
96   ;;
97 STBEE)
98   FLASH_PAGE_SIZE=2048
99   FLASH_SIZE=512
100   if test "$with_dfu" = "default"; then
101     with_dfu=yes;
102   fi  ;;
103 STM8S_DISCOVERY)
104   FLASH_SIZE=64
105   ;;
106 *)
107   ;;
108 esac
109
110 # --with-dfu option
111 if test "$with_dfu" = "yes"; then
112   echo "Configured for DFU"
113   ORIGIN=0x08003000
114   FLASH_SIZE=`expr $FLASH_SIZE - 12`
115   DFU_DEFINE="#define DFU_SUPPORT 1"
116 else
117   echo "Configured for bare system (no-DFU)"
118   ORIGIN=0x08000000
119   DFU_DEFINE="#undef DFU_SUPPORT"
120 fi
121
122 sed -e "s%@BOARD_DIR@%$BOARD_DIR%" \
123         < Makefile.in > Makefile
124 sed -e "s/@ORIGIN@/$ORIGIN/" -e "s/@FLASH_SIZE@/$FLASH_SIZE/" \
125     -e "s/@FLASH_PAGE_SIZE@/$FLASH_PAGE_SIZE/" \
126         < neug.ld.in > neug.ld
127 sed -e "s/@DFU_DEFINE@/$DFU_DEFINE/" \
128         < config.h.in > config.h
129 exit 0