有没有工具来衡量Makefile的质量?

时间:2014-04-16 05:55:17

标签: makefile

是否有任何工具可以找到/衡量Makefile的质量,它可以代表Makefile中的问题(如缺少依赖关系,差异等等),如果有的话,以图形方式表示? 例如,我有一堆makefile,它们从顶级Makefile调用/调用,其中build从顶级makefile运行。我想知道是否有任何工具来衡量makefile的质量(在这种情况下,顶级makefile),比如好的,坏的或丑陋的东西。

我的期望:如果有任何这样的工具来衡量makefile的质量,该工具应该能够 1)报告makefile中的问题。 2)理想地绘制点#1的结果。

下面的代码是Recursive makefile的简单场景,它调用子makefile。

petry @ als02%ls

ant bee Makefile

顶级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

ant目录中的子makefile

petry @ als02%cat ant / makefile

all:main.o
main.o:main.c ../bee/parse.h
        $(CC) -I../bee -c main.c

bee目录中的子makefile

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中的目标,依赖项或规则有任何问题,该工具应该能够解决/报告问题。 谷歌没有帮助。感谢任何帮助。感谢

1 个答案:

答案 0 :(得分:0)

我搜索了“ makefile linter”并找到了两个:

https://github.com/mrtazz/checkmake

https://github.com/softprops/mint

(截至2019年)

遗憾的是,两者似乎都没有得到积极发展。

“ lint”已成为静态检查典型错误和可疑样式的软件的绝对名称。参见https://en.wikipedia.org/wiki/Lint_(software)