osi-tools/Makefile

46 lines
1.4 KiB
Makefile
Raw Normal View History

2018-08-18 18:42:42 +00:00
# Copyright (C) 2018 Luke Shumaker
# Copyright (C) 2023-2024 Umorpha Systems
2018-08-18 18:42:42 +00:00
# SPDX-License-Identifier: AGPL-3.0-or-later
2024-01-04 22:25:03 +00:00
shell_programs += bin/osi-mk
shell_programs += bin/osi-shell
shell_programs += bin/osi-mount
shell_programs += bin/osi-extract
2023-10-25 18:22:37 +00:00
2024-01-04 22:25:03 +00:00
python_programs += lib/pacman-choices
perl_programs += lib/indent
2023-10-25 18:22:37 +00:00
2024-01-05 02:13:25 +00:00
# Lint #########################################################################
2024-01-05 18:24:19 +00:00
lint: $(addsuffix .bash,$(wildcard test/*.bats))
2024-01-04 22:25:03 +00:00
@PS4=; r=0; set -x; { \
2024-01-05 18:24:19 +00:00
shellcheck -- lib/*.sh $(shell_programs) || r=$$?; \
shellcheck -x -- test/*.bats.bash || r=$$?; \
2024-01-04 22:25:03 +00:00
MYPYPATH=$$PWD/mypy-stubs mypy --strict $(python_programs) || r=$$?; \
black --check $(python_programs) mypy-stubs || r=$$?; \
isort --check $(python_programs) mypy-stubs || r=$$?; \
diff -u /dev/null <(git grep -L SPDX-License-Identifier: -- $(addprefix :!,$(generate/files))) || r=$$?; \
2024-01-04 22:25:03 +00:00
}; exit $$r
2023-10-25 07:14:54 +00:00
.PHONY: lint
2023-12-13 03:23:30 +00:00
2024-01-05 18:24:19 +00:00
%.bats.bash: %.bats
{ echo 'source /usr/lib/bats-core/test_functions.bash'; /usr/lib/bats-core/bats-preprocess $<; } >$@
2024-01-05 02:13:25 +00:00
# Check ########################################################################
check:
PATH=$(CURDIR)/bin:$$PATH && cd test && bats .
.PHONY: check
# Generate #####################################################################
2023-12-13 03:23:30 +00:00
generate/files = COPYING.txt
COPYING.txt:
curl https://www.gnu.org/licenses/agpl-3.0.txt >$@
generate: $(generate/files)
generate-clean:
rm -f -- $(generate/files)
.PHONY: generate generate-clean