build: Resurrect bootstrap.sh.
[mes.git] / build-aux / build-lib.sh
1 #! /bin/sh
2
3 # GNU Mes --- Maxwell Equations of Software
4 # Copyright © 2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
5 #
6 # This file is part of GNU Mes.
7 #
8 # GNU Mes is free software; you can redistribute it and/or modify it
9 # under the terms of the GNU General Public License as published by
10 # the Free Software Foundation; either version 3 of the License, or (at
11 # your option) any later version.
12 #
13 # GNU Mes is distributed in the hope that it will be useful, but
14 # WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 # GNU General Public License for more details.
17 #
18 # You should have received a copy of the GNU General Public License
19 # along with GNU Mes.  If not, see <http://www.gnu.org/licenses/>.
20
21 srcdest=${srcdest-}
22 . ${srcdest}build-aux/configure-lib.sh
23 . ${srcdest}build-aux/trace.sh
24 . ${srcdest}build-aux/cc.sh
25
26 trap 'test -f .log && cat .log' EXIT
27
28 mkdir -p $mes_cpu-mes
29 compile lib/$mes_kernel/$mes_cpu-mes-$compiler/crt1.c
30 cp crt1.o $mes_cpu-mes
31 if test -e crt1.s; then
32     cp crt1.s $mes_cpu-mes
33 fi
34
35 archive libc-mini.a $libc_mini_SOURCES
36 cp libc-mini.a $mes_cpu-mes
37 if test -e libc-mini.s; then
38     cp libc-mini.s $mes_cpu-mes
39 fi
40
41 archive libmes.a $libmes_SOURCES
42 cp libmes.a $mes_cpu-mes
43 if test -e libmes.s; then
44     cp libmes.s $mes_cpu-mes
45 fi
46
47 if test $mes_libc = mes; then
48     archive libc.a $libc_SOURCES
49     cp libc.a $mes_cpu-mes
50     if test -e libc.s; then
51         cp libc.s $mes_cpu-mes
52     fi
53 fi
54
55 archive libc+tcc.a $libc_tcc_SOURCES
56 cp libc+tcc.a $mes_cpu-mes
57 if test -e libc+tcc.s; then
58     cp libc+tcc.s $mes_cpu-mes
59 fi
60
61 if $courageous; then
62     exit 0
63 fi
64
65 archive libc+gnu.a $libc_gnu_SOURCES
66 cp libc+gnu.a $mes_cpu-mes
67 if test -e libc+gnu.s; then
68     cp libc+gnu.s $mes_cpu-mes
69 fi
70
71 archive libtcc1.a $libtcc1_SOURCES
72 cp libtcc1.a $mes_cpu-mes
73 if test -e libtcc1.s; then
74     cp libtcc1.s $mes_cpu-mes
75 fi
76
77 archive libgetopt.a lib/posix/getopt.c
78 cp libgetopt.a $mes_cpu-mes
79 if test -e libgetopt.s; then
80     cp libgetopt.s $mes_cpu-mes
81 fi