Non, il n'y a rien de tel que les /* */commentaires de style C dans les makefiles. Comme quelqu'un d'autre l'a suggéré, vous pouvez faire un commentaire sur plusieurs lignes en utilisant des continuations de ligne. Par exemple:
# This is the first line of a comment \
and this is still part of the comment \
as is this, since I keep ending each line \
with a backslash character
Cependant, j'imagine que vous cherchez probablement à commenter temporairement une partie de votre makefile pour des raisons de débogage, et ajouter une barre oblique inverse sur chaque ligne n'est pas vraiment pratique. Si vous utilisez GNU make, je vous suggère d'utiliser la ifeqdirective avec une expression délibérément fausse. Par exemple:
ifeq ("x","y")
# here's all your 'commented' makefile content...
endif
Notez que si vous voulez "commenter" des lignes dans une règle, ne mettez pas en retrait les lignes ifeq, endif.
Simon Márton
13
Je crois que la réponse est non. Le seul style de commentaire que je peux trouver est # pour chaque ligne, ou utilisez \ pour envelopper la première ligne.
Une note sur l'idée d'utiliser ifeqpour faire des commentaires sur plusieurs lignes dans make (1). Ils ne fonctionnent pas très bien car si vous écrivez ce qui suit:
ifeq (0,1)
do not risk ifeq comments
else trouble will find you
ifeq is even worse
endif
Le texte entre ifeq et endif sera toujours analysé par make, ce qui signifie que vous ne pouvez pas écrire ce que vous voulez dans cette section. Et si vous voulez écrire un long commentaire et écrire ce que vous voulez dans le commentaire (y compris les signes $, deux-points et plus qui ont tous une signification pour make), vous devez commenter chaque ligne. Alors pourquoi le ifeq... :)
Ce n'est pas correct. La seule «analyse» que gmake fait du texte à l'intérieur de l'ifeq est de rechercher un endif. Vous pouvez le vérifier facilement avec un makefile qui a une syntaxe bidon dans l'ifeq. Tant que la condition de l'ifeq est évaluée comme fausse, gmake ignorera volontiers les erreurs de syntaxe dans l'ifeq.
Eric Melski
3
Ce n'est pas correct. Essayez l'exemple suivant: ifeq (0, 1) ne risquez pas ifeq commentaires else trouble vous trouvera endif L' autre au début de la ligne lance des erreurs. Alors d' autre , ifeq , ifneq et peut - être beaucoup d' autres symboles que je ne sais pas pour vous donner des problèmes.
Mark Veltzer
C'est un bon point, mais la majorité des erreurs syntaxiques seront ignorées.
sujet aux mêmes mises en garde que ifeqje suppose, mais fonctionne pour moi. Merci!
jcomeau_ictx
3
Pas exactement ce que vous recherchez, mais un esprit similaire. Je ne m'attends pas à ce que ce soit la réponse acceptée, mais peut-être que cela peut aider quelqu'un.
En supposant que vous modifiez vos makefiles dans VIM:
choisissez les lignes que vous souhaitez commenter ou sélectionnez-les avec 'v'.
Ensuite, vous pouvez utiliser l'expression régulière s/^/#/pour commenter les lignes
et s/^#//les inverser.
--Remarques--
Pour ouvrir la ligne de commande vim, appuyez sur :(deux-points)
Pour préparer la commande pour les n lignes suivantes, utilisez .,+n
Une tabulation utilisant "v" ressemble à ceci: '<,'>s/^/#/
Plus facile d'utiliser le mode bloc à la place. Allez au début de la première ligne pour commenter, ctrl-v, flèche vers le bas jusqu'à la fin, majuscule I, #, échapper. Pour supprimer les commentaires: ctrl-v, flèche vers le bas tout le chemin, x
brunch875
1
Dans emacs, vous pouvez marquer la région que vous souhaitez commenter et appuyer sur M-;(qui s'exécute comment-dwim).
Réponses:
Non, il n'y a rien de tel que les
/* */
commentaires de style C dans les makefiles. Comme quelqu'un d'autre l'a suggéré, vous pouvez faire un commentaire sur plusieurs lignes en utilisant des continuations de ligne. Par exemple:Cependant, j'imagine que vous cherchez probablement à commenter temporairement une partie de votre makefile pour des raisons de débogage, et ajouter une barre oblique inverse sur chaque ligne n'est pas vraiment pratique. Si vous utilisez GNU make, je vous suggère d'utiliser la
ifeq
directive avec une expression délibérément fausse. Par exemple:J'espère que cela pourra aider.
la source
Je crois que la réponse est non. Le seul style de commentaire que je peux trouver est # pour chaque ligne, ou utilisez \ pour envelopper la première ligne.
la source
Une note sur l'idée d'utiliser
ifeq
pour faire des commentaires sur plusieurs lignes dans make (1). Ils ne fonctionnent pas très bien car si vous écrivez ce qui suit:Le texte entre ifeq et endif sera toujours analysé par make, ce qui signifie que vous ne pouvez pas écrire ce que vous voulez dans cette section. Et si vous voulez écrire un long commentaire et écrire ce que vous voulez dans le commentaire (y compris les signes $, deux-points et plus qui ont tous une signification pour make), vous devez commenter chaque ligne. Alors pourquoi le
ifeq
... :)la source
la source
ifeq
je suppose, mais fonctionne pour moi. Merci!Pas exactement ce que vous recherchez, mais un esprit similaire. Je ne m'attends pas à ce que ce soit la réponse acceptée, mais peut-être que cela peut aider quelqu'un.
En supposant que vous modifiez vos makefiles dans VIM:
choisissez les lignes que vous souhaitez commenter ou sélectionnez-les avec 'v'.
Ensuite, vous pouvez utiliser l'expression régulière
s/^/#/
pour commenter les ligneset
s/^#//
les inverser.--Remarques--
:
(deux-points).,+n
'<,'>s/^/#/
la source
Dans emacs, vous pouvez marquer la région que vous souhaitez commenter et appuyer sur
M-;
(qui s'exécutecomment-dwim
).la source