代码拉取完成,页面将自动刷新
#! /bin/sh
set -eu
exec 1>&2
target="$1"
out="$3"
if ! test -d ./support
then
echo "please build from the janetsh base directory."
exit 1
fi
if ! test -f ./config.inc
then
echo "please run configure first."
exit 1
fi
. ./config.inc
shlib_csrcs="src/shlib/shlib.c"
shlib_chdrs=""
if test "$WITH_READNOISE" = "y"
then
shlib_csrcs="$(echo $shlib_csrcs src/readnoise/*.c)"
shlib_chdrs="$(echo $shlib_chdrs src/readnoise/*.h)"
fi
shlib_objs="$(echo "$shlib_csrcs" | sed 's/\.c/\.o/g')"
v () {
echo $@
$@
}
case $target in
all)
redo-ifchange src/shlib.so
;;
install)
redo-ifchange all
mkdir -p "$PREFIX/bin/"
mkdir -p "$PREFIX/lib/janetsh"
v install ./src/shlib.so "$PREFIX/lib/janetsh/"
v install ./src/*.janet "$PREFIX/lib/janetsh/"
v install ./src/janetsh-posix-wrapper "$PREFIX/bin"
echo "writing $PREFIX/bin/janetsh"
head -n 1 ./src/janetsh > "$PREFIX/bin/janetsh"
echo "(array/insert module/paths 0 " >> "$PREFIX/bin/janetsh"
echo " [\"$PREFIX/lib/janetsh/:all:.janet\" :source]" >> "$PREFIX/bin/janetsh"
echo " [\"$PREFIX/lib/janetsh/:all:.:native:\" :native])" >> "$PREFIX/bin/janetsh"
tail -n +2 ./src/janetsh >> "$PREFIX/bin/janetsh"
v chmod +x "$PREFIX/bin/janetsh"
;;
uninstall)
v rm -rf "$PREFIX/lib/janetsh"
v rm -f "$PREFIX/bin/janetsh"
;;
format)
v clang-format "-style=file" -i $(find ./src/ -name "*.c" -or -name "*.h")
;;
src/readnoise/*.o)
cfile=src/readnoise/$(basename $target .o).c
redo-ifchange $cfile $shlib_chdrs
v $CC -fPIC $READLINE_CFLAGS $CFLAGS -c -o $out $cfile
;;
src/shlib/*.o)
cfile=src/shlib/$(basename $target .o).c
redo-ifchange $cfile $shlib_chdrs
v $CC -fPIC $JANET_HEADER_CFLAGS $READLINE_CFLAGS $CFLAGS -c -o $out $cfile
;;
src/shlib.so)
redo-ifchange $shlib_objs
v $CC -shared $shlib_objs $LDFLAGS $READLINE_LDFLAGS -o $out
;;
*)
echo "don't know how to build $target"
exit 1 ;;
esac
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。