#!/usr/bin/env escript

main(_) ->
    App = "mad",
    EmuArgs = "-noshell -noinput",
    Files = files(),
    escript:create(App, [shebang, {comment, ""}, {emu_args, EmuArgs},
                         {archive, Files, []}]),
    ok = file:change_mode(App, 8#764).

files() ->
    [{filename:basename(F), read_file(F)}
     || F <- filelib:wildcard(filename:join("ebin", "*")) ++
            filelib:wildcard(filename:join(["deps", "*", "ebin", "*"]))].

read_file(File) ->
    {ok, Bin} = file:read_file(filename:absname(File)),
    Bin.