diff options
Diffstat (limited to 'ipl/cfuncs/mklib.sh')
-rwxr-xr-x | ipl/cfuncs/mklib.sh | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/ipl/cfuncs/mklib.sh b/ipl/cfuncs/mklib.sh new file mode 100755 index 0000000..533af0b --- /dev/null +++ b/ipl/cfuncs/mklib.sh @@ -0,0 +1,32 @@ +#!/bin/sh +# +# mklib libname.so obj.o ... + +CC=${CC-cc} + +LIBNAME=${1?"usage: $0 libname obj..."} +shift + +SYS=`uname -s` +set -x +case "$SYS" in + Linux*|*BSD*|GNU*) + gcc -shared -o $LIBNAME -fPIC "$@";; + Darwin*) + cc -bundle -undefined suppress -flat_namespace -o $LIBNAME "$@";; + SunOS*) + $CC $CFLAGS -G -o $LIBNAME "$@" -lc -lsocket;; + HP-UX*) + ld -b -o $LIBNAME "$@";; + IRIX*) + ld -shared -o $LIBNAME "$@";; + OSF*) + ld -shared -expect_unresolved '*' -o $LIBNAME "$@" -lc;; + AIX*) + # this may not be quite right; it doesn't seem to work yet... + ld -bM:SRE -berok -bexpall -bnoentry -bnox -bnogc -brtl -o $LIBNAME "$@";; + *) + set - + echo 1>&2 "don't know how to make libraries under $SYS" + exit 1;; +esac |