Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/05/2011, 10h52   #1
Candidat au titre de Membre du Club
 
Homme Boris Couturier
Étudiant
Inscription : avril 2011
Messages : 21
Détails du profil
Informations personnelles :
Nom : Homme Boris Couturier
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : avril 2011
Messages : 21
Points : 10
Points : 10
Par défaut makefile récupérer code erreur

((re)re)bonjour,

Aller on continue sur les problèmes x)

Code :
1
2
3
4
5
6
7
 
testU:
	@echo "-- Compil And Running Cunit tests --"
	@echo "=== In SRC directory ==="
	@cd ${.CURDIR}/src && make -k SUBDIR_TARGETS=testU testU
	@echo "=== In LIB directory ==="
	@cd ${.CURDIR}/lib && make -k SUBDIR_TARGETS=testU testU
Voici un flags d'un makefile.
Avec l'option -k, même si il y a des erreurs de compilation, les make continues, donc bien evidement, la valeur de retour à la fin est 0.

Ce dont j'ai besoin c'est de récupérer dans une variable ou autre, si il y a eu une erreur de compilation (juste un code d'erreur ça me suffit), mais je ne vois vraiment pas comment faire.
boris_couturier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2011, 11h43   #2
Candidat au titre de Membre du Club
 
Homme Boris Couturier
Étudiant
Inscription : avril 2011
Messages : 21
Détails du profil
Informations personnelles :
Nom : Homme Boris Couturier
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : avril 2011
Messages : 21
Points : 10
Points : 10
aaaaah, je me casse la tête sur ce truc, j'ai bien pensé à juste rediriger la sortie d'erreur dans un fichier et faire un magnifique sed ou grep pour trouver les lignes du genre:
Mais c'est plutot barbare, je suis certain qu'il y à moyen de récupérer le code d'erreur d'un sous-makefile durant la compilation.

Plus de précisions, le flag testU, va parcourir tous les sous-répèrtoires, et executer les testU dans les sous-makefile.
Les sous-makefile utilisent des flags déjà ecrits: ".include <bsd.prog.mk>"
boris_couturier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2011, 15h50   #3
Candidat au titre de Membre du Club
 
Homme Boris Couturier
Étudiant
Inscription : avril 2011
Messages : 21
Détails du profil
Informations personnelles :
Nom : Homme Boris Couturier
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : avril 2011
Messages : 21
Points : 10
Points : 10
Bon, j'ai trouvé un "substitue" mais ça ne me convient pas vraiment.
En gros il me faudrait, un flags, un target, une option, n'importe quoi pour rediriger le flux d'erreur de la compilation vers un fichier, ma vrai question est donc:

existe-il une option ou autre à make pour rediriger la sortie d'erreur vers un fichier ?
Je ne peux pas utiliser de commande comme
car le makefile est appelé automatiquement

Quelqu'un aurait une idée svp?? ça me met sur les nerfs de rester bloqué sur quelque chose comme ça x)
boris_couturier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2011, 17h47   #4
Candidat au titre de Membre du Club
 
Homme Boris Couturier
Étudiant
Inscription : avril 2011
Messages : 21
Détails du profil
Informations personnelles :
Nom : Homme Boris Couturier
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : avril 2011
Messages : 21
Points : 10
Points : 10
Bon, je n'ai pas réellement trouvé de solution à mon problème, plutot une "ruse"

Code :
1
2
3
4
5
6
7
8
 
build-testU: all
 
testU:
	@cd ${.CURDIR} && make build-testU > ${DIR_TESTU_RESULT}/log_testu_libfwuac.txt 2>&1		
	@./${PROG} ${DIR_TESTU_RESULT}/libfwuac
...
.include <bsd.prog.mk>
J'ai ajouté un target "build-testU" qui depend de "all" (qui est définie dans bsd.prog.mk).
Cela me permet d'appeler explicitement "make build-testU" et donc de rediriger la sortie d'erreur ou je souhaite.
boris_couturier est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h08.


 
 
 
 
Partenaires

Hébergement Web