我一直是Windows用户,这是我第一次使用solaris,所以不要以为我对shell脚本一无所知。假设我在一个文件夹中有3个不同的python程序。
$:pwd
/ pythonpgm
$:LS
1.py 2.py 3.py
我正在使用pylint静态分析我的代码
$:pylint -rn 1.py
我不想在每个文件上单独使用它,而是想编写一个Makefile,这样我只需要执行一次。如何为此编写makefile?并致电make?
答案 0 :(得分:6)
使用您的编辑器,在当前目录中创建一个名为Makefile
的文件并将其放入其中:
pylint: ; @for py in *.py; do echo "Linting $$py"; pylint -rn $$py; done
现在您只需运行make
。
这就像它得到的一样简单。如果你想要更复杂的东西,你可以使用:
PYLINT = pylint
PYLINTFLAGS = -rn
PYTHONFILES := $(wildcard *.py)
pylint: $(patsubst %.py,%.pylint,$(PYTHONFILES))
%.pylint:
$(PYLINT) $(PYLINTFLAGS) $*.py
(注意,上面最后一行的第一个字符必须一个真正的TAB字符,它不能是空格)。这个的好处是你可以运行make 1.pylint
只在单个文件1.py
上运行pylint,或运行make
在所有文件上运行它。