xref: /trunk/Makefile (revision 98279f37a0d6fd955cba97478f2b21deb7b87e55)
1# Licensed to the Apache Software Foundation (ASF) under one
2# or more contributor license agreements.  See the NOTICE file
3# distributed with this work for additional information
4# regarding copyright ownership.  The ASF licenses this file
5# to you under the Apache License, Version 2.0 (the
6# "License"); you may not use this file except in compliance
7# with the License.  You may obtain a copy of the License at
8#
9#   http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing,
12# software distributed under the License is distributed on an
13# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14# KIND, either express or implied.  See the License for the
15# specific language governing permissions and limitations
16# under the License.
17
18PYTHON := $(shell command -v python || command -v python3 || echo python)
19PIP := $(PYTHON) -m pip
20
21.PHONY: check checkinstall checkupdate createwordlist install
22
23check: checkinstall
24    @echo "Running pre-commit checks..."
25    pre-commit run --all-files
26
27checkinstall: install
28    @echo "Installing pre-commit hooks..."
29    pre-commit install
30
31checkupdate:
32    @echo "Updating pre-commit hooks..."
33    pre-commit autoupdate
34
35createwordlist: install
36    @echo "Regenerating the ignored words list codespell.txt"
37    codespell --skip='./extras' | cut -f2 -d' ' | tr A-Z a-z | sort | uniq > .github/linters/codespell.txt
38
39install:
40    @echo "Installing dependencies..."
41    @if [ -f requirements-dev.txt ]; then \
42        $(PIP) install -r requirements-dev.txt; \
43    else \
44        echo "Error: requirements-dev.txt not found."; \
45        exit 1; \
46    fi
47