FreeCalypso > hg > fc-magnetite
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 |
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" |