annotate scripts/mk-component.sh @ 605:07d0dc4431f4

bootloader.s: same MEMIF fix as in int.s plus DPLL BYPASS fix Both MEMIF and DPLL settings are now the same between int.s and bootloader.s assembly code paths. Previously bootloader.s was setting DPLL BYPASS /2 mode, which persisted until _INT_Initialize code with the bootloader body omitted, or was changed to /1 in the hardware init function in the bootloader.lib:start.obj module.
author Mychaela Falconia <falcon@freecalypso.org>
date Mon, 17 Jun 2019 18:40:32 +0000
parents 0198ac1e1a4f
children
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
574
41b6a18ffa0b GPF rebuild from source: symlink magic to fix __FILE__
Mychaela Falconia <falcon@freecalypso.org>
parents: 133
diff changeset
145 cfile_symlink() {
41b6a18ffa0b GPF rebuild from source: symlink magic to fix __FILE__
Mychaela Falconia <falcon@freecalypso.org>
parents: 133
diff changeset
146 if [ $# != 1 ]
41b6a18ffa0b GPF rebuild from source: symlink magic to fix __FILE__
Mychaela Falconia <falcon@freecalypso.org>
parents: 133
diff changeset
147 then
41b6a18ffa0b GPF rebuild from source: symlink magic to fix __FILE__
Mychaela Falconia <falcon@freecalypso.org>
parents: 133
diff changeset
148 echo "Error: cfile_symlink takes 1 argument" 1>&2
41b6a18ffa0b GPF rebuild from source: symlink magic to fix __FILE__
Mychaela Falconia <falcon@freecalypso.org>
parents: 133
diff changeset
149 exit 1
41b6a18ffa0b GPF rebuild from source: symlink magic to fix __FILE__
Mychaela Falconia <falcon@freecalypso.org>
parents: 133
diff changeset
150 fi
41b6a18ffa0b GPF rebuild from source: symlink magic to fix __FILE__
Mychaela Falconia <falcon@freecalypso.org>
parents: 133
diff changeset
151 localcopy=`basename "$1"`
575
0198ac1e1a4f cfile_symlink for GPF: a more robust approach
Mychaela Falconia <falcon@freecalypso.org>
parents: 574
diff changeset
152 echo "$localcopy:" >> $BUILD_DIR/$LIBNAME/Makefile
0198ac1e1a4f cfile_symlink for GPF: a more robust approach
Mychaela Falconia <falcon@freecalypso.org>
parents: 574
diff changeset
153 echo " ln -s $1 ." >> $BUILD_DIR/$LIBNAME/Makefile
574
41b6a18ffa0b GPF rebuild from source: symlink magic to fix __FILE__
Mychaela Falconia <falcon@freecalypso.org>
parents: 133
diff changeset
154 echo >> $BUILD_DIR/$LIBNAME/Makefile
41b6a18ffa0b GPF rebuild from source: symlink magic to fix __FILE__
Mychaela Falconia <falcon@freecalypso.org>
parents: 133
diff changeset
155 cfile_plain $localcopy
41b6a18ffa0b GPF rebuild from source: symlink magic to fix __FILE__
Mychaela Falconia <falcon@freecalypso.org>
parents: 133
diff changeset
156 }
41b6a18ffa0b GPF rebuild from source: symlink magic to fix __FILE__
Mychaela Falconia <falcon@freecalypso.org>
parents: 133
diff changeset
157
10
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
158 # invoke the recipe
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
159
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
160 SRC=../../src
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
161 OBJS=
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
162 . "$recipe_file"
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
163
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
164 # finish the Makefile
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
165
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
166 helpers/makeline dep $LIBNAME.lib ${OBJS} >> $BUILD_DIR/$LIBNAME/Makefile
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
167 echo ' ../../toolwrap/ar470 r $@ $^' >> $BUILD_DIR/$LIBNAME/Makefile
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
168 echo >> $BUILD_DIR/$LIBNAME/Makefile
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
169 echo 'clean:' >> $BUILD_DIR/$LIBNAME/Makefile
352f80da6813 ACI compiles!
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
170 echo ' rm -f *.obj *.lib *.c' >> $BUILD_DIR/$LIBNAME/Makefile