Files
Ustagammon/tests/test_makefile.sh
T

23 lines
678 B
Bash
Executable File

#!/usr/bin/env bash
# Vérifie le contrat du Makefile décrit dans CLAUDE.md :
# toutes les commandes obligatoires existent et apparaissent dans `make help`,
# et `make clean` peut être relancé sans erreur.
set -euo pipefail
cd "$(dirname "$0")/.."
# Lancé depuis `make test` : repartir d'un make indépendant du make parent.
unset MAKEFLAGS MFLAGS MAKELEVEL
aide="$(make help)"
for cible in setup build test lint deploy clean help; do
if ! grep -qE "^ make $cible " <<<"$aide"; then
echo "make help ne mentionne pas « $cible »"
exit 1
fi
done
make clean >/dev/null
make clean >/dev/null
[ ! -e build ] || { echo "make clean n'a pas supprimé build/"; exit 1; }