OPTS="-g" # option for compiler call
objs="" # List of .o files
+libs=""
CC="cc" # Default compiler call
ext="_savo _sav" # Default flavor to reuse
out="a.out" # Default output binary filename
dir="" # Default tmp dir
-nolibgc="true" # Disable boehm libgc?
+nolibgc="false" # Disable boehm libgc?
CKSUM="cksum" # Tool that perfors checksum. cksum seems to be very portable
recompile="false"
-R Force full recompilation
-O Compile with optimizations
-i Use the intel compiler instead of gcc
+-l C library to link with
-ll Use the clang compiler (llvm) instead of gcc
-I path Add a include directory
-o name Call name the executable
}
cache=true
-if ccache -V 2>/dev/null >/dev/null; then
+if ( ccache -V ) 2>/dev/null >/dev/null; then
cache=ccache
fi
-R) recompile=true; shift;;
-O) OPTS="$OPTS -O2" ext="_savo"; shift;;
-i) CC="/opt/intel/cc/10.1.015/bin/icc -O2" ext="_savi"; shift;;
+ -l) libs="$libs -l$2"; shift; shift;;
-ll) CC="clang --ansi --pedantic -O3"; ext="_savll"; shift;;
-I) OPTS="$OPTS -I $2"; shift; shift;;
-o) out="$2"; shift; shift;;
done
if [ $nolibgc != true ] && test_libgc; then
- OPTS="$OPTS -DWITH_LIBGC -lgc"
+ OPTS="$OPTS -DWITH_LIBGC"
+ libs="$libs -lgc"
fi
if [ $cache = "ccache" ]; then
done
if [ $vverbose = true ] ; then
- echo "* $CC $OPTS -lm $objs -o $out" >&2
+ echo "* $CC $OPTS $objs -lm $libs -o $out" >&2
fi
-$CC $OPTS -lm $objs -o "$out"
+$CC $OPTS $objs -lm $libs -o "$out"