run configurar makefile

makefile - configurar - Comete un error: falta el separador



makefile windows (8)

Como se indica en el manual en línea , la causa más común de ese error es que las líneas se sangran con espacios en blanco cuando se esperan caracteres de tabulación.

Correcto

target: /tcmd

donde / t es TAB

Incorrecto

target: cmd

Me aparece el siguiente error al ejecutar make :

Makefile:168: *** missing separator. Stop.

¿Qué está causando esto?


El siguiente código de Makefile funcionó:

obj-m = hello.o all: $(MAKE) -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules clean: $(MAKE) -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean


En mi caso, el error causado a continuación. Intenté ejecutar comandos globalmente, es decir, fuera de cualquier objetivo.

UPD. Para ejecutar el comando globalmente, uno debe estar formado adecuadamente. Por ejemplo, comando

ln -sf ../../user/curl/$SRC_NAME ./$SRC_NAME

se convertiría:

$(shell ln -sf ../../user/curl/$(SRC_NAME) ./$(SRC_NAME))


En mi caso, este error fue causado por la falta de un simple espacio. Tenía esto si bloque en mi archivo MAKE:

if($(METHOD),opt) CFLAGS= endif

que debería haber sido:

if ($(METHOD),opt) CFLAGS= endif

con un espacio después de si.


Este es un error de sintaxis en su Makefile. Es bastante difícil ser más específico que eso, sin ver el archivo en sí, ni la (s) porción (es) relevante (s) del mismo.


Mi error fue en una línea de declaración de variables con una extensión de varias líneas. Tengo un espacio posterior después de la "/" que hizo que la línea sea una continuación no válida.

MY_VAR = / val1 / <-- 0x20 there caused the error. val2


Para mí, el problema era que tenía algunos # ... final de línea # ... comentarios incrustados dentro de una define ... endef definición de variable de varias líneas. Eliminar los comentarios hizo que el problema desapareciera.


Solo por sonrisas, y en caso de que alguien más se encuentre con un error similar:

Obtuve el infame error de "separación faltante" porque había invocado una regla que define una función como

($eval $(call function,args))

más bien que

$(eval $(call function,args))

es decir ($eval $(call... lugar de $(eval $(call...