#!/bin/sh # $MirOS: src/bin/mksh/Build.sh,v 1.10 2005/06/08 10:19:33 tg Exp $ #- # Recognised environment variables and their defaults: # CC gcc # CFLAGS -O2 -fno-strict-aliasing -fno-strength-reduce # CPPFLAGS (empty) # LDFLAGS -static # LIBS (empty) # srcdir (path of script) # NROFF nroff # (ignored if -r option given) # Hints (don't take tgem seriously, WFM rather): # GNU/Linux CPPFLAGS='-D_FILE_OFFSET_BITS=64' # Mac OSX LDFLAGS= # Solaris LDFLAGS= SHELL="${SHELL:-/bin/sh}" srcdir="${srcdir:-`dirname $0`}" curdir="`pwd`" CC="${CC:-gcc}" CFLAGS="${CFLAGS--O2 -fno-strict-aliasing -fno-strength-reduce}" LDFLAGS="${LDFLAGS--static}" NROFF="${NROFF:-nroff}" OS="`uname -s || uname`" export SHELL CC if [ x"$1" = x"-q" ]; then e=: q=1 shift else e=echo q=0 fi if [ x"$1" = x"-r" ]; then r=1 shift else r=0 fi SRCS="alloc.c edit.c eval.c exec.c expr.c funcs.c histrap.c" SRCS="$SRCS jobs.c lex.c main.c misc.c shf.c syn.c tree.c var.c" # Hello Mr Drepper, we all like you too... [ x"$OS" = x"Linux" ] && SRCS="$SRCS strlfun.c" $e Generating prerequisites... $SHELL "$srcdir/gensigs.sh" for hdr in errno signal; do h2ph -d . /usr/include/$hdr.h && mv _h2ph_pre.ph $hdr.ph done $e Building... ( cd "$srcdir" && exec $CC $CFLAGS -I "$curdir" $CPPFLAGS $LDFLAGS \ -o $curdir/mksh $SRCS $LIBS ) test -x mksh || exit 1 $e Finalising... [ $r = 1 ] || $NROFF -mdoc <"$srcdir/mksh.1" >mksh.cat1 || rm -f mksh.cat1 [ $q = 1 ] || size mksh $e done. $e $e Testing mirbsdksh: $e "$ perl '$srcdir/check.pl' -s '$srcdir/check.t' -p '$curdir/mksh' -C pdksh" $e $e Installing mirbsdksh: $e "# install -c -s -o root -g bin -m 555 mksh /bin/mksh" $e "# echo /bin/mksh >>/etc/shells" $e $e Installing the manual: if test -s mksh.cat1; then $e "# install -c -o root -g bin -m 444 mksh.cat1" \ "/usr/share/man/cat1/mksh.0" $e or fi $e "# install -c -o root -g bin -m 444 mksh.1 /usr/share/man/man1/mksh.1"