#!/bin/zsh X=$1; shift S=$(cksum $X | tr ' ' '\t' | cut -f1) D=$(dirname $X) ID=$(dirname $0)/include NAME=scc : ${TMPDIR:=/tmp} P=$TMPDIR/$NAME-$S [[ -e $P ]] || {eval ARGS=\($(grep '^// *#opts:' $X | cut -d ':' -f2)\) echo > $P.cc tail +2 $X >> $P.cc touch -r $X $P.cc g++ -Wall $ARGS -I$ID -I$D $P.cc -o $P >$P.err 2>&1 } && exec $P "$@" $PAGER $P.err >&2 exit 255