2011-02-10 11 views
5

Tengo un archivo de maquillaje que contiene este código:No hay objetivos especificados y ningún makefile encontrado

all: main.o Etudiant.o 
    gcc -lobjc -o program main.o Etudiant.o 
main.o:main.m Etudiant.h 
    gcc -c main.m 
Etudiant.o:Etudiant.m Etudiant.h 
    gcc -c Etudiant.m 

Cuando escribo esto en el comando shell:

$make 

Tengo esto:

make: **** No targets specified and no makefile found. Stop. 

¿Cómo puedo solucionar esto?

+0

¿Está ejecutando el comando make en el directorio donde está el archivo MAKE? – Mahesh

+0

... y es el archivo MAKE llamado "Makefile" (con una M mayúscula)? –

+0

Si en lugar de escribir 'make', ¿qué obtienes cuando escribes' ls -l'? –

Respuesta

14

Mmm ... makefiles. Whee.

Todo ese espacio en blanco al principio de la línea. Eso tiene que ser pestañas. O Make provocará un error realmente oscuro. Asegúrate de que esas son pestañas y vuelve a intentarlo.


Vea el botón en el lado izquierdo del teclado con la etiqueta "tabulación". Elimine los espacios y presione esa vez para insertar un carácter de tabulación.


Probar make all. IIRC (hace algunos años que no he tenido que mapear con makefiles) la mayoría de las marcas estarán predeterminadas en all, pero quizás la tuya no.

La extensión no importa.


Holy Heck! Todos somos Extra Dense (¡el álbum en su mayor parte es así)!

"no se encontró Makefile" significa ... bueno ... que Make ni siquiera vio el archivo MAKE. Las sugerencias para cambiar el nombre de Makefile.m a Makefile son correctas. Además, todo lo de la pestaña frente al espacio en blanco es ciertamente pertinente.

+0

Hola, el comando make en el directorio donde está makefile y su nombre es Makefile con M. sin embargo, ¿qué 'pestañas'? – Malloc

+0

intenté eliminar espacios en blanco, siempre obtuve el mismo error de salida :( – Malloc

+1

@Malek: y asegúrate de que tu editor esté configurado para usar "pestañas reales" o "pestañas duras", no espacios. Si estás usando un cacao, editor basado como Xcode, presione ctrl-q, luego tab para insertar siempre una pestaña real. –

4

y ningún makefile encontró

Si sólo tiene que teclear make sin argumentos o make all, make buscará un archivo llamado Makefile en el directorio actual. Si no está allí, obtienes el error que viste. make no buscará en los subdirectorios para Makefile ni aceptará un archivo llamado Makefile.m.

+1

Malek no ha especificado la versión de Make, pero GNUMake busca 'GNUmakefile', luego 'makefile ', finalmente' Makefile '. – Beta

0

Re:
$ Observar Marca: * No hay objetivos especificados y ningún makefile encontrado. Detener.

Acabo de recibir este error y descubrí que la extensión Makefile (ninguna) se había convertido a .bat en algún punto de la línea.

0

Acabo de pasar unos momentos increíblemente frustrantes con este error. Mi error no fue tan sutil: titulé el archivo make MakeFile not Makefile, por lo que incluso el uso del comando -f Makefile (forzando el nombre del archivo) aún resultó en no encontrado, porque era MakeFile, no Makefile.

Cuestiones relacionadas