Initial commit of the 'release' directory (splash screen/icon
[blender-staging.git] / release / plugins / bmake
1 #!/bin/sh
2 #
3 # $Id$
4 #
5 # ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
6 #
7 # This program is free software; you can redistribute it and/or
8 # modify it under the terms of the GNU General Public License
9 # as published by the Free Software Foundation; either version 2
10 # of the License, or (at your option) any later version. The Blender
11 # Foundation also sells licenses for use in proprietary software under
12 # the Blender License.  See http://www.blender.org/BL/ for information
13 # about this.
14 #
15 # This program is distributed in the hope that it will be useful,
16 # but WITHOUT ANY WARRANTY; without even the implied warranty of
17 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 # GNU General Public License for more details.
19 #
20 # You should have received a copy of the GNU General Public License
21 # along with this program; if not, write to the Free Software Foundation,
22 # Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
23 #
24 # The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
25 # All rights reserved.
26 #
27 # The Original Code is: all of this file.
28 #
29 # Contributor(s): none yet.
30 #
31 # ***** END GPL/BL DUAL LICENSE BLOCK *****
32
33 # detect the system
34
35 UNAME=`uname`
36 if ( test $UNAME = "IRIX64" -o $UNAME = "IRIX" ) then
37         CC="cc";
38         CFLAGS="-KPIC -O2 -mips3";
39
40         LD="ld";
41         LDFLAGS="-shared -U";   
42 elif ( test $UNAME = "FreeBSD" ) then
43         CC="gcc";
44         CFLAGS="-fPIC -funsigned-char -O2";
45
46         LD="ld";
47         LDFLAGS="-Bshareable";
48 elif ( test $UNAME = "OpenBSD" ) then
49         CC="gcc";
50         CFLAGS="-fPIC -funsigned-char -O2";
51
52         LD="ld";
53         LDFLAGS="-Bshareable";
54 elif ( test $UNAME = "Linux" ) then
55         CC="gcc";
56         CFLAGS="-fPIC -funsigned-char -O2";
57
58         LD="ld";
59         LDFLAGS="-Bshareable";
60 elif ( test $UNAME = "SunOS" ) then
61         CC="cc";
62         CFLAGS="-O2";
63
64         LD="ld";
65         LDFLAGS="-r";
66 fi
67
68 if ( test "$#" = "1" ) then 
69         if ( test -f $1 ) then
70                 BASE_FILE=`echo $1 | sed -e "1 s/\.c//g"`;
71         else 
72                 BASE_FILE=$1;
73         fi
74
75         CFILE="$BASE_FILE.c"
76         OFILE="$BASE_FILE.o"
77         SOFILE="$BASE_FILE.so"
78 else 
79         if ( test -f $1$2 ) then
80                 BASE_FILE=`echo $2 | sed -e "1 s/\.c//g"`;
81         else 
82                 BASE_FILE=$2;
83         fi
84
85         CFILE="$1$BASE_FILE.c"
86         OFILE="$BASE_FILE.o"
87         SOFILE="$BASE_FILE.so"
88 fi
89
90 INCLUDES=
91 if ( test -f plugin.h ) then
92         INCLUDES=-I.;
93 elif ( test -f "include/plugin.h" ) then
94         INCLUDES=-Iinclude/
95 elif ( test -f "../plugin.h" ) then
96         INCLUDES=-I..;
97 elif ( test -f "../include/plugin.h" ) then
98         INCLUDES=-I../include
99 else 
100         echo "Couldn't find plugin.h";
101         exit;
102 fi
103
104 LIBM=`fgrep "#include <math.h>" $CFILE`
105 LIBC=`fgrep "#include <std" $CFILE`
106
107 LIBS=
108
109 if ( test -n "$LIBM" ) then
110         LIBS="$LIBS -lm"; 
111 fi
112 if ( test -n "$LIBC" ) then 
113         LIBS="$LIBS -lc"; 
114 fi
115
116 echo "$CC $CFLAGS -c $CFILE $INCLUDES"
117 $CC $CFLAGS -c $CFILE $INCLUDES
118
119 if ( test "$?" != "0") then 
120         echo "Compile error"; 
121         exit;
122 fi
123
124 echo "$LD $LDFLAGS $OFILE -o $SOFILE $LIBS"
125 $LD $LDFLAGS $OFILE -o $SOFILE $LIBS
126
127 if ( test "$?" != "0") then 
128         echo "Link error"; 
129         exit;
130 fi