よく考えると coke とか joke とかいい名前があるじゃまいか

よさげなビルドツールを作ることはよさげな開発人生に一条のいい感じの光を投げかける的ななんかアレなわけです。
以下の C 言語なソースコードをビルドすることを考えてみましょう:

// main.c
#include <stdio.h>

int main() {
    printf( "Hello, World!\n" );

    return 0;
}

このようなケースは実の所あんまりないんですが、えーっと考えるのが簡単だよねって思ったのでそーいうことにしています。

SCons 風のビルドツール

SCons さんは Python 製のビルドツールっていうかなんかそれです。
ごっごる神がお作りになった次世代ビルドツールである Bazel だって SCons さん風に*1ビルドスクリプトを書きます。

const joke = require( '../lib/' );

joke.program( 'main.c' );

こうして見ると、JavaScript にはもってこいのような気がしなくもないと云うか何と云うか………。

CMake 風のビルドツール

CMake さんは Makefile を生成するメタビルドツールだと云うこともできるかもしれません。
めんどくさい AutoTools よりは佳いと思われます。

const joke = require( 'joke' );

joke.project( 'hello-example' );

joke.addExecutable( 'main', 'main.c' );

っていうか、パッと見、SCons とあんまり変わってないですね………。

それで?

joke を SCons 風なビルドツールとして作ってみようかなと思ったり思わなかったり……………。

*1:ドキュメント見ただけだから、そんなことはないかもしれない