Build Tool Name Shortage

This is a public service announcement. If you plan to write a build tool, please note that there is a rapidly developing shortage of prefix letters. As of this writing, the following names are already taken:

That leaves only ‘a’, ‘l’ and ‘s’ in the Basic Latin alphabet.

Our advance knowledge of upcoming projects suggests that letter exhaustion could occur as soon as February 2012. We are attempting to move to a Unicode-based naming system to provide room for expansion, permitting names like €make, ☮make, and ♥make. In the mean time, we advise attempting greater naming creativity.

13 thoughts on “Build Tool Name Shortage

    • Indeed, now that the make-v4 address pool is nearly exhausted the correct way to go is make-v3 (not to be confused with the v6 protocol implementation), i.e. to change the first letter instead of prefixing -> rake (ruby), jake (nodejs)
      Alternatively, go make-v1 which offers variable length prefixes, which is great for boiling the oceans even more efficiently than 128-bit file systems ever can, i.e. prefix only the letter “m”, as in bjam (boost) or jom (QT).
      One might also consider using Make Address Translation (MAT) as a temporary measure to work around issues with legacy build systems that do not support make-v3 or make-v1 protocols yet or if you want to wait until make-v0, currently in draft status, becomes an RFC and more widely deployed. (Refer to AddonSDK cfx or python setup.py for more information about the entirely-var-length make-v0 protocol)

  1. OK, let’s look beyond the word “MAKE”.

    How about “bake” or “cook”, because if you look at what is done in this tools, they do one thing: following a recipe. Not more, not less.

    I’m all for a new name AND a new recipe language.
    With defined standards please:

    Defines for preprocessors, compilers, linkers and all their options, maybe even pulling in system-defined options from a file under /etc/… (unix/posix).

    Clear structure, no extra handling of white-spaces / tabs / etc.

    No matter what end-of-line sequence, just working.

    Only one charset for the recipes: UTF-8

    … the experts can easily add more long since needed unification / exclusion off unwelcome surprises from all these “*make”

  2. Hmm, so how about adding another letter to for now make the namespace bigger? (Adding a few bits also works for integers usually, right?)

    pymake ftw! ;-)

  3. There are actually make-like programs called amake, smake (twice) and lmake. Are there strict criteria for inclusion in your list ;) ?

    • Haven’t heard of amake, but yeah, the other two certainly exist. Imake is quite well known, even – it’s the system that used to be used by X11 before they broke up the monolith and moved everything to autotools. And smake is one of Jörg Schilling’s efforts… the guy responsible for cdrecord…

  4. You could always start prefixing letters onto the word “build”. We’ve already got Module::Build (which competes with Extutils::MakeMaker)…

  5. Oh, and on Linux systems gmake is usually just called make. It typically only gets called gmake on systems that have another make (e.g., a BSD make).