Abort on compilation failure

The compile functions have to be modified to exit the script if the
compilation fails. If they don't exit the script, the other commands
still will be executed, which would produce weird error messages. Also,
if the executable still exists, the old version of the program starts.