annotate configure.sh @ 95:48792a467305

doc/C139-Howto improved a bit
author Mychaela Falconia <falcon@freecalypso.org>
date Mon, 03 Oct 2016 17:41:24 +0000
parents 7bd197063b9e
children 5c13f9325e2d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
62
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 #!/bin/sh
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 set -e
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 if [ ! -f configure.sh ]
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 then
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 echo "This script needs to be run from the top of the source tree" 1>&2
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 exit 1
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 fi
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 if [ ! -f helpers/makeline ]
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 then
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 echo "Please run make in the helpers directory first" 1>&2
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 exit 1
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 fi
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 # start looking at our invokation line
9c16635ee5d2 configure.sh: putting it all together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18
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"