在GNU中列出定义中包含变量的目标/目标?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (21)

我有一个相当大的makefile,它通过从变量中计算名称来即时创建大量目标。(例如foo $(VAR):$(PREREQS))。有什么方法可以使gnu make在扩展这些变量之后吐出一系列目标?

我希望能够获得一个任意makefile的目标。我正在尝试为我的shell编写一个完成函数。

提问于
用户回答回答于

你能解析make -pn(ie make --print-data-base --dry-run)的输出吗?它会打印出所有的变量,规则,隐式规则以及哪些命令节运行。

用户回答回答于
make -qp | awk -F':' '/^[a-zA-Z0-9][^$#\/\t=]*:([^=]|$)/ {split($1,A,/ /);for(i in A)print A[i]}'     

扫码关注云+社区