Plop !
Voilà je pensais modifier mon Makefile de façon à pouvoir appeler un script shell si jamais la compilation ratait mais Makefile n'est pas vraiment daccord avec moi.
J'ai commencer en affichant un simple mesage d'érreur en cas de fail ou success mais là encore makefile exit avant la fin de la ligne.
Y a-t-il un moyen pour ignorer l'échec de gcc et continuer tout de même, pour lancer un script qui se chargera de réparer l'érreur si possible ?
Merci d'avance pour votre aide.
EDIT: Le cas du gcc dans all est reglé cependant il me reste toujours le plus gros a gèrer celui du $(OBJS) et je vois pas comment intègrer un check dans la ligne
Voilà ce que j'ai pondu au cours de la matinée :
Makefile:
Le script pour le démarrer :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 OBJS = $(SRC:.c=.o) all: $(NAME) $(NAME): $(OBJS) ($(COMP) $(SRC) -o $(NAME) $(LDFLAGS) $(CFLAGS)) || ([ $$? -eq 0 ] || (echo -e "\033[31mCompilation Failed!\033[0m")) echo -e "\033[32mCompilation success!\033[0m" clean: $(RM) $(OBJS) fclean: clean $(RM) $(NAME) re: fclean $(NAME)
Et voilà le main de test: Il est volontairement non fonctionnel histoire de tester la fonction ne marchant pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part make $1 SRC=main.c NAME=lol COMP=gcc CFLAGS="-Wall -Werror"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 int main() { }
Partager