Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 19/10/2008, à 08:13

zedtux

[Résolu!] Makefile: Conditions sur arguments

Bonjour à tous !

Je suis entrain d'améliorer le Makefile de mon projet.
J'ai besoin de lui passer 1 argument et de créer une condition sur cet argument.

Donc pour passer un argument, j'ai vue quand on déclare l'argument dans la commande make :

make action ARG=valeur

$(ARG) contient bien "valeur" donc c'est bon.

Maintenant, je veux afficher un message si $(ARG) est vide ou non définie.
Donc j'ai consulter la doc... et j'ai trouvé les opérateurs ifeq, ifneq, ifdef, ifndef.

Parfait ! Donc je modifie mon Makefile:

...
action:
	ifndef $(ARG)
		@echo "Tu doit donner un argument dans ARG"
	else
		@echo "L'argument est $(ARG)"
	endif
...

Mais quand je lance mon make j'ai:

ifdef 
make: ifdef : commande introuvable
make: *** [action] Erreur 127

Pourtant la doc dis bien de faire comme ca .... alors si quelqu'un peux me dire là où je me plante ? big_smile

P.S: Perl serai la solution ? ( j'ai vue que l'on peut intégré du Perl ).


RECOLLER VOS FICHIERS XTM AVEC TUXTREMSPLIT !!
Adhérant April numéro 4985 [Rejoindre l'April moi aussi !].

Hors ligne

#2 Le 19/10/2008, à 09:49

qqun

Re : [Résolu!] Makefile: Conditions sur arguments

salut,
je pense que ton pb est un probleme de tabulation ,enleve tes tabulations ou espaces avant ifndef,else,endif .

sinon tu peux passer un argument avec ton makefile et utiliser (ifeq ($(ARG),) pour tester si il est nul par exemple .

cat truc.mf

action:

ifeq ($(ARG),)
	@echo "Tu doit donner un argument dans ARG"
else
	@echo "L'argument est $(ARG)"
endif
 make -f truc.mf action ARG=RIEN
L'argument est RIEN
 make -f truc.mf action ARG=
Tu doit donner un argument dans ARG:
 make -f truc.mf action 
Tu doit donner un argument dans ARG:

#3 Le 19/10/2008, à 10:52

zedtux

Re : [Résolu!] Makefile: Conditions sur arguments

Ok c'est bon ! Ca marche !!

Tu avais raison !
Il faut absolument que le ifdef soit en début de ligne.
Par contre après le ifdef() il faut indenter ( avec tab par exemple ) sinon il dit qu'il ne voie pas de séparateurs.

Merci !!!! smile


RECOLLER VOS FICHIERS XTM AVEC TUXTREMSPLIT !!
Adhérant April numéro 4985 [Rejoindre l'April moi aussi !].

Hors ligne