forked from bartvdbraak/blender
9bcf2dcd1c
Kent
147 lines
3.3 KiB
Bash
147 lines
3.3 KiB
Bash
#!/bin/sh
|
|
#
|
|
# $Id$
|
|
#
|
|
# ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
|
|
#
|
|
# This program 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 2
|
|
# of the License, or (at your option) any later version. The Blender
|
|
# Foundation also sells licenses for use in proprietary software under
|
|
# the Blender License. See http://www.blender.org/BL/ for information
|
|
# about this.
|
|
#
|
|
# This program 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 this program; if not, write to the Free Software Foundation,
|
|
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
#
|
|
# The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
|
# All rights reserved.
|
|
#
|
|
# The Original Code is: all of this file.
|
|
#
|
|
# Contributor(s): none yet.
|
|
#
|
|
# ***** END GPL/BL DUAL LICENSE BLOCK *****
|
|
|
|
# detect the system
|
|
|
|
UNAME=`uname`
|
|
EXT="so";
|
|
if ( test "WIN32" = "$TARGET" ) then
|
|
CC="gcc";
|
|
CFLAGS="-funsigned-char -O2";
|
|
|
|
LD="ld";
|
|
LDFLAGS="-Bshareable -lm";
|
|
elif ( test $UNAME = "IRIX64" -o $UNAME = "IRIX" ) then
|
|
CC="cc";
|
|
CFLAGS="-KPIC -O2 -mips3";
|
|
|
|
LD="ld";
|
|
LDFLAGS="-shared -U";
|
|
elif ( test $UNAME = "FreeBSD" ) then
|
|
CC="gcc";
|
|
CFLAGS="-fPIC -funsigned-char -O2";
|
|
|
|
LD="ld";
|
|
LDFLAGS="-Bshareable";
|
|
elif ( test $UNAME = "OpenBSD" ) 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="-O";
|
|
|
|
LD="ld";
|
|
LDFLAGS="-r";
|
|
elif ( test $UNAME = "Darwin" ) then
|
|
CC="cc";
|
|
CFLAGS="-fPIC -funsigned-char -O2 -fno-common";
|
|
LD="cc";
|
|
LDFLAGS="-flat_namespace -bundle -bundle_loader ../../blender.app/Contents/MacOS/blender -ldl -lm";
|
|
EXT="so";
|
|
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.$EXT"
|
|
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"
|
|
if (test "$TARGET" = "WIN32" ) then
|
|
DLLFILE="$BASE_FILE.dll";
|
|
fi
|
|
OFILE="$BASE_FILE.o"
|
|
SOFILE="$BASE_FILE.$EXT"
|
|
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
|