summaryrefslogtreecommitdiff
path: root/generate_deps
diff options
context:
space:
mode:
authorMatthew Sackman <matthew@lshift.net>2010-01-25 17:00:57 +0000
committerMatthew Sackman <matthew@lshift.net>2010-01-25 17:00:57 +0000
commitcd6a9e6122ccf32abfb787ecb7abf5259a122715 (patch)
tree7a40795611346c1a0c93af9dd0d0e060aa6858c1 /generate_deps
parent4169d8a6457945c78a97e25e3601f9162a4fc270 (diff)
downloadrabbitmq-server-git-cd6a9e6122ccf32abfb787ecb7abf5259a122715.tar.gz
Minor refactorings and changes to deps generation
Diffstat (limited to 'generate_deps')
-rw-r--r--generate_deps18
1 files changed, 7 insertions, 11 deletions
diff --git a/generate_deps b/generate_deps
index d438660b73..c780b4b6a6 100644
--- a/generate_deps
+++ b/generate_deps
@@ -1,5 +1,6 @@
#!/usr/bin/env escript
%% -*- erlang -*-
+-mode(compile).
main([IncludeDir, ErlDir, TargetFile]) ->
ErlDirContents = filelib:wildcard("*.erl", ErlDir),
@@ -11,11 +12,8 @@ main([IncludeDir, ErlDir, TargetFile]) ->
HrlFiles = [filename:join(IncludeDir, FileName) ||
FileName <- IncludeDirContents],
Headers = sets:from_list(IncludeDirContents),
- Deps = lists:foldl(fun (Path, Acc) -> make_deps(Path, Acc) end,
- dict:new(), ErlFiles),
- Deps1 = lists:foldl(fun (Path, Acc) -> make_deps(Path, Acc) end,
- Deps, HrlFiles),
- Deps2 = dict:map(
+ Deps = lists:foldl(fun make_deps/2, dict:new(), ErlFiles ++ HrlFiles),
+ Deps1 = dict:map(
fun (_Path, Dep) ->
lists:filter(
fun ({module, Behaviour}) ->
@@ -23,7 +21,7 @@ main([IncludeDir, ErlDir, TargetFile]) ->
({include, Include}) ->
sets:is_element(Include, Headers)
end, Dep)
- end, Deps1),
+ end, Deps),
{ok, Hdl} = file:open(TargetFile, [write, delayed_write]),
dict:fold(
fun (_Path, [], ok) ->
@@ -33,16 +31,14 @@ main([IncludeDir, ErlDir, TargetFile]) ->
false ->
Module = filename:basename(Path, ".erl"),
ok = file:write(Hdl, ["$(EBIN_DIR)/", Module, ".beam:"]),
- lists:foreach(
- fun (E) -> write_deps(Hdl, IncludeDir, E) end, Dep),
+ [write_deps(Hdl, IncludeDir, E) || E <- Dep],
file:write(Hdl, [" ", ErlDir, "/", Module, ".erl\n"]);
true ->
ok = file:write(Hdl, [Path, ":"]),
- lists:foreach(
- fun (E) -> write_deps(Hdl, IncludeDir, E) end, Dep),
+ [write_deps(Hdl, IncludeDir, E) || E <- Dep],
file:write(Hdl, "\n")
end
- end, ok, Deps2),
+ end, ok, Deps1),
ok = file:write(Hdl, [TargetFile, ": ", escript:script_name(), "\n"]),
ok = file:sync(Hdl),
ok = file:close(Hdl).