#!/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; }