FreeCalypso > hg > fc-magnetite
annotate configure.sh @ 90:7bd197063b9e
building RAM fw images for the Pirelli: initial concept
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 02 Oct 2016 16:51:22 +0000 |
parents | 46d9d68a3911 |
children | 5c13f9325e2d |
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 |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 if [ "$1" == --clean ] |
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 |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
151 |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
152 SUBDIR= |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
153 LIBS= |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
154 SPECIAL_LINK_LIBS= |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
155 current_lib= |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
156 |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
157 . "configs/$CONFIG" |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
158 |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
159 # str2ind magic |
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 if [ -z "$str2ind_blobs_used" ] |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
162 then |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
163 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
|
164 exit 1 |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
165 fi |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
166 |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
167 if [ "$str2ind_blobs_used" = 1 ] |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
168 then |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
169 cp blobs/str2ind.tab $BUILD_DIR |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
170 fi |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
171 |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
172 if [ "$str2ind_blobs_used" = 0 -a "$USE_STR2IND" = 0 ] |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
173 then |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
174 echo 'char *str2ind_version = "&0";' > $BUILD_DIR/str2ind.c |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
175 fi |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
176 |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
177 # generate the top level Makefile! |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
178 |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
179 helpers/makeline def SUBDIR $SUBDIR > $BUILD_DIR/Makefile |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
180 echo >> $BUILD_DIR/Makefile |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
181 helpers/makeline def LIBS $LIBS >> $BUILD_DIR/Makefile |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
182 echo >> $BUILD_DIR/Makefile |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
183 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
|
184 echo >> $BUILD_DIR/Makefile |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
185 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
|
186 echo >> $BUILD_DIR/Makefile |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
187 |
90
7bd197063b9e
building RAM fw images for the Pirelli: initial concept
Mychaela Falconia <falcon@freecalypso.org>
parents:
88
diff
changeset
|
188 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
|
189 then |
7bd197063b9e
building RAM fw images for the Pirelli: initial concept
Mychaela Falconia <falcon@freecalypso.org>
parents:
88
diff
changeset
|
190 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
|
191 >> $BUILD_DIR/Makefile |
7bd197063b9e
building RAM fw images for the Pirelli: initial concept
Mychaela Falconia <falcon@freecalypso.org>
parents:
88
diff
changeset
|
192 echo >> $BUILD_DIR/Makefile |
7bd197063b9e
building RAM fw images for the Pirelli: initial concept
Mychaela Falconia <falcon@freecalypso.org>
parents:
88
diff
changeset
|
193 fi |
7bd197063b9e
building RAM fw images for the Pirelli: initial concept
Mychaela Falconia <falcon@freecalypso.org>
parents:
88
diff
changeset
|
194 |
62
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
195 cat makefile-frags/first-part >> $BUILD_DIR/Makefile |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
196 |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
197 if [ "$USE_STR2IND" = 1 ] |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
198 then |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
199 cat makefile-frags/str2ind-tab-depend >> $BUILD_DIR/Makefile |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
200 fi |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
201 |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
202 if [ "$str2ind_blobs_used" = 1 -o "$USE_STR2IND" = 1 ] |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
203 then |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
204 cat makefile-frags/str2ind-c-gen >> $BUILD_DIR/Makefile |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
205 fi |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
206 |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
207 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
|
208 if [ "$TARGET" != c139 ] |
46d9d68a3911
top Makefile: support building flash images for the C139
Mychaela Falconia <falcon@freecalypso.org>
parents:
65
diff
changeset
|
209 then |
46d9d68a3911
top Makefile: support building flash images for the C139
Mychaela Falconia <falcon@freecalypso.org>
parents:
65
diff
changeset
|
210 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
|
211 else |
46d9d68a3911
top Makefile: support building flash images for the C139
Mychaela Falconia <falcon@freecalypso.org>
parents:
65
diff
changeset
|
212 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
|
213 fi |
62
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
214 |
90
7bd197063b9e
building RAM fw images for the Pirelli: initial concept
Mychaela Falconia <falcon@freecalypso.org>
parents:
88
diff
changeset
|
215 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
|
216 then |
7bd197063b9e
building RAM fw images for the Pirelli: initial concept
Mychaela Falconia <falcon@freecalypso.org>
parents:
88
diff
changeset
|
217 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
|
218 fi |
7bd197063b9e
building RAM fw images for the Pirelli: initial concept
Mychaela Falconia <falcon@freecalypso.org>
parents:
88
diff
changeset
|
219 |
62
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
220 cat makefile-frags/clean-always >> $BUILD_DIR/Makefile |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
221 if [ "$str2ind_blobs_used" = 0 ] |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
222 then |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
223 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
|
224 fi |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
225 if [ "$str2ind_blobs_used" = 1 -o "$USE_STR2IND" = 1 ] |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
226 then |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
227 echo ' rm -f str2ind.c' >> $BUILD_DIR/Makefile |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
228 fi |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
229 echo >> $BUILD_DIR/Makefile |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
230 echo 'FRC:' >> $BUILD_DIR/Makefile |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
231 |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
232 # All done! |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
233 |
9c16635ee5d2
configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
234 echo "Run make in $BUILD_DIR to compile the firmware" |