【发布时间】:2014-04-16 05:55:17
【问题描述】:
是否有任何工具可以以图形方式查找/测量 Makefile 中的问题(如缺少依赖项、差异等)。 例如,我有一堆从顶级 Makefile 调用/调用的 makefile,其中 build 是从顶级 makefile 运行的。我想知道是否有任何工具可以测量 makefile(在本例中为顶级 makefile)的质量,例如好、坏或丑陋的东西。
我的期望:如果有任何这样的工具来衡量 makefile 的质量,该工具应该能够 1) 报告生成文件中的问题。 2) 理想地绘制点#1的结果。
下面的代码是递归makefile的简单场景,它调用子makefile。
petry@als02%ls
ant bee Makefile
petry@als02% cat Makefile
MODULES= ant bee
all:
for dir in $(MODULES);do $(MAKE) -C $$dir;done
.PHONY:clean
clean:
rm -rf ./ant/main.o ./bee/parse.o ./bee/prog
petry@als02% cat ant/makefile
all:main.o
main.o:main.c ../bee/parse.h
$(CC) -I../bee -c main.c
petry@als02% cat bee/makefile
OBJ=../ant/main.o parse.o
all:prog
prog:$(OBJ)
$(CC) -o $@ $(OBJ)
parse.o:parse.c
$(CC) -c parse.c
如果顶级 makefile 有任何与顶级 makefile 中的目标、依赖项或规则有关的问题,该工具应该能够解决/报告这些问题。 谷歌没有帮助。感谢任何帮助。谢谢
【问题讨论】:
-
我不知道任何图形解决方案,但是我发现
make -n [options](或--just-print、--dry-run、--recon)对于调试非常方便,这可能是有点帮助。 -
感谢您对 jdt 的评论。 “make -n”只会打印将要执行的命令。我正在寻找一个工具,如果我的 makefile 没问题,它会告诉“你的 makefile 没问题”,否则,它应该警告或报告 makefile 中的错误/问题。
-
没有这样的东西。我什至不知道您所说的“与目标、依赖项或规则有关的任何问题”是什么意思……比如什么样的问题?
标签: makefile