From 40037b8ea5b76342308ff0f2c2d8e9fe890f6bcd Mon Sep 17 00:00:00 2001 From: Matthias Kretz Date: Wed, 25 Jun 2025 22:35:14 +0200 Subject: [PATCH 1/2] Add check target and provide pre-commit hook for 'make check' As a drive-by fix, add all other phony targets to .PHONY. --- .gitignore | 1 + source/Makefile | 9 +++++++++ tools/gitconfig.sh | 13 +++++++++++++ 3 files changed, 23 insertions(+) diff --git a/.gitignore b/.gitignore index bcaa1569dd..9286aae13e 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,4 @@ std-gram.ext tools/sections *.synctex.gz *.synctex* +.check.stamp diff --git a/source/Makefile b/source/Makefile index d4a2ff4064..25fdcf505c 100644 --- a/source/Makefile +++ b/source/Makefile @@ -30,3 +30,12 @@ clean-examples: rm -f $(EXAMPLES) examples: $(EXAMPLES) + +check: .check.stamp + +.check.stamp: ../tools/check-source.sh *.tex + @echo "Running tools/check-source.sh" + @../tools/check-source.sh + @touch $@ + +.PHONY: default refresh refresh full quiet clean-figures figures clean-examples examples check diff --git a/tools/gitconfig.sh b/tools/gitconfig.sh index 9a6d697447..5fb78ae398 100755 --- a/tools/gitconfig.sh +++ b/tools/gitconfig.sh @@ -1,3 +1,16 @@ #!/bin/sh git config diff.orderFile .gitorder git config diff.c++draft.xfuncname '\\rSec[0-9]+(\[.*\])\{' + +precommit="$(git rev-parse --git-dir)/hooks/pre-commit" + +test -f "$precommit" && exit +read -p "Install 'make check' pre-commit hook? [Y/n] " hook +if [ -z "$hook" -o "$hook" = "y" -o "$hook" = "Y" ]; then + cat < "$precommit" +#!/bin/sh +cd \$(git rev-parse --show-toplevel)/source +make check +EOF + chmod +x "$precommit" +fi From 69acc8b5ecd61da803b05b7e961ad3301e0e733d Mon Sep 17 00:00:00 2001 From: Matthias Kretz Date: Thu, 26 Jun 2025 18:33:29 +0200 Subject: [PATCH 2/2] Use ${brace} syntax in shell script, as requested --- tools/gitconfig.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/gitconfig.sh b/tools/gitconfig.sh index 5fb78ae398..b0488b1b9e 100755 --- a/tools/gitconfig.sh +++ b/tools/gitconfig.sh @@ -4,13 +4,13 @@ git config diff.c++draft.xfuncname '\\rSec[0-9]+(\[.*\])\{' precommit="$(git rev-parse --git-dir)/hooks/pre-commit" -test -f "$precommit" && exit +test -f "${precommit}" && exit read -p "Install 'make check' pre-commit hook? [Y/n] " hook -if [ -z "$hook" -o "$hook" = "y" -o "$hook" = "Y" ]; then - cat < "$precommit" +if [ -z "${hook}" -o "${hook}" = "y" -o "${hook}" = "Y" ]; then + cat < "${precommit}" #!/bin/sh cd \$(git rev-parse --show-toplevel)/source make check EOF - chmod +x "$precommit" + chmod +x "${precommit}" fi