annotate scripts/mk-component.sh @ 516:1ed9de6c90bd

src/g23m-gsm/sms/sms_for.c: bogus malloc removed The new error handling code that was not present in TCS211 blob version contains a malloc call that is bogus for 3 reasons: 1) The memory allocation in question is not needed in the first place; 2) libc malloc is used instead of one of the firmware's proper ways; 3) The memory allocation is made inside a function and then never freed, i.e., a memory leak. This bug was caught in gcc-built FreeCalypso fw projects (Citrine and Selenite) because our gcc environment does not allow any use of libc malloc (any reference to malloc produces a link failure), but this code from TCS3.2 is wrong even for Magnetite: if this code path is executed repeatedly over a long time, the many small allocations made by this malloc call without a subsequent free will eventually exhaust the malloc heap provided by the TMS470 environment, malloc will start returning NULL, and the bogus code will treat it as an error. Because the memory allocation in question is not needed at all, the fix entails simply removing it.
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 22 Jul 2018 06:04:49 +0000
parents 87347425b11f
children 41b6a18ffa0b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
10
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 #!/bin/sh
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 if [ $# -lt 1 -o $# -gt 2 ]
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 then
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 echo "usage: $0 component-lib [flavor]" 1>&2
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 exit 1
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 fi
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 LIBNAME="$1"
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 if [ -n "$2" ]
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 then
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 recipe_file="components/$1-$2"
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 else
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 recipe_file="components/$1"
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 fi
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 if [ ! -f "$recipe_file" ]
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 then
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 echo "Error: $recipe_file not found" 1>&2
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 exit 1
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 fi
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 if [ -z "$BUILD_DIR" ]
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 then
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26 echo "Error: BUILD_DIR= must be passed via environment" 1>&2
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27 exit 1
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 fi
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30 set -e
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32 mkdir -p $BUILD_DIR/$LIBNAME
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34 # beginning of the Makefile
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35 echo "all: $LIBNAME.lib" > $BUILD_DIR/$LIBNAME/Makefile
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36 echo >> $BUILD_DIR/$LIBNAME/Makefile
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
38 # shell functions to be used in the recipes
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
39
15
c8bdae60fcb1 changed the generation of *_version.c files to not break on make clean
Mychaela Falconia <falcon@freecalypso.org>
parents: 10
diff changeset
40 make_version() {
105
5e2b0806b098 scripts/mk-component.sh make_version(): allow filename to be different
Mychaela Falconia <falcon@freecalypso.org>
parents: 68
diff changeset
41 case $# in
5e2b0806b098 scripts/mk-component.sh make_version(): allow filename to be different
Mychaela Falconia <falcon@freecalypso.org>
parents: 68
diff changeset
42 1)
5e2b0806b098 scripts/mk-component.sh make_version(): allow filename to be different
Mychaela Falconia <falcon@freecalypso.org>
parents: 68
diff changeset
43 echo "$1_version.c:" >> $BUILD_DIR/$LIBNAME/Makefile
5e2b0806b098 scripts/mk-component.sh make_version(): allow filename to be different
Mychaela Falconia <falcon@freecalypso.org>
parents: 68
diff changeset
44 echo " ../../scripts/make-version.sh $1 > $1_version.c" \
5e2b0806b098 scripts/mk-component.sh make_version(): allow filename to be different
Mychaela Falconia <falcon@freecalypso.org>
parents: 68
diff changeset
45 >> $BUILD_DIR/$LIBNAME/Makefile
5e2b0806b098 scripts/mk-component.sh make_version(): allow filename to be different
Mychaela Falconia <falcon@freecalypso.org>
parents: 68
diff changeset
46 ;;
5e2b0806b098 scripts/mk-component.sh make_version(): allow filename to be different
Mychaela Falconia <falcon@freecalypso.org>
parents: 68
diff changeset
47 2)
5e2b0806b098 scripts/mk-component.sh make_version(): allow filename to be different
Mychaela Falconia <falcon@freecalypso.org>
parents: 68
diff changeset
48 echo "$2_version.c:" >> $BUILD_DIR/$LIBNAME/Makefile
5e2b0806b098 scripts/mk-component.sh make_version(): allow filename to be different
Mychaela Falconia <falcon@freecalypso.org>
parents: 68
diff changeset
49 echo " ../../scripts/make-version.sh $1 > $2_version.c" \
5e2b0806b098 scripts/mk-component.sh make_version(): allow filename to be different
Mychaela Falconia <falcon@freecalypso.org>
parents: 68
diff changeset
50 >> $BUILD_DIR/$LIBNAME/Makefile
5e2b0806b098 scripts/mk-component.sh make_version(): allow filename to be different
Mychaela Falconia <falcon@freecalypso.org>
parents: 68
diff changeset
51 ;;
5e2b0806b098 scripts/mk-component.sh make_version(): allow filename to be different
Mychaela Falconia <falcon@freecalypso.org>
parents: 68
diff changeset
52 *)
5e2b0806b098 scripts/mk-component.sh make_version(): allow filename to be different
Mychaela Falconia <falcon@freecalypso.org>
parents: 68
diff changeset
53 echo "Error: make_version takes 1 or 2 arguments" 1>&2
15
c8bdae60fcb1 changed the generation of *_version.c files to not break on make clean
Mychaela Falconia <falcon@freecalypso.org>
parents: 10
diff changeset
54 exit 1
105
5e2b0806b098 scripts/mk-component.sh make_version(): allow filename to be different
Mychaela Falconia <falcon@freecalypso.org>
parents: 68
diff changeset
55 ;;
5e2b0806b098 scripts/mk-component.sh make_version(): allow filename to be different
Mychaela Falconia <falcon@freecalypso.org>
parents: 68
diff changeset
56 esac
15
c8bdae60fcb1 changed the generation of *_version.c files to not break on make clean
Mychaela Falconia <falcon@freecalypso.org>
parents: 10
diff changeset
57 echo >> $BUILD_DIR/$LIBNAME/Makefile
c8bdae60fcb1 changed the generation of *_version.c files to not break on make clean
Mychaela Falconia <falcon@freecalypso.org>
parents: 10
diff changeset
58 }
c8bdae60fcb1 changed the generation of *_version.c files to not break on make clean
Mychaela Falconia <falcon@freecalypso.org>
parents: 10
diff changeset
59
68
838717193e09 eliminated the use of bootloader.lib binary blob
Mychaela Falconia <falcon@freecalypso.org>
parents: 32
diff changeset
60 asm_file() {
838717193e09 eliminated the use of bootloader.lib binary blob
Mychaela Falconia <falcon@freecalypso.org>
parents: 32
diff changeset
61 if [ $# != 1 ]
838717193e09 eliminated the use of bootloader.lib binary blob
Mychaela Falconia <falcon@freecalypso.org>
parents: 32
diff changeset
62 then
838717193e09 eliminated the use of bootloader.lib binary blob
Mychaela Falconia <falcon@freecalypso.org>
parents: 32
diff changeset
63 echo "Error: asm_file takes 1 argument" 1>&2
838717193e09 eliminated the use of bootloader.lib binary blob
Mychaela Falconia <falcon@freecalypso.org>
parents: 32
diff changeset
64 exit 1
838717193e09 eliminated the use of bootloader.lib binary blob
Mychaela Falconia <falcon@freecalypso.org>
parents: 32
diff changeset
65 fi
838717193e09 eliminated the use of bootloader.lib binary blob
Mychaela Falconia <falcon@freecalypso.org>
parents: 32
diff changeset
66 objname=`basename "$1" .s`.obj
838717193e09 eliminated the use of bootloader.lib binary blob
Mychaela Falconia <falcon@freecalypso.org>
parents: 32
diff changeset
67 helpers/makeline dep $objname "$1" >> $BUILD_DIR/$LIBNAME/Makefile
838717193e09 eliminated the use of bootloader.lib binary blob
Mychaela Falconia <falcon@freecalypso.org>
parents: 32
diff changeset
68 helpers/makeline cmd ../../toolwrap/asm470 ${ASMFLAGS} "$1" '$@' \
838717193e09 eliminated the use of bootloader.lib binary blob
Mychaela Falconia <falcon@freecalypso.org>
parents: 32
diff changeset
69 >> $BUILD_DIR/$LIBNAME/Makefile
838717193e09 eliminated the use of bootloader.lib binary blob
Mychaela Falconia <falcon@freecalypso.org>
parents: 32
diff changeset
70 echo >> $BUILD_DIR/$LIBNAME/Makefile
838717193e09 eliminated the use of bootloader.lib binary blob
Mychaela Falconia <falcon@freecalypso.org>
parents: 32
diff changeset
71 OBJS="$OBJS $objname"
838717193e09 eliminated the use of bootloader.lib binary blob
Mychaela Falconia <falcon@freecalypso.org>
parents: 32
diff changeset
72 }
838717193e09 eliminated the use of bootloader.lib binary blob
Mychaela Falconia <falcon@freecalypso.org>
parents: 32
diff changeset
73
10
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
74 cfile_plain() {
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
75 if [ $# != 1 ]
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
76 then
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
77 echo "Error: cfile_plain takes 1 argument" 1>&2
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
78 exit 1
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
79 fi
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
80 objname=`basename "$1" .c`.obj
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
81 helpers/makeline dep $objname "$1" >> $BUILD_DIR/$LIBNAME/Makefile
133
87347425b11f scripts/mk-component.sh: more filename case muck
Mychaela Falconia <falcon@freecalypso.org>
parents: 122
diff changeset
82 case "$objname" in
87347425b11f scripts/mk-component.sh: more filename case muck
Mychaela Falconia <falcon@freecalypso.org>
parents: 122
diff changeset
83 *[A-Z]*)
87347425b11f scripts/mk-component.sh: more filename case muck
Mychaela Falconia <falcon@freecalypso.org>
parents: 122
diff changeset
84 helpers/makeline cmd rm -f '$@' \
87347425b11f scripts/mk-component.sh: more filename case muck
Mychaela Falconia <falcon@freecalypso.org>
parents: 122
diff changeset
85 >> $BUILD_DIR/$LIBNAME/Makefile
87347425b11f scripts/mk-component.sh: more filename case muck
Mychaela Falconia <falcon@freecalypso.org>
parents: 122
diff changeset
86 ;;
87347425b11f scripts/mk-component.sh: more filename case muck
Mychaela Falconia <falcon@freecalypso.org>
parents: 122
diff changeset
87 esac
10
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
88 helpers/makeline cmd ../../toolwrap/cl470 -q -c ${CFLAGS} ${CPPFLAGS} \
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
89 "$1" >> $BUILD_DIR/$LIBNAME/Makefile
32
c49c78d9bb5a scripts/mk-component.sh: fix for cl470's auto-lowercasing of filenames
Mychaela Falconia <falcon@freecalypso.org>
parents: 15
diff changeset
90 case "$objname" in
c49c78d9bb5a scripts/mk-component.sh: fix for cl470's auto-lowercasing of filenames
Mychaela Falconia <falcon@freecalypso.org>
parents: 15
diff changeset
91 *[A-Z]*)
c49c78d9bb5a scripts/mk-component.sh: fix for cl470's auto-lowercasing of filenames
Mychaela Falconia <falcon@freecalypso.org>
parents: 15
diff changeset
92 objname_lc=`echo $objname | tr A-Z a-z`
c49c78d9bb5a scripts/mk-component.sh: fix for cl470's auto-lowercasing of filenames
Mychaela Falconia <falcon@freecalypso.org>
parents: 15
diff changeset
93 helpers/makeline cmd mv $objname_lc $objname \
c49c78d9bb5a scripts/mk-component.sh: fix for cl470's auto-lowercasing of filenames
Mychaela Falconia <falcon@freecalypso.org>
parents: 15
diff changeset
94 >> $BUILD_DIR/$LIBNAME/Makefile
c49c78d9bb5a scripts/mk-component.sh: fix for cl470's auto-lowercasing of filenames
Mychaela Falconia <falcon@freecalypso.org>
parents: 15
diff changeset
95 ;;
c49c78d9bb5a scripts/mk-component.sh: fix for cl470's auto-lowercasing of filenames
Mychaela Falconia <falcon@freecalypso.org>
parents: 15
diff changeset
96 esac
10
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
97 echo >> $BUILD_DIR/$LIBNAME/Makefile
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
98 OBJS="$OBJS $objname"
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
99 }
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
100
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
101 cfile_str2ind() {
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
102 if [ $# != 1 ]
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
103 then
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
104 echo "Error: cfile_str2ind takes 1 argument" 1>&2
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
105 exit 1
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
106 fi
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
107 if [ "$USE_STR2IND" = 1 ]
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
108 then
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
109 objname=`basename "$1" .c`.obj
122
feba9ffc2627 scripts/mk-component.sh: filename case muck for str2ind
Mychaela Falconia <falcon@freecalypso.org>
parents: 105
diff changeset
110 pp_name=`echo $1 | sed -e 's/\.c$/.pp/' | tr A-Z a-z`
feba9ffc2627 scripts/mk-component.sh: filename case muck for str2ind
Mychaela Falconia <falcon@freecalypso.org>
parents: 105
diff changeset
111 pp__name=`echo $1 | sed -e 's/\.c$/.pp_/' | tr A-Z a-z`
10
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
112 helpers/makeline dep $objname "$1" \
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
113 >> $BUILD_DIR/$LIBNAME/Makefile
133
87347425b11f scripts/mk-component.sh: more filename case muck
Mychaela Falconia <falcon@freecalypso.org>
parents: 122
diff changeset
114 case "$objname" in
87347425b11f scripts/mk-component.sh: more filename case muck
Mychaela Falconia <falcon@freecalypso.org>
parents: 122
diff changeset
115 *[A-Z]*)
87347425b11f scripts/mk-component.sh: more filename case muck
Mychaela Falconia <falcon@freecalypso.org>
parents: 122
diff changeset
116 helpers/makeline cmd rm -f '$@' \
87347425b11f scripts/mk-component.sh: more filename case muck
Mychaela Falconia <falcon@freecalypso.org>
parents: 122
diff changeset
117 >> $BUILD_DIR/$LIBNAME/Makefile
87347425b11f scripts/mk-component.sh: more filename case muck
Mychaela Falconia <falcon@freecalypso.org>
parents: 122
diff changeset
118 ;;
87347425b11f scripts/mk-component.sh: more filename case muck
Mychaela Falconia <falcon@freecalypso.org>
parents: 122
diff changeset
119 esac
10
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
120 helpers/makeline cmd ../../toolwrap/cl470 -q -po -p? -x \
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
121 ${CPPFLAGS} "$1" >> $BUILD_DIR/$LIBNAME/Makefile
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
122 helpers/makeline cmd ../../toolwrap/str2ind -a \
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
123 -t ../str2ind.tab -l ../str2ind.log \
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
124 -f "$pp_name" >> $BUILD_DIR/$LIBNAME/Makefile
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
125 helpers/makeline cmd ../../toolwrap/cl470 -q -c ${CFLAGS} \
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
126 "$pp__name" >> $BUILD_DIR/$LIBNAME/Makefile
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
127 helpers/makeline cmd @rm -f "$pp_name" \
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
128 >> $BUILD_DIR/$LIBNAME/Makefile
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
129 helpers/makeline cmd @rm -f "$pp__name" \
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
130 >> $BUILD_DIR/$LIBNAME/Makefile
122
feba9ffc2627 scripts/mk-component.sh: filename case muck for str2ind
Mychaela Falconia <falcon@freecalypso.org>
parents: 105
diff changeset
131 case "$objname" in
feba9ffc2627 scripts/mk-component.sh: filename case muck for str2ind
Mychaela Falconia <falcon@freecalypso.org>
parents: 105
diff changeset
132 *[A-Z]*)
feba9ffc2627 scripts/mk-component.sh: filename case muck for str2ind
Mychaela Falconia <falcon@freecalypso.org>
parents: 105
diff changeset
133 objname_lc=`echo $objname | tr A-Z a-z`
feba9ffc2627 scripts/mk-component.sh: filename case muck for str2ind
Mychaela Falconia <falcon@freecalypso.org>
parents: 105
diff changeset
134 helpers/makeline cmd mv $objname_lc $objname \
feba9ffc2627 scripts/mk-component.sh: filename case muck for str2ind
Mychaela Falconia <falcon@freecalypso.org>
parents: 105
diff changeset
135 >> $BUILD_DIR/$LIBNAME/Makefile
feba9ffc2627 scripts/mk-component.sh: filename case muck for str2ind
Mychaela Falconia <falcon@freecalypso.org>
parents: 105
diff changeset
136 ;;
feba9ffc2627 scripts/mk-component.sh: filename case muck for str2ind
Mychaela Falconia <falcon@freecalypso.org>
parents: 105
diff changeset
137 esac
10
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
138 echo >> $BUILD_DIR/$LIBNAME/Makefile
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
139 OBJS="$OBJS $objname"
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
140 else
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
141 cfile_plain "$1"
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
142 fi
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
143 }
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
144
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
145 # invoke the recipe
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
146
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
147 SRC=../../src
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
148 OBJS=
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
149 . "$recipe_file"
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
150
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
151 # finish the Makefile
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
152
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
153 helpers/makeline dep $LIBNAME.lib ${OBJS} >> $BUILD_DIR/$LIBNAME/Makefile
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
154 echo ' ../../toolwrap/ar470 r $@ $^' >> $BUILD_DIR/$LIBNAME/Makefile
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
155 echo >> $BUILD_DIR/$LIBNAME/Makefile
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
156 echo 'clean:' >> $BUILD_DIR/$LIBNAME/Makefile
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
157 echo ' rm -f *.obj *.lib *.c' >> $BUILD_DIR/$LIBNAME/Makefile