summaryrefslogtreecommitdiff
path: root/generate_deps
diff options
context:
space:
mode:
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).