Forcing GNU make to run commands in order

Actually, you don't have a problem with make, but with your command:

tex dummy.tex &> /dev/null;

Runs 'tex' in the background. You don't need to remove '>/dev/null', but '&' is sending 'tex' to the background.

Try this, it must be fine for you:

tex dummy.tex > /dev/null;

or run everything in the same subshell, like this:

(tex dummy.tex > /dev/null;rm *.log)

or less sane, this:

if test 1 = 1; then tex dummy.tex > /dev/null;rm *.log; fi

PD: &> is an extension provided by some shells (including bash) to redirect both stdout and stderr to the same destination, but it's not portable, you should use '>/dev/null 2>&1' instead. (Thanks @Gilles)

Cheers