如何将生成的源放在Bazel中的私有包含路径中?

如何将生成的源放在Bazel中的私有包含路径中?,bazel,Bazel,如果我将genrule输出放入cc\u库,如何将其放入私有包含路径 假设我有一个文件.c,如下所示: #include <config.h> #包括 下面是一个构建脚本,它说明了问题: genrule( name = "config", outs = ["config.h"], cmd = "touch $@", ) cc_library( name = "lib",

如果我将
genrule
输出放入
cc\u库
,如何将其放入私有包含路径

假设我有一个
文件.c
,如下所示:

#include <config.h>
#包括
下面是一个构建脚本,它说明了问题:

genrule(
    name = "config",
    outs = ["config.h"],
    cmd = "touch $@",
)

cc_library(
    name = "lib",
    srcs = [
        ":config",
        "file.c",
    ],
    copts = [
        "-isystem",
        # <- what goes here?
    ],
)
genrule(
name=“config”,
outs=[“config.h”],
cmd=“touch$@”,
)
图书馆(
name=“lib”,
srcs=[
“:config”,
“file.c”,
],
科普特人=[
“-isystem”,
#可以使用copts中的
$(GENDIR)
“生成变量”:

cc_library(
   name = "mylib",
   copts = ["-I", "$(GENDIR)/path/to/package"],
)
不幸的是,必须对包的路径进行硬编码,因为当前不支持
$(RULEDIR)
变量。

可以使用
$(GENDIR)
copts中的
$(make variable)

cc_library(
   name = "mylib",
   copts = ["-I", "$(GENDIR)/path/to/package"],
)
不幸的是,必须对包的路径进行硬编码,因为当前不支持
$(RULEDIR)
变量