PHP error handling is built in to XMake. Build time errors are displayed on /dev/stderr. The fatal error threshold is configurable. If a fatal error occurs when trying to create a target output file, standard output is displayed on /dev/stderr and the output file is not created.
[greg@p3 src]$ xmake
phpc_error_handler:
    E_USER_WARNING [512] ERROR: language template file
    does not exist:
 /usr/local/apache/htdocs/common/xmake/examples/phpc/phpconf2003/slides/src/build-versus-run-time.php.template.jp
    in line 18 of file
    /usr/local/apache/htdocs/common/xmake/examples/phpc/phpconf2003/slides/src/build-versus-run-time.php
*** FAILURE (XM_php_outfileMacro): fatal errors in source
file:
/usr/local/apache/htdocs/common/xmake/examples/phpc/phpconf2003/slides/src/build-versus-run-time.php
Standard Output follows:
<html>
<head>
<title>phpc example: build versus run-time code
execution</title>
</head>
<body>
This file was built on: Thursday 17th of April 2003
09:41:07 PM<br>

<b class="comment">begin readfile() run-time code</b><br
/>
ERROR: language not supported: jp <br />
make: ***
[/usr/local/apache/htdocs/common/xmake/examples/phpc/phpconf2003/slides/src/build-versus-run-time.body.jp]
Error 1