2010-12-20 16 views

Respuesta

118

No, no hay nada como los comentarios de estilo C /* */ en los archivos makefiles. Como alguien más sugirió, puede hacer un comentario de varias líneas usando continuaciones de línea. Por ejemplo:

# 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 

Sin embargo, me imagino que usted está probablemente en busca de comentar temporalmente fuera una parte de su makefile para la depuración de razones, y la adición de una barra invertida en cada línea no es realmente práctico. Si está utilizando GNU make, le sugiero que use la directiva ifeq con una expresión deliberadamente falsa. Por ejemplo:

ifeq ("x","y") 
# here's all your 'commented' makefile content... 
endif 

Espero que ayude.

+0

gran respuesta. ¡Gracias! –

+2

Tenga en cuenta que si desea "comentar" líneas en una regla, no sangría las Ifeq, líneas endif. –

12

Creo que la respuesta es no. El único estilo de comentario que puedo encontrar es # para cada línea, o use \ para ajustar la primera línea.

+0

Esta es la respuesta correcta. No es solo ** no ** multilínea comentar que tiene una \ (barra invertida) al final es simplemente feo. Prefiero agregar # (libra) al comienzo de cada línea. – wulfgarpro

1

En emacs, puede marcar la región que desea comentar y pulsar M-; (que ejecuta comment-dwim).

4

Una nota sobre la idea de usar ifeq para hacer comentarios de varias líneas en make (1). No funcionan muy bien ya que si se escribe lo siguiente:

ifeq (0,1) 
    do not risk ifeq comments 
    else trouble will find you 
    ifeq is even worse 
endif 

El texto entre el ifeq y endif todavía será analizado por marca lo que significa que no se puede escribir lo que quiera en esa sección. Y si desea escribir un comentario largo y escribir lo que quiera en el comentario (incluidos $ signos, dos puntos y más que tienen un significado para hacer), entonces debe comentar cada línea. Así que por qué el ifeq ... :)

+0

Eso no es correcto. El único gmake "analizador" del texto dentro de ifeq es buscar un endif. Puede verificar esto fácilmente con un archivo MAKE que tiene alguna sintaxis falsa dentro de ifeq. Mientras la condición en el ifeq se evalúe como falsa, gmake ignorará felizmente los errores de sintaxis dentro del ifeq. –

+1

Eso no es correcto. Pruebe el siguiente ejemplo: ifeq (0, 1) no se arriesgue a ifeq comenta demás problemas te encontrará endif El ** ** otra cosa en el inicio de la línea de tiros hacer en errores. Entonces ** else **, ** ifeq **, ** ifneq ** y posiblemente muchos otros símbolos que no conozco le darán problemas. –

+0

Ese es un punto justo, pero la mayoría de los errores sintácticos serán ignorados. –

4
define BOGUS 
lines 
..... 
endef 
+1

sujeto a las mismas advertencias que 'ifeq', supongo, pero funciona para mí. ¡Gracias! –

1

No es exactamente lo que está buscando, pero similar en espíritu. No espero que sea la respuesta aceptada, pero tal vez pueda ayudar a alguien.

Suponiendo que está editando sus archivos MAK en VIM:
O bien decida qué líneas desea comentar o selecciónelas con 'v'.

continuación, puede utilizar la expresión regular s/^/#/ a comentar las líneas
y s/^#// a revertirlas.

--Notes--

  • Para abrir la línea de comandos vim, pulse : (colon)
  • con la preparación de la orden para las siguientes líneas 'n', utilice .,+n
  • Una línea de ejemplo con "v" se parece a: '<,'>s/^/#/
Cuestiones relacionadas