#!/bin/bash # Nom du script de build BUILD_SCRIPT="./build.sh" # Dossier de base à vérifier BASE_FOLDER="llama.cpp" # Dossier des binaires à vérifier pour s'assurer que la compilation a réussi BIN_FOLDER="$BASE_FOLDER/build" # Fonction pour afficher des messages informatifs en vert info() { echo -e "\e[32m[INFO]\e[0m $1" } # Fonction pour afficher des messages d'erreur en rouge error() { echo -e "\e[31m[ERREUR]\e[0m $1" } # Fonction pour afficher des messages d'avertissement en jaune warning() { echo -e "\e[33m[ATTENTION]\e[0m $1" } # Fonction pour nettoyer et relancer le processus clean_and_retry() { error "Le dossier de compilation est manquant. Nettoyage et relance en cours..." rm -rf "$BASE_FOLDER" sleep 5 # Attendre quelques secondes avant de relancer } # Boucle principale de vérification info "Démarrage de la surveillance. Vérification de la présence des binaires de llama.cpp..." while [ ! -d "$BIN_FOLDER" ]; do # Vérifie si le dossier de base existe, mais n'a pas été compilé if [ -d "$BASE_FOLDER" ]; then warning "Le dossier '$BASE_FOLDER' existe, mais le dossier de compilation '$BIN_FOLDER' est manquant." warning "Cela peut indiquer un échec de la compilation. Nous allons le supprimer et relancer." clean_and_retry fi warning "Les binaires sont introuvables. Lancement du script de build ('$BUILD_SCRIPT')..." # Exécute le script de build "$BUILD_SCRIPT" # Donne un peu de temps à la commande pour s'exécuter sleep 5 done info "Félicitations ! Les binaires de llama.cpp ont été trouvés avec succès !" info "Le processus de téléchargement et de compilation est terminé."