[erlang-questions] Parallel Make in OTP

Tuncer Ayaz <>
Mon Jan 11 14:32:10 CET 2010

On Mon, Jan 11, 2010 at 12:25 PM, Jachym Holecek <> wrote:
> Hi Pete,
> I completely agree with your list of properties a build system should
> satisfy.
> # Peter-Henry Mander 2009-12-18:
>> I've heard many suggestions of replacements for Make, but a lot of
>> them don't have any difference or enhancement that warrants jumping
>> ship. Most seem to be changes in style more than in substance (but
>> someone prove me wrong, please).
>> Apart from Sinan, maybe. But I've not looked at it hard enough.
>> Considering the "old school" methods and process that we use in
>> T-Mobile, Sinan's agile style is also a leap in culture which, I found
>> from experience in the Previous Place, is much harder to push in a
>> company.
> I recently learnt about rebar[*]. It's a native Erlang solution and
> looks pretty promising so far, although the documentation amounts to
> UTSL at this point. I didn't yet have a chance to get to know it more
> intimately, but that will come sooner or later. Anyway, always nice
> to see your dreams come true meanwhile you were dreaming. :-)
>> On a tangent: What if a declarative, rules based system was available
>> in Erlang (someone's going to tell me there is one, for sure!), what
>> other projects besides a drop-in replacement for a parallel,
>> distributed Make could be made possible?
> I've done a lot of daydreaming on the topic since we last talked and
> came to the conclusion that a dependency processing engine is about
> the easiest part of build system business, really. The only tricky
> point is that the existence of certain arrows depends on satisfaction
> status of some other arrows (yeah, that's .hrl processing). Most of
> the work lies in locating resources, inferring depends and gluing it
> all together...
> Regards,
>        -- Jachym
> [*] Apologies if I'm ruining what was supposed to be undercover op:
>      http://bitbucket.org/dizzyd/rebar/

The repo is now hosted at

If you have any questions join the mailing-list at
or for bug reports go to

rebar is under-documented right now and Dave is working
on fixing that.
To ease the learning curve I've implemented getopt options
based on Juan Jose Comellas' getopt.erl and added a
completion script for bash users.

Additional info:
Rebar + ibrowse Demo


To see the options just get a copy of rebar
as outlined in the above blog post and
$ ./rebar
without any arguments.

More information about the erlang-questions mailing list