annotate configure.sh @ 259:2bb8b1c11afc

build system: produce flash-script for flashing with fc-loadtool
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 04 Aug 2017 07:34:37 +0000
parents 13bcc2ed7e44
children 21d128939204
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
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
48 . "targets/$TARGET.conf"
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
49
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
50 BUILD_DIR="build-$TARGET-$CONFIG"
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
51 USE_STR2IND=0
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
52
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
53 # allow the user to override these defaults
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
54
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
55 shift
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
56 shift
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
57 while [ $# != 0 ]
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
58 do
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
59 eval "$1"
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
60 shift
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
61 done
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
62
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
63 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
64
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
65 if [ "$clean_flag" = 1 ]
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
66 then
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
67 rm -rf $BUILD_DIR
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
68 fi
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
69 mkdir -p $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 : > $BUILD_DIR/lcfgen
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
72
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
73 # shell functions to be used in the configuration recipe
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
74
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
75 build_lib() {
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
76 if [ $# -lt 1 -o $# -gt 2 ]
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
77 then
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
78 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
79 exit 1
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
80 fi
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
81 scripts/mk-component.sh "$1" "$2"
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
82 SUBDIR="$SUBDIR $1"
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
83 current_lib=$1/$1.lib
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
84 LIBS="$LIBS $current_lib"
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
85 }
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
86
65
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
87 blob_lib_std() {
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
88 if [ $# != 1 ]
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
89 then
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
90 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
91 exit 1
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
92 fi
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
93 current_lib="../blobs/libs/$1.lib"
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
94 LIBS="$LIBS $current_lib"
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
95 }
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
96
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
97 blob_lib_gpf() {
62
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
98 if [ $# != 1 ]
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
99 then
65
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
100 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
101 exit 1
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
102 fi
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
103 current_lib="../blobs/gpflibs/$1.lib"
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
104 LIBS="$LIBS $current_lib"
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
105 }
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
106
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
107 blob_lib_os() {
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
108 if [ $# != 1 ]
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
109 then
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
110 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
111 exit 1
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
112 fi
65
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
113 current_lib="../blobs/oslibs/$1.lib"
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
114 LIBS="$LIBS $current_lib"
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
115 }
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
116
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
117 blob_lib_custom() {
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
118 if [ $# != 2 ]
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
119 then
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
120 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
121 exit 1
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
122 fi
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
123 if [ -z "$1" ]
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
124 then
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
125 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
126 exit 1
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
127 fi
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
128 cp $1 $BUILD_DIR/$2.lib
bb53b2e2d548 revamped the handling of blob libs
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
129 current_lib=$2.lib
62
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
130 LIBS="$LIBS $current_lib"
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
131 }
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
132
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
133 lib_link_magic() {
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
134 if [ $# != 1 ]
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
135 then
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
136 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
137 exit 1
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
138 fi
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
139 if [ -z "$current_lib" ]
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
140 then
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
141 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
142 exit 1
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
143 fi
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
144 SPECIAL_LINK_LIBS="$SPECIAL_LINK_LIBS $current_lib"
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
145 echo "$1" >> $BUILD_DIR/lcfgen
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
146 }
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
147
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
148 # invoke the configuration recipe
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
149
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
150 export BUILD_DIR TARGET USE_STR2IND
101
5c13f9325e2d preparations for rebuilding main.lib from partial source
Mychaela Falconia <falcon@freecalypso.org>
parents: 90
diff changeset
151 export INIT_blob
62
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 SUBDIR=
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
154 LIBS=
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
155 SPECIAL_LINK_LIBS=
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
156 current_lib=
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
157
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
158 . "configs/$CONFIG"
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
159
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
160 # str2ind magic
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
161
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
162 if [ -z "$str2ind_blobs_used" ]
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
163 then
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
164 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
165 exit 1
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
166 fi
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 if [ "$str2ind_blobs_used" = 1 ]
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
169 then
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
170 cp blobs/str2ind.tab $BUILD_DIR
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
171 fi
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
172
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
173 if [ "$str2ind_blobs_used" = 0 -a "$USE_STR2IND" = 0 ]
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
174 then
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
175 echo 'char *str2ind_version = "&0";' > $BUILD_DIR/str2ind.c
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
176 fi
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
177
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
178 # generate the top level Makefile!
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
179
249
17f3647752ba configure.sh: emit the config name into the generated Makefile
Mychaela Falconia <falcon@freecalypso.org>
parents: 243
diff changeset
180 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
181 echo >> $BUILD_DIR/Makefile
17f3647752ba configure.sh: emit the config name into the generated Makefile
Mychaela Falconia <falcon@freecalypso.org>
parents: 243
diff changeset
182 helpers/makeline def SUBDIR $SUBDIR >> $BUILD_DIR/Makefile
62
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
183 echo >> $BUILD_DIR/Makefile
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
184 helpers/makeline def LIBS $LIBS >> $BUILD_DIR/Makefile
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
185 echo >> $BUILD_DIR/Makefile
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
186 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
187 echo >> $BUILD_DIR/Makefile
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
188 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
189 echo >> $BUILD_DIR/Makefile
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
190
90
7bd197063b9e building RAM fw images for the Pirelli: initial concept
Mychaela Falconia <falcon@freecalypso.org>
parents: 88
diff changeset
191 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
192 then
7bd197063b9e building RAM fw images for the Pirelli: initial concept
Mychaela Falconia <falcon@freecalypso.org>
parents: 88
diff changeset
193 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
194 >> $BUILD_DIR/Makefile
7bd197063b9e building RAM fw images for the Pirelli: initial concept
Mychaela Falconia <falcon@freecalypso.org>
parents: 88
diff changeset
195 echo >> $BUILD_DIR/Makefile
7bd197063b9e building RAM fw images for the Pirelli: initial concept
Mychaela Falconia <falcon@freecalypso.org>
parents: 88
diff changeset
196 fi
7bd197063b9e building RAM fw images for the Pirelli: initial concept
Mychaela Falconia <falcon@freecalypso.org>
parents: 88
diff changeset
197
258
13bcc2ed7e44 configure.sh & targets/*.conf: emit FLASH_BASE_ADDR & FLASH_SECTOR_SIZE
Mychaela Falconia <falcon@freecalypso.org>
parents: 249
diff changeset
198 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
199 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
200 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
201
62
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
202 cat makefile-frags/first-part >> $BUILD_DIR/Makefile
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
203
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
204 if [ "$USE_STR2IND" = 1 ]
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
205 then
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
206 cat makefile-frags/str2ind-tab-depend >> $BUILD_DIR/Makefile
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
207 fi
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
208
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
209 if [ "$str2ind_blobs_used" = 1 -o "$USE_STR2IND" = 1 ]
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
210 then
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
211 cat makefile-frags/str2ind-c-gen >> $BUILD_DIR/Makefile
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
212 fi
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
213
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
214 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
215 if [ "$TARGET" != c139 ]
46d9d68a3911 top Makefile: support building flash images for the C139
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
216 then
46d9d68a3911 top Makefile: support building flash images for the C139
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
217 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
218 else
46d9d68a3911 top Makefile: support building flash images for the C139
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
219 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
220 fi
259
2bb8b1c11afc build system: produce flash-script for flashing with fc-loadtool
Mychaela Falconia <falcon@freecalypso.org>
parents: 258
diff changeset
221 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
222
90
7bd197063b9e building RAM fw images for the Pirelli: initial concept
Mychaela Falconia <falcon@freecalypso.org>
parents: 88
diff changeset
223 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
224 then
7bd197063b9e building RAM fw images for the Pirelli: initial concept
Mychaela Falconia <falcon@freecalypso.org>
parents: 88
diff changeset
225 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
226 fi
7bd197063b9e building RAM fw images for the Pirelli: initial concept
Mychaela Falconia <falcon@freecalypso.org>
parents: 88
diff changeset
227
62
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
228 cat makefile-frags/clean-always >> $BUILD_DIR/Makefile
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
229 if [ "$str2ind_blobs_used" = 0 ]
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
230 then
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
231 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
232 fi
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
233 if [ "$str2ind_blobs_used" = 1 -o "$USE_STR2IND" = 1 ]
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
234 then
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
235 echo ' rm -f str2ind.c' >> $BUILD_DIR/Makefile
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
236 fi
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
237 echo >> $BUILD_DIR/Makefile
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
238 echo 'FRC:' >> $BUILD_DIR/Makefile
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
239
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
240 # All done!
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
241
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
242 echo "Run make in $BUILD_DIR to compile the firmware"