我正试图将过时的无维护构建工具转换为erlang.mk。我有一个使用erlang.mk创建的版本,但它在启动时失败,我相信因为应用程序以错误的顺序启动。如何指定应用的启动顺序?我原以为它会按照Makefile的LOCAL_DEPS变量中指定的顺序启动应用程序,但这似乎不会发生。我在文档中随处可见,加上谷歌搜索,但一直找不到任何东西。
答案 0 :(得分:3)
订单不依赖于erlang.mk
,而是依赖于Erlang VM本身启动应用程序时的情况。当systools
启动特定应用程序时,它会读取.app
文件以检查应事先启动哪个应用程序并启动它们。只有在成功启动所有必备应用程序后,才会启动所请求的应用程序。请参阅description of the app文件。
{application, humbundee,
[{description, "Humble Bundle downloader written in Erlang"},
{vsn, "0.0.1"},
{modules,
[
=MODULES=
]},
{registered, [hbd_sup, hbd_get_sup]},
{applications, [kernel, stdlib, sasl, lager]},
{mod, {hbd_app, []}}
]}.
这表示kernel
,stdlib
,sasl
和lager
必须在启动humbundee
之前启动。
答案 1 :(得分:0)
它基于.app
文件applications
列表。每个应用程序及其家属在继续下一个应用程序之前启动。