3 # This source code is free software; you can redistribute it
4 # and/or modify it in source code form under the terms of the GNU
5 # Library General Public License as published by the Free Software
6 # Foundation; either version 2 of the License, or (at your option)
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU Library General Public License for more details.
14 # You should have received a copy of the GNU Library General Public
15 # License along with this program; if not, write to the Free
16 # Software Foundation, Inc.,
17 # 59 Temple Place - Suite 330
18 # Boston, MA 02111-1307, USA
20 #ident "$Id: iverilog-vpi.sh,v 1.17 2007/02/06 05:07:31 steve Exp $"
22 # These are the variables used for compiling files
25 CFLAGS
="@PIC@ @IVCFLAGS@ -I@INCLUDEDIR@"
27 # These are used for linking...
29 LDFLAGS32
="@SHARED@ -L@LIBDIR@"
30 LDFLAGS64
="@SHARED@ -L@LIBDIR64@"
32 LDLIBS
="-lveriuser -lvpi"
36 if test x
$INSTDIR32 = x
51 # parse the command line switches. This collects the source files
52 # and precompiled object files, and maybe user libraries. As we are
53 # going, guess an output file name.
59 *.c
) CCSRC
="$CCSRC $parm"
60 if [ x
$OUT = x
]; then
61 OUT
=`basename $parm .c`
65 *.cc
) CXSRC
="$CXSRC $parm"
67 if [ x
$OUT = x
]; then
68 OUT
=`basename $parm .cc`
72 *.cpp
) CXSRC
="$CXSRC $parm"
74 if [ x
$OUT = x
]; then
75 OUT
=`basename $parm .cpp`
80 if [ x
$OUT = x
]; then
81 OUT
=`basename $parm .o`
86 OUT
=`echo $parm | cut -b8-`
92 -I*) INCOPT
="$INCOPT $parm"
96 -m32) LDFLAGS
="-m32 $LDFLAGS32"
117 echo "@LIBDIR@/ivl/$INSTDIR"
124 if [ x
$OUT = x
]; then
125 echo "Usage: $0 [src and obj files]..." 1>&2
129 # Put the .vpi on the result file.
134 # Compile all the source files into object files
137 base
=`basename $src .c`
140 echo "Compiling $src..."
141 $CC -c -o $obj $CFLAGS $INCOPT $src || compile_errors
=`expr $compile_errors + 1`
147 base
=`basename $src .cc`
150 echo "Compiling $src..."
151 $CXX -c -o $obj $CFLAGS $INCOPT $src || compile_errors
=`expr $compile_errors + 1`
155 if test $compile_errors -gt 0
157 echo "Some ($compile_errors) files failed to compile."
161 echo "Making $OUT from $OBJ..."
162 exec $LD -o $OUT $LDFLAGS $OBJ $LIB $LDLIBS