Bazel说,最佳实践是不使用二进制依赖,but to build the dependency from source using Bazel。我有一个依赖项- xgboost -它使用Makefiles构建,我想知道将Makefiles转换为Bazel的规范策略是什么,以及是否有任何标准工具可供程序员用作转换的一部分。
发布于 2017-07-13 19:07:53
现在还没有“规范的方法”来做到这一点。最简单的方法可能是在一个非封闭的泛型中进行shell,并声明规则所需的输出,例如:
genrule(
name = "xgboost",
srcs = glob(["xgboost/**"]),
cmd = "\n".join([
"DIR=$$(mktemp -d $${TMPDIR-/tmp}/tmp.XXXXXXX)",
"(cd $(execution_root)/xgboost && cp -fr . \"$${DIR}\")",
"(cd \"$${DIR}\" && make target)",
"cp $${DIR}/output $@",
]),
outs = ["xgboost-output"],
local = 1,
)当然,target、output和xgboost-output将被适合您的应用程序所取代。
https://stackoverflow.com/questions/44980088
复制相似问题