annotate configure.sh @ 336:be011556e71f

FCHG: API implementation started
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 14 Dec 2017 21:01:59 +0000
parents a05a9e88976f
children 3ec9abac32cd
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
62
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 #!/bin/sh
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 set -e
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 if [ ! -f configure.sh ]
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 then
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 echo "This script needs to be run from the top of the source tree" 1>&2
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 exit 1
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 fi
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 if [ ! -f helpers/makeline ]
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 then
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 echo "Please run make in the helpers directory first" 1>&2
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 exit 1
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 fi
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 # start looking at our invokation line
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18
243
619febca2803 configure.sh: the correct form of equality test operator in [ is '='
Mychaela Falconia <falcon@freecalypso.org>
parents: 101
diff changeset
19 if [ "$1" = --clean ]
62
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 then
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 clean_flag=1
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 shift
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 else
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 clean_flag=0
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 fi
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27 if [ $# -lt 2 ]
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 then
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 echo "usage: $0 [--clean] target config [vars]" 1>&2
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30 exit 1
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 fi
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33 TARGET="$1"
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34 CONFIG="$2"
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36 if [ ! -f "targets/$TARGET.conf" -o ! -f "targets/$TARGET.h" ]
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37 then
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
38 echo "Error: target $TARGET not known" 1>&2
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
39 exit 1
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
40 fi
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
41
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
42 if [ ! -f "configs/$CONFIG" ]
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
43 then
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
44 echo "Error: configuration $CONFIG not known" 1>&2
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
45 exit 1
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
46 fi
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
47
291
21d128939204 implemented build option to disable sleep
Mychaela Falconia <falcon@freecalypso.org>
parents: 259
diff changeset
48 DISABLE_SLEEP=0
21d128939204 implemented build option to disable sleep
Mychaela Falconia <falcon@freecalypso.org>
parents: 259
diff changeset
49
62
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
50 . "targets/$TARGET.conf"
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
51
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
52 BUILD_DIR="build-$TARGET-$CONFIG"
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
53 USE_STR2IND=0
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
54
309
a05a9e88976f configure.sh: better comment
Mychaela Falconia <falcon@freecalypso.org>
parents: 307
diff changeset
55 # configurable feature settings
307
6d1eac845d3e make it possible to enable SERIAL_DYNAMIC_SWITCH on the configure.sh line
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
56
6d1eac845d3e make it possible to enable SERIAL_DYNAMIC_SWITCH on the configure.sh line
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
57 SERIAL_DYNAMIC_SWITCH=0
6d1eac845d3e make it possible to enable SERIAL_DYNAMIC_SWITCH on the configure.sh line
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
58
62
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
59 # allow the user to override these defaults
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
60
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
61 shift
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
62 shift
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
63 while [ $# != 0 ]
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
64 do
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
65 eval "$1"
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
66 shift
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
67 done
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
68
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
69 echo "Building configuration $CONFIG for target $TARGET in $BUILD_DIR"
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
70
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
71 if [ "$clean_flag" = 1 ]
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
72 then
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
73 rm -rf $BUILD_DIR
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
74 fi
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
75 mkdir -p $BUILD_DIR
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
76
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
77 : > $BUILD_DIR/lcfgen
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
78
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
79 # shell functions to be used in the configuration recipe
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
80
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
81 build_lib() {
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
82 if [ $# -lt 1 -o $# -gt 2 ]
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
83 then
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
84 echo "Error: build_lib takes 1 or 2 arguments" 1>&2
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
85 exit 1
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
86 fi
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
87 scripts/mk-component.sh "$1" "$2"
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
88 SUBDIR="$SUBDIR $1"
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
89 current_lib=$1/$1.lib
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
90 LIBS="$LIBS $current_lib"
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
91 }
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
92
65
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
93 blob_lib_std() {
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
94 if [ $# != 1 ]
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
95 then
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
96 echo "Error: blob_lib_std takes 1 argument" 1>&2
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
97 exit 1
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
98 fi
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
99 current_lib="../blobs/libs/$1.lib"
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
100 LIBS="$LIBS $current_lib"
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
101 }
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
102
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
103 blob_lib_gpf() {
62
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
104 if [ $# != 1 ]
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
105 then
65
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
106 echo "Error: blob_lib_gpf takes 1 argument" 1>&2
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
107 exit 1
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
108 fi
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
109 current_lib="../blobs/gpflibs/$1.lib"
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
110 LIBS="$LIBS $current_lib"
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
111 }
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
112
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
113 blob_lib_os() {
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
114 if [ $# != 1 ]
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
115 then
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
116 echo "Error: blob_lib_os takes 1 argument" 1>&2
62
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
117 exit 1
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
118 fi
65
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
119 current_lib="../blobs/oslibs/$1.lib"
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
120 LIBS="$LIBS $current_lib"
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
121 }
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
122
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
123 blob_lib_custom() {
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
124 if [ $# != 2 ]
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
125 then
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
126 echo "Error: blob_lib_custom takes 2 arguments" 1>&2
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
127 exit 1
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
128 fi
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
129 if [ -z "$1" ]
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
130 then
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
131 echo "Error: this config is not supported on this target" 1>&2
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
132 exit 1
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
133 fi
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
134 cp $1 $BUILD_DIR/$2.lib
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
135 current_lib=$2.lib
62
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
136 LIBS="$LIBS $current_lib"
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
137 }
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
138
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
139 lib_link_magic() {
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
140 if [ $# != 1 ]
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
141 then
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
142 echo "Error: lib_link_magic takes 1 argument" 1>&2
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
143 exit 1
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
144 fi
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
145 if [ -z "$current_lib" ]
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
146 then
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
147 echo "Error: lib_link_magic called before build_lib or blob_lib" 1>&2
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
148 exit 1
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
149 fi
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
150 SPECIAL_LINK_LIBS="$SPECIAL_LINK_LIBS $current_lib"
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
151 echo "$1" >> $BUILD_DIR/lcfgen
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
152 }
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
153
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
154 # invoke the configuration recipe
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
155
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
156 export BUILD_DIR TARGET USE_STR2IND
291
21d128939204 implemented build option to disable sleep
Mychaela Falconia <falcon@freecalypso.org>
parents: 259
diff changeset
157 export DISABLE_SLEEP
101
5c13f9325e2d preparations for rebuilding main.lib from partial source
Mychaela Falconia <falcon@freecalypso.org>
parents: 90
diff changeset
158 export INIT_blob
307
6d1eac845d3e make it possible to enable SERIAL_DYNAMIC_SWITCH on the configure.sh line
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
159 export SERIAL_DYNAMIC_SWITCH
62
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
160
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
161 SUBDIR=
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
162 LIBS=
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
163 SPECIAL_LINK_LIBS=
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
164 current_lib=
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
165
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
166 . "configs/$CONFIG"
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
167
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
168 # str2ind magic
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
169
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
170 if [ -z "$str2ind_blobs_used" ]
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
171 then
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
172 echo "Error: configs/$CONFIG must set str2ind_blobs_used" 1>&2
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
173 exit 1
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
174 fi
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
175
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
176 if [ "$str2ind_blobs_used" = 1 ]
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
177 then
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
178 cp blobs/str2ind.tab $BUILD_DIR
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
179 fi
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
180
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
181 if [ "$str2ind_blobs_used" = 0 -a "$USE_STR2IND" = 0 ]
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
182 then
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
183 echo 'char *str2ind_version = "&0";' > $BUILD_DIR/str2ind.c
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
184 fi
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
185
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
186 # generate the top level Makefile!
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
187
249
17f3647752ba configure.sh: emit the config name into the generated Makefile
Mychaela Falconia <falcon@freecalypso.org>
parents: 243
diff changeset
188 helpers/makeline def CONFIG_NAME $CONFIG > $BUILD_DIR/Makefile
17f3647752ba configure.sh: emit the config name into the generated Makefile
Mychaela Falconia <falcon@freecalypso.org>
parents: 243
diff changeset
189 echo >> $BUILD_DIR/Makefile
17f3647752ba configure.sh: emit the config name into the generated Makefile
Mychaela Falconia <falcon@freecalypso.org>
parents: 243
diff changeset
190 helpers/makeline def SUBDIR $SUBDIR >> $BUILD_DIR/Makefile
62
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
191 echo >> $BUILD_DIR/Makefile
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
192 helpers/makeline def LIBS $LIBS >> $BUILD_DIR/Makefile
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
193 echo >> $BUILD_DIR/Makefile
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
194 helpers/makeline def SPECIAL_LINK_LIBS $SPECIAL_LINK_LIBS >> $BUILD_DIR/Makefile
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
195 echo >> $BUILD_DIR/Makefile
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
196 helpers/makeline def LINK_SCRIPT_SRC ../$LINK_SCRIPT_SRC >> $BUILD_DIR/Makefile
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
197 echo >> $BUILD_DIR/Makefile
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
198
90
7bd197063b9e building RAM fw images for the Pirelli: initial concept
Mychaela Falconia <falcon@freecalypso.org>
parents: 88
diff changeset
199 if [ -n "$RAM_LINK_SCRIPT_SRC" ]
7bd197063b9e building RAM fw images for the Pirelli: initial concept
Mychaela Falconia <falcon@freecalypso.org>
parents: 88
diff changeset
200 then
7bd197063b9e building RAM fw images for the Pirelli: initial concept
Mychaela Falconia <falcon@freecalypso.org>
parents: 88
diff changeset
201 helpers/makeline def RAM_LINK_SCRIPT_SRC ../$RAM_LINK_SCRIPT_SRC \
7bd197063b9e building RAM fw images for the Pirelli: initial concept
Mychaela Falconia <falcon@freecalypso.org>
parents: 88
diff changeset
202 >> $BUILD_DIR/Makefile
7bd197063b9e building RAM fw images for the Pirelli: initial concept
Mychaela Falconia <falcon@freecalypso.org>
parents: 88
diff changeset
203 echo >> $BUILD_DIR/Makefile
7bd197063b9e building RAM fw images for the Pirelli: initial concept
Mychaela Falconia <falcon@freecalypso.org>
parents: 88
diff changeset
204 fi
7bd197063b9e building RAM fw images for the Pirelli: initial concept
Mychaela Falconia <falcon@freecalypso.org>
parents: 88
diff changeset
205
258
13bcc2ed7e44 configure.sh & targets/*.conf: emit FLASH_BASE_ADDR & FLASH_SECTOR_SIZE
Mychaela Falconia <falcon@freecalypso.org>
parents: 249
diff changeset
206 helpers/makeline def FLASH_BASE_ADDR $FLASH_BASE_ADDR >> $BUILD_DIR/Makefile
13bcc2ed7e44 configure.sh & targets/*.conf: emit FLASH_BASE_ADDR & FLASH_SECTOR_SIZE
Mychaela Falconia <falcon@freecalypso.org>
parents: 249
diff changeset
207 helpers/makeline def FLASH_SECTOR_SIZE $FLASH_SECTOR_SIZE >> $BUILD_DIR/Makefile
13bcc2ed7e44 configure.sh & targets/*.conf: emit FLASH_BASE_ADDR & FLASH_SECTOR_SIZE
Mychaela Falconia <falcon@freecalypso.org>
parents: 249
diff changeset
208 echo >> $BUILD_DIR/Makefile
13bcc2ed7e44 configure.sh & targets/*.conf: emit FLASH_BASE_ADDR & FLASH_SECTOR_SIZE
Mychaela Falconia <falcon@freecalypso.org>
parents: 249
diff changeset
209
62
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
210 cat makefile-frags/first-part >> $BUILD_DIR/Makefile
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
211
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
212 if [ "$USE_STR2IND" = 1 ]
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
213 then
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
214 cat makefile-frags/str2ind-tab-depend >> $BUILD_DIR/Makefile
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
215 fi
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
216
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
217 if [ "$str2ind_blobs_used" = 1 -o "$USE_STR2IND" = 1 ]
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
218 then
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
219 cat makefile-frags/str2ind-c-gen >> $BUILD_DIR/Makefile
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
220 fi
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
221
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
222 cat makefile-frags/link-steps >> $BUILD_DIR/Makefile
88
46d9d68a3911 top Makefile: support building flash images for the C139
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
223 if [ "$TARGET" != c139 ]
46d9d68a3911 top Makefile: support building flash images for the C139
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
224 then
46d9d68a3911 top Makefile: support building flash images for the C139
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
225 cat makefile-frags/m0-to-bin-std >> $BUILD_DIR/Makefile
46d9d68a3911 top Makefile: support building flash images for the C139
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
226 else
46d9d68a3911 top Makefile: support building flash images for the C139
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
227 cat makefile-frags/m0-to-bin-c139 >> $BUILD_DIR/Makefile
46d9d68a3911 top Makefile: support building flash images for the C139
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
228 fi
259
2bb8b1c11afc build system: produce flash-script for flashing with fc-loadtool
Mychaela Falconia <falcon@freecalypso.org>
parents: 258
diff changeset
229 cat makefile-frags/flash-script-gen >> $BUILD_DIR/Makefile
62
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
230
90
7bd197063b9e building RAM fw images for the Pirelli: initial concept
Mychaela Falconia <falcon@freecalypso.org>
parents: 88
diff changeset
231 if [ -n "$RAM_LINK_SCRIPT_SRC" ]
7bd197063b9e building RAM fw images for the Pirelli: initial concept
Mychaela Falconia <falcon@freecalypso.org>
parents: 88
diff changeset
232 then
7bd197063b9e building RAM fw images for the Pirelli: initial concept
Mychaela Falconia <falcon@freecalypso.org>
parents: 88
diff changeset
233 cat makefile-frags/ram-link-steps >> $BUILD_DIR/Makefile
7bd197063b9e building RAM fw images for the Pirelli: initial concept
Mychaela Falconia <falcon@freecalypso.org>
parents: 88
diff changeset
234 fi
7bd197063b9e building RAM fw images for the Pirelli: initial concept
Mychaela Falconia <falcon@freecalypso.org>
parents: 88
diff changeset
235
62
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
236 cat makefile-frags/clean-always >> $BUILD_DIR/Makefile
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
237 if [ "$str2ind_blobs_used" = 0 ]
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
238 then
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
239 echo ' rm -f str2ind.tab str2ind.log' >> $BUILD_DIR/Makefile
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
240 fi
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
241 if [ "$str2ind_blobs_used" = 1 -o "$USE_STR2IND" = 1 ]
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
242 then
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
243 echo ' rm -f str2ind.c' >> $BUILD_DIR/Makefile
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
244 fi
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
245 echo >> $BUILD_DIR/Makefile
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
246 echo 'FRC:' >> $BUILD_DIR/Makefile
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
247
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
248 # All done!
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
249
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
250 echo "Run make in $BUILD_DIR to compile the firmware"