diff options
| author | Matthias Radestock <matthias@lshift.net> | 2010-01-26 17:03:12 +0000 |
|---|---|---|
| committer | Matthias Radestock <matthias@lshift.net> | 2010-01-26 17:03:12 +0000 |
| commit | c7a2d629b1098e1648d61143ad788c0391ffb471 (patch) | |
| tree | a4e11dfd25d5033f780dfe6f771855baa1691820 /generate_deps | |
| parent | 3a4053a6be8b536bbe618c30706f2f2d51dd90fc (diff) | |
| download | rabbitmq-server-git-c7a2d629b1098e1648d61143ad788c0391ffb471.tar.gz | |
make generate_deps less aware of its context
Diffstat (limited to 'generate_deps')
| -rw-r--r-- | generate_deps | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/generate_deps b/generate_deps index dbb2d6df4d..916006d101 100644 --- a/generate_deps +++ b/generate_deps @@ -2,7 +2,7 @@ %% -*- erlang -*- -mode(compile). -main([IncludeDir, ErlDir, TargetFile]) -> +main([IncludeDir, ErlDir, EbinDir, TargetFile]) -> ErlDirContents = filelib:wildcard("*.erl", ErlDir), ErlFiles = [filename:join(ErlDir, FileName) || FileName <- ErlDirContents], Modules = sets:from_list( @@ -13,8 +13,8 @@ main([IncludeDir, ErlDir, TargetFile]) -> FileName <- filelib:wildcard("*.hrl", IncludeDir)]), Deps = lists:foldl( fun (Path, Deps1) -> - dict:store(Path, - detect_deps(IncludeDir, Modules, Headers, Path), + dict:store(Path, detect_deps(IncludeDir, EbinDir, + Modules, Headers, Path), Deps1) end, dict:new(), ErlFiles), {ok, Hdl} = file:open(TargetFile, [write, delayed_write]), @@ -23,23 +23,23 @@ main([IncludeDir, ErlDir, TargetFile]) -> ok; (Path, Dep, ok) -> Module = filename:basename(Path, ".erl"), - ok = file:write(Hdl, ["$(EBIN_DIR)/", Module, ".beam:"]), - ok = sets:fold( - fun (E, ok) -> file:write(Hdl, [" ", E]) end, ok, Dep), + ok = file:write(Hdl, [EbinDir, "/", Module, ".beam:"]), + ok = sets:fold(fun (E, ok) -> file:write(Hdl, [" ", E]) end, + ok, Dep), file:write(Hdl, [" ", ErlDir, "/", Module, ".erl\n"]) end, ok, Deps), ok = file:write(Hdl, [TargetFile, ": ", escript:script_name(), "\n"]), ok = file:sync(Hdl), ok = file:close(Hdl). -detect_deps(IncludeDir, Modules, Headers, Path) -> +detect_deps(IncludeDir, EbinDir, Modules, Headers, Path) -> {ok, Forms} = epp:parse_file(Path, [IncludeDir], [{use_specs, true}]), lists:foldl( fun ({attribute, _LineNumber, behaviour, Behaviour}, Deps) -> case sets:is_element(Behaviour, Modules) of - true -> sets:add_element(["$(EBIN_DIR)/", - atom_to_list(Behaviour), - ".beam"], Deps); + true -> sets:add_element( + [EbinDir, "/", atom_to_list(Behaviour), ".beam"], + Deps); false -> Deps end; ({attribute, _LineNumber, file, {FileName, _LineNumber1}}, Deps) -> |
