| #!/bin/bash |
| |
| function usage() { |
| echo "Usage: $0 INPUT... OUTPUT" |
| exit 1 |
| } |
| |
| if [ "$#" -le 1 ]; then |
| usage |
| fi |
| |
| [[ $AR == /* ]] || AR=$PWD/$AR |
| [[ $LINK == /* ]] || LINK=$PWD/$LINK |
| |
| INPUTS= |
| OUTPUT= |
| for ARG in $@; do |
| INPUTS="$INPUTS $OUTPUT" |
| OUTPUT=$(readlink -f $ARG) |
| done |
| |
| echo Inputs: $INPUTS |
| echo Output: $OUTPUT |
| |
| SCRATCH_DIR=$(mktemp -d) |
| ln -s $INPUTS $SCRATCH_DIR/ |
| |
| pushd $SCRATCH_DIR |
| |
| for INPUT in *; do |
| for OBJ in $($AR t $INPUT); do |
| $AR x $INPUT $OBJ |
| mv -f $OBJ $(basename $INPUT).$OBJ |
| done |
| done |
| |
| $LINK *.o -o $OUTPUT |
| |
| rm -rf $SCRATCH_DIR |