我的Makefile看起来像这样:
CIFAR-10
我的问题是,如果不手动添加所有目标,我是否有办法生成一个帮助部分,列出我文件中的所有目标?
答案 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