Categorías del Tutorial

icono_twiter icono LinkedIn icono Facebook Icono Xing
Roberto Canales Mora

Creador y propietario de AdictosAlTrabajo.com, Director General de Autentia S.L., Ingeniero Técnico de Telecomunicaciones y Executive MBA por el Instituto de Empresa 2007.
Twitter:

Autor de los Libros: Planifica tu éxito: de aprendiz a empresario y Informática profesional, las reglas no escritas para triunfar en la empresa

Puedes consultar mi CV y alguna de mis primeras aplicaciones (de los 90) aquí

Ver todos los tutoriales del autor

Fecha de publicación del tutorial: 2005-11-24

Tutorial visitado 29.292 veces Descargar en PDF
http

Construcción de un makefile para compilar en C y Linux

Introducción

En mi empresa, www.autentia.com estamos todo el día cambiando de aires: Lo mismo hacemos:

Una auditoria de código o un curso de formación, que una extensión de Struts en Java, un componente ActiveX en Visual C++  o un porting a Linux ....

Me ha tocado hacer esto último, compilar en Linux, y he tenido que refrescar algunos conocimientos que aprovecho para compartir ...

Navegando por Internet, encontré un documento que, por su elocuencia, he decidido reproducir parcialmente (y a mi manera) para vosotros. Consiste en una buena explicación de como construir un fichero makefile. Os invito a visitar el enlace ya que este tutorial no tan completo como el original http://www.cs.famaf.unc.edu.ar/so2004/Lab1/Makefiles/img0.html

Construcción del fuente y compilación

En la siguiente pantalla podemos ver (sobre Qemu) el primer ejemplo C en Linux. Con el comando gcc compilamos

El comando make utiliza un fichero llamado por defecto makefile que, con una sintaxis especial, define las instrucciones a seguir para la compilación. Si venís del mundo Java, los scripts de ANT pueden ser considerados como la versión moderna de un make

Se define objetivos, dependencias y comandos

Cuando creamos más objetivos y asignamos dependencias make crea un árbol que resolverá los comandos en el orden adecuado

Lo que empieza a en revesar (y dar potencia) los makefile son el uso de variables comodines

  • $(VAR) el contenido de la variable
  • $@ el nombre del objetivo
  • $< la primera dependencia (después de los dos puntos)
  • $^ la lista de dependencias

Traducimos el makefile anterior usando las variables comodín

Podemos incluso establecer sustituciones en objetivos y dependencias de fuentes para que tengan un comportamiento por defecto con su sola declaración

Y por último, podemos establecer distintos objetivos: Limpiar, compilar todo, etc. y variables para que solo tocando al principio de nuestro fichero, podamos reciclar los scripts ...

Con un poco de imaginación e investigación podemos hacer que el mismo valga para todos los proyectos (dejemos algo para los cursos)

Link de interés

http://www.cs.famaf.unc.edu.ar/so2004/Lab1/Makefiles/img0.html

Comentario final

Las modas aplican a todo .. incluso a la tecnología. En la época en el que todo el mundo se mete a programar en Java/J2EE o .Net, no hay que olvidar que, en muchos casos, o programas en C o no arreglas el problema.

Todos los que llevéis unos años en esto de la tecnología sabréis que no ha tantas novedades como pensamos ... es el mismo perro con distinto collar ... por lo que nos hace falta VISIÓN .....

Si en www.adictosaltrabajo.com el personal de www.autentia.com compartimos de un modo gratuito y anónimo tanto conocimiento es porque:

  • Se puede encontrar lo mismo en libros o Internet, por lo que su valor es subjetivo como tal (nos es útil a nosotros mismos como herramienta para reaprovechar esfuerzos)
  • Porque a lo mejor, leyendo entre líneas alguien puede determinar que: Nos gusta lo que hacemos, no nos paramos ante las barreras del conocimiento y tenemos la VISIÓN que pueden necesitar vuestro equipos .....

 

 

A continuación puedes evaluarlo:

Regístrate para evaluarlo

Por favor, vota +1 o compártelo si te pareció interesante

Share |
Anímate y coméntanos lo que pienses sobre este TUTORIAL: