#!/bin/bash # # Take a spu executable and turn into into a libtool compatible .lo (and .o) file. # This is needed when you want to embed a SPU executable into a shared library. # # The symbol assigned to the embedded executable is the basename of the # output file with an _spx appended. E.g., if the output filename is # my_spe_tricks.lo the symbol name is my_spe_tricks_spx. # ("_spx" stands for SPE executable) if [ $# -ne 2 ]; then echo "usage: gcell-embedspu-libtool spu_executable output_file.lo " 1>&2 exit 1 fi spu_executable=$1 lo_file=$2 symbol_name=${lo_file%%.lo}_spx # try to make .libs in case it's not there mkdir .libs >/dev/null 2>/dev/null # generate the .o file that wraps the SPU executable ppu-embedspu -m32 -fpic ${symbol_name} ${spu_executable} .libs/${symbol_name}.o # generate the .lo libtool file that points at all the right places rm -f $lo_file cat >$lo_file.new <