103 votes

Comment ajouter des commentaires sur plusieurs lignes dans les makefiles

Y a-t-il un moyen de commenter plusieurs lignes dans les makefiles comme dans la syntaxe C /* */ ?

142voto

Eric Melski Points 8325

Non, il n'y a rien de tel que les commentaires C-style /* */ dans les makefiles. Comme quelqu'un d'autre l'a suggéré, vous pouvez créer un commentaire sur plusieurs lignes en utilisant des continuations de ligne. Par exemple:

# Ceci est la première ligne d'un commentaire \
et ceci fait toujours partie du commentaire \
tout comme ceci, puisque je continue d'ajouter un caractère d'espacement \
à la fin de chaque ligne

Cependant, je suppose que vous cherchez probablement à commenter temporairement une partie de votre makefile pour des raisons de débogage, et ajouter un caractère d'espacement sur chaque ligne n'est pas vraiment pratique. Si vous utilisez GNU make, je vous suggère d'utiliser la directive ifeq avec une expression délibérément fausse. Par exemple:

ifeq ("x","y")
# voici tout le contenu de votre makefile 'commenté'...
endif

12voto

BowlesCR Points 171

Je crois que la réponse est non. Le seul style de commentaire que je peux trouver est # pour chaque ligne, ou utiliser \ pour envelopper la première ligne.

11voto

Mark Veltzer Points 686

Une note à propos de l'idée d'utiliser ifeq pour faire des commentaires multi-lignes dans make(1). Ils ne fonctionnent pas très bien puisque si vous écrivez ce qui suit :

ifeq (0,1)
    ne prenez pas de risques avec les commentaires ifeq
    sinon vous rencontrerez des problèmes
    ifeq est encore pire
endif

Le texte entre ifeq et endif sera quand même analysé par make, ce qui signifie que vous ne pouvez pas écrire n'importe quoi dans cette section. Et si vous voulez écrire un long commentaire et écrire ce que vous voulez dans le commentaire (y compris les signes $, les deux-points et plus encore, qui ont tous un sens pour make), alors vous devez commenter chaque ligne individuellement. Alors pourquoi le ifeq... :)

7voto

giuliolunati Points 542
définir BOGUS
lignes
.....
findef

5voto

goodguy5 Points 347

Pas exactement ce que vous recherchez, mais similaire dans l'esprit. Je ne m'attends pas à ce que ce soit la réponse acceptée, mais peut-être cela peut-il aider quelqu'un.

En supposant que vous éditez vos makefiles dans VIM:
Décidez des lignes que vous souhaitez commenter ou sélectionnez-les avec 'v'.

Ensuite, vous pouvez utiliser le regex s/^/#/ pour commenter les lignes
et s/^#// pour les rétablir.

--Notes--

  • Pour ouvrir la ligne de commande vim, appuyez sur : (deux-points)

  • Pour préparer la commande pour les 'n' prochaines lignes, utilisez .,+n

  • Une ligne d'exemple utilisant "v" ressemble à: '<,'>s/^/#/

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X