I'm a principal maintainer of Cons,
a Perl-based software builder (i.e., Make utility).
Use Perl, not Make, to build your software!
Cons is not Makefile-compatible, the configuration
files are actually Perl scripts. Cons also provides much
better dependency analysis and a set of additional
features that build software much faster and more
reliably than Make.
Out of this effort I wrote the Test::Cmd module as a harness for command testing.