FreeCalypso > hg > fc-magnetite
annotate configure.sh @ 314:a90812ea82c9
AT%A output changed from hex to decimal with more descriptive names
fixed C sequence points violation while at it
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Wed, 15 Nov 2017 07:22:06 +0000 |
parents | a05a9e88976f |
children | 3ec9abac32cd |
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" |