/
githubmirror
/
cpython
Обзор
Документация
Войти
/
githubmirror
/
cpython
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
Tools/peg_generator/Makefile
49 строк
2 KB
Lysandros Nikolaou
gh-105191: Cleanup peg generator; keep only necessary files (#105197)
01 июн 2023, 18:24
Не верифицирован
01 июн 2023, 18:24
a241003
Код
Авторство
О чём код?
UNAME_S := $(shell uname -s) ifeq ($(UNAME_S),Linux) PYTHON ?= ../../python endif ifeq ($(UNAME_S),Darwin) PYTHON ?= ../../python.exe endif VENVDIR ?= ./venv VENVPYTHON ?= $(VENVDIR)/bin/python CPYTHON ?= ../../Lib MYPY ?= ./venv/bin/mypy BLACK ?= ./venv/bin/black GRAMMAR = ../../Grammar/python.gram TOKENS = ../../Grammar/Tokens build: peg_extension/parse.c peg_extension/parse.c: $(GRAMMAR) $(TOKENS) pegen/*.py peg_extension/peg_extension.c ../../Parser/pegen.c ../../Parser/pegen_errors.c ../../Parser/string_parser.c ../../Parser/action_helpers.c ../../Parser/*.h pegen/grammar_parser.py $(VENVPYTHON) -m pegen -q c $(GRAMMAR) $(TOKENS) -o peg_extension/parse.c --compile-extension clean: -rm -f peg_extension/*.o peg_extension/*.so peg_extension/parse.c -rm -rf $(VENVDIR) regen-metaparser: pegen/metagrammar.gram pegen/*.py $(VENVPYTHON) -m pegen -q python pegen/metagrammar.gram -o pegen/grammar_parser.py # Note: These targets really depend on the generated shared object in peg_extension/parse.*.so but # this has different names in different systems so we are abusing the implicit dependency on # parse.c by the use of --compile-extension. venv: $(PYTHON) -m venv $(VENVDIR) $(VENVPYTHON) -m pip install -U pip setuptools black mypy @echo "The venv has been created in the $(VENVDIR) directory" mypy: regen-metaparser $(MYPY) # For list of files, see mypy.ini format-python: $(BLACK) pegen format: venv format-python tags: TAGS TAGS: pegen/*.py test/test_pegen.py etags pegen/*.py test/test_pegen.py