#! @SHELL@ # GNU Mes --- Maxwell Equations of Software # Copyright © 2019,2020,2022 Jan (janneke) Nieuwenhuizen # # This file is part of GNU Mes. # # GNU Mes is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or (at # your option) any later version. # # GNU Mes is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Mes. If not, see . if test "$V" = 1 -o "$V" = 2; then set -x fi LANG= MES_ARENA=${MES_ARENA-20000000} export MES_ARENA MES_MAX_ARENA=${MES_MAX_ARENA-${MES_ARENA}} export MES_MAX_ARENA MES_STACK=${MES_STACK-5000000} export MES_STACK MES_PREFIX=${MES_PREFIX-$PWD} . ./config.sh . ${srcdest}build-aux/configure-lib.sh . ${srcdest}build-aux/cflags.sh if test -n "@M2_PLANET@"; then echo " KAEM kaem.run" kaem --strict --verbose fi CPPFLAGS="-D HAVE_CONFIG_H=1 -I include" libdir=$PWD/lib export libdir mkdir -p mescc-lib cp config.sh mescc-lib/config.sh cd mescc-lib srcdest=../${srcdest} ln -sf ${srcdest}mes . ln -sf ${srcdest}module . ln -sf ${srcdest}src . AM_CPPFLAGS="-D HAVE_CONFIG_H=1 -I ${srcdest}include -I ../include -I include" AM_CFLAGS="-L ${srcdest}lib" mkdir -p $mes_cpu-mes cp ${srcdest}lib/$mes_kernel/$mes_cpu-mes-$compiler/crt1.c . $CC -c $AM_CPPFLAGS $CPPFLAGS $AM_CFLAGS $CFLAGS crt1.c cp crt1.o $mes_cpu-mes cp crt1.s $mes_cpu-mes objects= for c in $libc_mini_SOURCES; do b=$(echo $c | sed -re s,^[.]+/,, -e s,/,-,g -e s,[.]c$,,) o=$b.o if test ! -e $o -o ${srcdest}$c -nt $o; then echo " CC $c" $CC -c $AM_CPPFLAGS $CPPFLAGS $AM_CFLAGS $CFLAGS -o $o ${srcdest}$c fi objects="$objects $o" done echo " AR $mes_cpu-mes/libc-mini.a" $AR crD $mes_cpu-mes/libc-mini.a $objects objects= for c in $libmescc_SOURCES; do b=$(echo $c | sed -re s,^[.]+/,, -e s,/,-,g -e s,[.]c$,,) o=$b.o if test ! -e $o -o ${srcdest}$c -nt $o; then echo " CC $c" $CC -c $AM_CPPFLAGS $CPPFLAGS $AM_CFLAGS $CFLAGS -o $o ${srcdest}$c fi objects="$objects $o" done echo " AR $mes_cpu-mes/libmescc.a" $AR crD $mes_cpu-mes/libmescc.a $objects objects= for c in $libc_SOURCES; do b=$(echo $c | sed -re s,^[.]+/,, -e s,/,-,g -e s,[.]c$,,) o=$b.o if test ! -e $o -o ${srcdest}$c -nt $o; then echo " CC $c" $CC -c $AM_CPPFLAGS $CPPFLAGS $AM_CFLAGS $CFLAGS -o $o ${srcdest}$c fi objects="$objects $o" done echo " AR $mes_cpu-mes/libc.a" $AR crD $mes_cpu-mes/libc.a $objects objects= for c in $libc_tcc_SOURCES; do b=$(echo $c | sed -re s,^[.]+/,, -e s,/,-,g -e s,[.]c$,,) o=$b.o if test ! -e $o -o ${srcdest}$c -nt $o; then echo " CC $c" $CC -c $AM_CPPFLAGS $CPPFLAGS $AM_CFLAGS $CFLAGS -o $o ${srcdest}$c fi objects="$objects $o" done echo " AR $mes_cpu-mes/libc+tcc.a" $AR crD $mes_cpu-mes/libc+tcc.a $objects cd .. srcdest= AM_CPPFLAGS="-D HAVE_CONFIG_H=1 -I ${srcdest}include -I ../include -I include" AM_CFLAGS="-L ${srcdest}lib" objects= for c in $mes_SOURCES; do b=$(echo $c | sed -re s,^[.]+/,, -e s,/,-,g -e s,[.]c$,,) o=$b.o if test ! -e $o -o ${srcdest}$c -nt $o; then echo " CC $c" $CC -c $AM_CPPFLAGS $CPPFLAGS $AM_CFLAGS $CFLAGS -o $o ${srcdest}$c fi objects="$objects $o" done echo " CCLD bin/mes-mescc" mkdir -p bin $CC $AM_CFLAGS -nostdlib -o bin/mes-mescc -L mescc-lib mescc-lib/crt1.o $objects -lc -lmescc cp bin/mes-mescc bin/mes ( mkdir -p gcc-lib cp config.sh gcc-lib cd gcc-lib compiler=gcc if test -z "$srcdest"; then srcdest=../ srcdir=../ fi @SHELL@ ${srcdest}build-aux/build-source-lib.sh ) ( mkdir -p tcc-lib cp config.sh tcc-lib cd tcc-lib compiler=tcc if test -z "$srcdest"; then srcdest=../ srcdir=../ fi ${SHELL} ${srcdest}build-aux/build-source-lib.sh )