This is years old, but in any case, fixed now: http://petsc.cs.iit.edu/petsc/petsc-dev/rev/30f9a34e118e

On Wed, Jul 4, 2012 at 10:17 PM, Barry Smith <bsmith@mcs.anl.gov> wrote:

/bin/sh: -c: line 0: syntax error near unexpected token `done'
/bin/sh: -c: line 0: `/Users/barrysmith/Src/petsc-dev/arch-gnu/bin/mpiexec -n 1 ./ex37 -explicit_is 0 > ex37_1.tmp 2>&1;    /usr/bin/diff -w output/ex37_1.out ex37_1.tmp || echo  /Users/barrysmith/Src/petsc-dev/src/vec/vec/examples/tests "\nPossible problem with ex37_1, diffs above \n=========================================";   done; /bin/rm -f -f ex37_1.tmp'
make[7]: [runex37] Error 2 (ignored)
/bin/sh: -c: line 0: syntax error near unexpected token `done'
/bin/sh: -c: line 0: `/Users/barrysmith/Src/petsc-dev/arch-gnu/bin/mpiexec -n 1 ./ex37 -explicit_is 1 > ex37_1.tmp 2>&1;    /usr/bin/diff -w output/ex37_1.out ex37_1.tmp || echo  /Users/barrysmith/Src/petsc-dev/src/vec/vec/examples/tests "\nPossible problem with ex37_1, diffs above \n=========================================";   done; /bin/rm -f -f ex37_1.tmp'
make[7]: [runex37_1] Error 2 (ignored)
/bin/sh: -c: line 0: syntax error near unexpected token `done'
/bin/sh: -c: line 0: `/Users/barrysmith/Src/petsc-dev/arch-gnu/bin/mpiexec -n 2 ./ex37 -explicit_is 0 > ex37_2.tmp 2>&1;    /usr/bin/diff -w output/ex37_2.out ex37_2.tmp || echo  /Users/barrysmith/Src/petsc-dev/src/vec/vec/examples/tests "\nPossible problem with ex37_2, diffs above \n=========================================";   done; /bin/rm -f -f ex37_2.tmp'
make[7]: [runex37_2] Error 2 (ignored)

At least test your rule before pushing