#!/bin/sh # detect the system UNAME=`uname` if ( test $UNAME = "IRIX" ) then CC="cc"; CFLAGS="-KPIC -O2"; LD="ld"; LDFLAGS="-U"; elif ( test $UNAME = "FreeBSD" ) then CC="gcc"; CFLAGS="-fPIC -funsigned-char -O2"; LD="ld"; LDFLAGS="-Bshareable"; elif ( test $UNAME = "Linux" ) then CC="gcc"; CFLAGS="-fPIC -funsigned-char -O2"; LD="ld"; LDFLAGS="-Bshareable"; elif ( test $UNAME = "SunOS" ) then CC="cc"; CFLAGS="-O2"; LD="ld"; LDFLAGS="-r"; fi if ( test "$#" = "1" ) then if ( test -f $1 ) then BASE_FILE=`echo $1 | sed -e "1 s/\.c//g"`; else BASE_FILE=$1; fi CFILE="$BASE_FILE.c" OFILE="$BASE_FILE.o" SOFILE="$BASE_FILE.so" else if ( test -f $1$2 ) then BASE_FILE=`echo $2 | sed -e "1 s/\.c//g"`; else BASE_FILE=$2; fi CFILE="$1$BASE_FILE.c" OFILE="$BASE_FILE.o" SOFILE="$BASE_FILE.so" fi INCLUDES= if ( test -f plugin.h ) then INCLUDES=-I.; elif ( test -f "include/plugin.h" ) then INCLUDES=-Iinclude/ elif ( test -f "../plugin.h" ) then INCLUDES=-I..; elif ( test -f "../include/plugin.h" ) then INCLUDES=-I../include else echo "Couldn't find plugin.h"; exit; fi LIBM=`fgrep "#include <math.h>" $CFILE` LIBC=`fgrep "#include <std" $CFILE` LIBS= if ( test -n "$LIBM" ) then LIBS="$LIBS -lm"; fi if ( test -n "$LIBC" ) then LIBS="$LIBS -lc"; fi echo "$CC $CFLAGS -c $CFILE $INCLUDES" $CC $CFLAGS -c $CFILE $INCLUDES if ( test "$?" != "0") then echo "Compile error"; exit; fi echo "$LD $LDFLAGS $OFILE -o $SOFILE $LIBS" $LD $LDFLAGS $OFILE -o $SOFILE $LIBS if ( test "$?" != "0") then echo "Link error"; exit; fi