Compilar en C y Linux con make (makefile)

0
61218

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 …..

 

 

Dejar respuesta

Please enter your comment!
Please enter your name here