我可以在不列出所有目标的情况下生成Makefile帮助吗?

时间:2015-10-24 04:26:34

标签: makefile gnu

我的Makefile看起来像这样:

CIFAR-10

我的问题是,如果不手动添加所有目标,我是否有办法生成一个帮助部分,列出我文件中的所有目标?

2 个答案:

答案 0 :(得分:0)

  

有没有办法让我生成一个帮助部分,列出我文件中的所有目标?

否。

正如其他人所提到的那样,make没有默认的方式来打印你的目标所做的

至于从命令行列出所有目标,在bash中,您可以发出以下命令以获取所有可能目标的列表:

make  <TAB> <TAB>

答案 1 :(得分:0)

我一直都在用这个。它不直观,但确实输出了可用目标列表。虽然这并不能解释每个目标的作用,但我发现这比没有任何东西好得多。

help:
    @echo "Available targets:"
    @$(MAKE) -pRrq -f $(lastword $(MAKEFILE_LIST)) : 2>/dev/null | awk -v RS= -F: '/^# File/,/^# Finished Make data base/ {if ($$1 !~ "^[#.]") {print $$1}}' | sort | egrep -v -e '^[^[:alnum:]]' -e '^$@$$' | xargs