Donar $20 Donar $50 Donar $100 Donar mensualmente
 


Enviar respuesta 
 
Calificación:
  • 0 votos - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Buscar en el tema
[AYUDA] makefile
Autor Mensaje
sgomez Sin conexión
Empleado de Fotocopiadora
Sin estado :(
**

Ing. Electrónica
Facultad Regional Buenos Aires

Mensajes: 28
Agradecimientos dados: 32
Agradecimientos: 16 en 4 posts
Registro en: Nov 2013
Mensaje: #1
[AYUDA] makefile Dudas y recomendaciones Informática II (Electrónica)
Hola a todos. Necesito que alguien me ayude a hacer un makefile o que me expliquen porque no lo entiendo bien y nose como se usa.

Desde ya, muchas gracias!!!!!

saludos.
Otros adjuntos en este tema
.rar  Desktop.rar ( 1,52 KB / 13) por John_Doe*
.pdf  Guia003-make.pdf ( 311,74 KB / 49) por Feer
20-12-2013 21:24
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Feer Sin conexión
Presidente del CEIT
win-win
**********

Ing. Electrónica
Facultad Regional Buenos Aires

Mensajes: 4.626
Agradecimientos dados: 604
Agradecimientos: 2.622 en 428 posts
Registro en: Apr 2010
Mensaje: #2
RE: [AYUDA] makefile
Te dejo uno, debería andar...
Si no avisame!




//Donde pongo Nombre pone algun identificador y el mismo en todos los lugares donde pongo "nombre"
//Donde dice nombre_xxx pone también algún nombre, yo ponía el de mi carpeta.


CC=gcc
CFLAGS=-c -g
nombre_xxxOBJS= //acá van los .O cuando pases a otra línea agrega: \ y agrega los de todos tus archivos.

nombre: $(nombre_xxxOBJS)
@echo compilando nombre
$(CC) $(nombre_xxxOBJS) -o $@
@echo fin




%.o: %.c
$(CC) $(CFLAGS) -o $@ $<

clean:
rm nombre
rm *.o




[Imagen: digitalizartransparent.png]
20-12-2013 22:04
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
John_Doe* Sin conexión
Profesor del Modulo A
Steampowered
*****

Ing. Electrónica
Facultad Regional Buenos Aires

Mensajes: 307
Agradecimientos dados: 18
Agradecimientos: 62 en 43 posts
Registro en: Dec 2012
Mensaje: #3
RE: [AYUDA] makefile
Te voy a dejar un par de links que te van a servir.

Primero, no vayas a confundir un makefile con un script.
Segundo, el makefile es un archivo especial que si se usa con el comando de bash make te sirve para compilar/recompilar proyectos de manera muy sencilla. Es importante que tengas en cuenta que cuando se recompila mediante un makefile, se evalua que archivos fueron modificados y dichos archivos se vuelven a compilar; pero no se vuelve a compilar todo el proyecto (considerando que fue al menos previamente compilado). Para ser mas claro, una vez que fue compilado el proyecto (en el caso de realizarse cambios) solamente se vuelven a compilar los archivos que fueron modificados. Para ello se ayuda con la información de metadata que se incluye en los archivos, fíjate que hay un apunte de Furfaro que explica bastante bien Linux en general

Por otra parte un makefile no solo lo podes usar para compilar, sino para incluir directivas para el compilador o incluso para darle mas funcionalidad a la compilación. Por ejemplo si vos queres adjuntar librerías estáticas en un directorio en particular, se puede agregar mediante líneas.

El makefile es una herramienta poderosa que contas en Linux. Acordate aparte que tenes dos maneras sencillas de declarar tu archivo para ser usado mediante el comando make; mediante los nombres: makefile o Makefile. Se pueden usar otros nombres por si te interesa, pero no viene al caso ahora.

Generalmente la estructura que vas a encontrar es como la que te paso Feer, o bien algunas mas sencillas como las que te puse en las paginas web. No es obligatorio usar esa estructura, pero mantiene un sentido de ordenamiento y lógica que es bueno seguir.

Hay algunos símbolos como $, #, etc que son particulares en el makefile. El $ te permite reemplazar dentro de las líneas que especifiques mediante un $, lo que tengas declarado al inicio del makefile. Un clásico es:

CC=gcc

y en alguna parte poner $(CC). Es por comodidad, para poder cambiar rápidamente el compilador a la hora de usar el makefile.

El # te permite escribir líneas de comentario:

#Esto es un comentario
Esto no es un comentario

Después tenes mas directivas que seria bueno que investigaras, no son mas particulares que las que usas dentro de Linux.

Estas paginas te pueden servir (salen en la primer pagina de google, si te pones a buscar). De hecho es lo primero que tenes que acostumbrarte a hacer, si no entendes en google ponelo que es tu mejor amigo:

http://mrbook.org/tutorials/make/
http://www.cs.colby.edu/maxwell/courses/...maketutor/
http://www.ntu.edu.sg/home/ehchua/progra..._make.html

Y te dejo unos ejemplos de makefile que use para Informatica 1.
Al archivo que dice makefile(1) quitale el (1), Windows choto que me trae conflicto con archivos que no me diferencia mayúsculas de minúsculas.

ACLARACIONES:

Con respecto al makefile que te paso Feer. Cuidado con la etiqueta clean; no te vayas a olvidar de modificar el * o sino te vas a borrar todos los archivos objeto que tengas en tu carpeta donde este el makefile. Esto te lo aclaro porque el * representa cualquier cosa, puede ser para definir un path, un nombre o la mitad de lo que quieras. Generalmente no hay problema en borrar todos los archivo objetos, pero tenelo en cuenta.

El comando echo me imagino que lo conoceras, sino hace justamente lo que significa el comando.
El prefijo @ suele no ser necesario, tenelo en cuenta por si te trae conflictos.


Archivo(s) adjuntos
.rar  Desktop.rar (Tamaño: 1,52 KB / Descargas: 13)

[Imagen: 335x50sfm_1.gif]
(Este mensaje fue modificado por última vez en: 20-12-2013 22:40 por John_Doe*.)
20-12-2013 22:31
Visita su sitio web Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Feer Sin conexión
Presidente del CEIT
win-win
**********

Ing. Electrónica
Facultad Regional Buenos Aires

Mensajes: 4.626
Agradecimientos dados: 604
Agradecimientos: 2.622 en 428 posts
Registro en: Apr 2010
Mensaje: #4
RE: [AYUDA] makefile
Tambien está el apunte de furfaro que anda dando vueltas por todos lados ya..
Yo lo subo es re interesante.


.pdf  Guia003-make.pdf (Tamaño: 311,74 KB / Descargas: 49)

[Imagen: digitalizartransparent.png]
20-12-2013 22:38
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] Feer recibio 2 Gracias por este post
John_Doe* (20-12-2013), H3rnst (20-12-2013)
John_Doe* Sin conexión
Profesor del Modulo A
Steampowered
*****

Ing. Electrónica
Facultad Regional Buenos Aires

Mensajes: 307
Agradecimientos dados: 18
Agradecimientos: 62 en 43 posts
Registro en: Dec 2012
Mensaje: #5
RE: [AYUDA] makefile
Gracias Fer, de ese hablaba justamente. Me dio un poco de fiaca subirlo.
Es un golazo para primer año con Linux.


OFF: Por curiosidad ¿Estas terminando Info 1 o vas a empezar el año que viene y queres ir investigando?

[Imagen: 335x50sfm_1.gif]
(Este mensaje fue modificado por última vez en: 20-12-2013 22:43 por John_Doe*.)
20-12-2013 22:41
Visita su sitio web Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
sgomez Sin conexión
Empleado de Fotocopiadora
Sin estado :(
**

Ing. Electrónica
Facultad Regional Buenos Aires

Mensajes: 28
Agradecimientos dados: 32
Agradecimientos: 16 en 4 posts
Registro en: Nov 2013
Mensaje: #6
RE: [AYUDA] makefile
(20-12-2013 22:41)John_Doe* escribió:  Gracias Fer, de ese hablaba justamente. Me dio un poco de fiaca subirlo.
Es un golazo para primer año con Linux.


OFF: Por curiosidad ¿Estas terminando Info 1 o vas a empezar el año que viene y queres ir investigando?

No. Estoy terminando info1 pero como nunca le había prestado mucha atención al make ahora lo necesitaba para poder hacer el proyecto.

Muchas gracias! y a los que me contestaron. Me sirvió la explicacion.

saludos!!!
22-12-2013 17:58
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Buscar en el tema
Enviar respuesta 




Usuario(s) navegando en este tema: 1 invitado(s)



    This forum uses Lukasz Tkacz MyBB addons.