2010-10-18 30 views
7

Estoy escribiendo un programa C usando gcc en cygwin. Mi pregunta es, ¿cómo se crea un archivo MAKE? Quiero decir, ¿qué extensión de archivo tiene? Sé cómo escribir reglas simples, pero no puedo guardar un archivo en el editor de texto con la extensión correcta. Imposible encontrar información sobre esto ... Esta es una pregunta prolly newbie. Así que deja que el fuego comience. :-Pextensión de archivo MAKE

+0

Utilice la extensión de archivo que desee. Por ejemplo, llámalo 'makefile', o podrías llamarlo' makefile.mytotallyawesomemakefiletypeoffile' – JoshD

+0

Bueno, en una máquina Linux generalmente no tiene una extensión en absoluto, es solo "makefile" o "Makefile". Puedes llamarlo como quieras y usar la opción '-f' para decir" hacer "cuál usar. – Pointy

Respuesta

1

Suelen llamarse Makefile o makefile. No hay extensión. Sin embargo, eso es solo una convención.

No es trivial para escribir un makefile, buscar un guía o tutorial =)

0

Abra su editor de texto favorito, y crear un archivo llamado Makefile.

contenido puede variar, pero, siempre que disponga de un programa llamado hello.c un muy, muy simple Makefile para compilar podría ser:

hello: hello.c 
    gcc -Wall hello.c -o hello.exe 

Después de que funcione con el funcionamiento del cygwin shell:

$ ls 
hello.c Makefile 
$ make 
.... 

Y su Makefile intentará compilar hello.c. Si todo sale como se espera, puede ejecutar el programa hello.exe ejecutando el siguiente comando shell:

$ ./hello.exe 

Aquí hay un buen tutorial sobre Makefiles.

0

Un archivo MAKE generalmente se llama simplemente Makefile.

8

El nombre de archivo predeterminado para un archivo MAKE es Makefile; este es el nombre que busca GNU Make cuando lo ejecuta sin ninguna opción. El argumento -f le permite especificar un nombre de archivo alternativo si lo desea.

+6

En realidad, los nombres que busca GNU se especifican [en el manual] (http://www.gnu.org/software/make/manual/make.html#Makefile-Names): "intenta los siguientes nombres, en orden : GNUmakefile, makefile y Makefile ". – bstpierre

+0

Bastante justo. Pero la mayoría de las personas que escriben makefiles usan ese nombre. –

11

Como está utilizando Cygwin que a su vez significa que se está utilizando GNU make, cito el relevant portion of the GNU make manual:

3,2 Qué Apellido darle a su Makefile

por defecto, cuando se marca busca la makefile, trata los nombres siguientes, en orden: GNUmakefile, makefile y Makefile . Normalmente, debe llamar al su archivo MAKE ya sea MakeFile o Makefile. (Recomendamos Makefile porque normalmente aparece cerca el comienzo de una lista de directorios, derecha cerca de otros archivos importantes tales como README.) El primer nombre registrado, GNUmakefile, no se recomienda para la mayoría de los archivos make . Debe usar este nombre si tiene un archivo MAKE que es específico para GNU make, y no será entendido por otras versiones de make. Otros programas make buscan makefile y Makefile, pero no GNUmakefile.

[...]

Si desea utilizar un nombre no estándar para su makefile, puede especificar el nombre de archivo MAKE con el ‘f’ o la opción ‘--file’. Los argumentos '-f name' o '--file = name' le dicen a make que lea el nombre de archivo como el archivo MAKE. Si usa más de una opción '-f' o '-file', puede especificar varios archivos Make . Todos los archivos MAKE se concatenan efectivamente en el orden especificado. Los nombres de makefile predeterminados GNUmakefile, makefile y Makefile no se verifican automáticamente si especifica '-f' o '--file'.

0

Los archivos MAKE generalmente no tienen una extensión. Por lo general, se llaman 'makefile' o 'Makefile'. En ocasiones, cuando alguien escribe un conjunto complejo de archivos MAKE que se incluyen entre sí, los archivos incluidos obtienen una extensión .mak para indicar que son archivos MAKE aunque no se los llame 'makefile'.

1

En los pocos lugares en los que he visto extensiones usadas en los nombres makefile por lo general han sido ya sea .make o .gmk, e incluso entonces esas extensiones son generalmente reservados para makefile fragmentos que se incluyen archivos por maestros dieron una de las nombres predeterminados

Cuestiones relacionadas