pake - php5 project builder system

pake is a PHP5 project build system with capabilities similar to make. pake has the following features:

  • pakefiles (pake’s version of Makefiles) are completely defined in standard PHP5 syntax. No XML files to edit. No quirky Makefile syntax to worry about (is that a tab or a space?) ;
  • users can specify tasks with prerequisites ;
  • pake is lightweight. It can be distributed with other projects as a single file. Projects that depend upon pake do not require that pake be installed on target systems.

pake is heavily based on rake, a similar system for ruby.

pake is available under an MIT-style license.

simple example

pake_properties('properties.ini');

pake_desc('task example');
pake_task('mytask');

pake_desc('another task example');
pake_task('anothertask', 'mytask');

pake_file('myfile.tmpl');

function run_mytask($task, $args)
{
  print "my task";
}

function run_anothertask($task, $args)
{
  print "this task depends on 'mytask' task";
}