这个文件是用来干嘛的?
通常情况下,它们用于编写C程序,以告诉make命令需要怎么样的去编译和链接程序。
那跟我写Python有什么关系
# Makefile
# 这是注释
<target> : <prerequisites>
[tab] <commands>
target
: 目标prerequisites
: 依赖commands
: 命令# Makefile
hello:
echo hello
>>> make hello
echo hello
hello
默认情况下会将命令打印出来,可以在命令前面加上@
,不打印命令
# Makefile
hello:
@echo hello
>>> make hello
hello
PHONY 伪目标。声明"伪目标"之后,make就不会去检查是否存在一个叫做hello的文件,而是每次运行都执行对应的命令。
# Makefile
.PHONY hello
hello:
@echo hello
PORT=8080
HOST=127.0.0.1
run:
python app.py runerver --host=$(HOST) --port=$(PORT)
>>> make run PORT=5000 HOST=0.0.0.0
python app.py runserver --host=0.0.0.0 --port=5000
...
PACKAGE='mypackage'
.PHONY: test lint coverage cov test-all
lint:
flake8 --max-complexity 10 --max-line-length=120 $(PACKAGE)
test:
pytest -v tests
coverage:
pytest --cov=$(PACKAGE) --cov-report=html -v tests
cov: coverage
test-all: lint test coverage
@echo "test finished"
>>> make test-all