Hola a todos!
Muchas veces cuando nos encontramos programando en algún lenguaje como C o C++ y hacemos modificaciones constantemente y tenemos que compilar una y otra vez, queremos automatizar el proceso de compilación para no perder tiempo en estar escribiendo el comando de compilación. Claro, si usas un IDE esto a veces no es necesario, pero es importante saberlo.
El Makefile es un archivo que nos permitirá hacer esto con sólo teclear: make, y sólo compilará los archivos que sean modificados, si no has hecho cambios y compilas, make detectará y no hará nada, pues no es necesario.
Makefile
Es un archivo que contiene las directivas necesarias para compilar código. Es otras palabras, es un archivo de descripción de compilación, es decir, nosotros colocaremos las directivas para compilar, si queremos agregar algunas librerias o librerías externas, banderas, etc.
Podemos encontrar Makefile para compilar C, C++, JAVA, etc. En el caso del IDE NetBeans para compilar código JAVA usa también un Makefile propio para ese lenguaje y Sistema.
Por ejemplo, si tenemos dos archivos en lenguaje C++, uno llamado main.cpp y otro shader_util.cpp, ademas el archivo main.cpp importa librerías de OpenGL para utilizar y pueda dibujar un objeto en 3D.
Para compilar dichos archivos necesitaríamos colocar la siguiente linea en una terminal linux por ejemplo:
g++ -o main main.cpp shader_util.cpp -lGL -lGLEW -lglfw
De esta manera compilaríamos, si queremos compilar muchas veces este mismo proyecto sería algo tedioso y mas aún, si tenemos mas archivos .cpp.
El archivo Makefile automatiza este proceso, sólo tenemos que crearlo correctamente y podremos compilarlo con sólo teclear make.
No pretendo escribir todo el código aquí, sino mas bien dejarles un link de un archivo PDF escrito por mi, en el cual les muestro como crear un archivo Makefile para el lenguaje C en LINUX, el proyecto que les presento es sencillo, de esta manera podrán entender el Makefile, y como es que se enlaza a varios modulos para compilarlos.
Bueno les dejo es link de descarga, espero y lo lean y entiendan.
https://docs.google.com/viewer?a=v&pid=sites&srcid=ZGVmYXVsdGRvbWFpbnxpdmFubHVpc2ppbWVuZXowOXxneDo3MjM3MTI3OGNkMzhjMTE
Cualquier duda no duden en dejar su comentario.
Created By Ivan Luis Jimenez
Muchas veces cuando nos encontramos programando en algún lenguaje como C o C++ y hacemos modificaciones constantemente y tenemos que compilar una y otra vez, queremos automatizar el proceso de compilación para no perder tiempo en estar escribiendo el comando de compilación. Claro, si usas un IDE esto a veces no es necesario, pero es importante saberlo.
El Makefile es un archivo que nos permitirá hacer esto con sólo teclear: make, y sólo compilará los archivos que sean modificados, si no has hecho cambios y compilas, make detectará y no hará nada, pues no es necesario.
Makefile
Es un archivo que contiene las directivas necesarias para compilar código. Es otras palabras, es un archivo de descripción de compilación, es decir, nosotros colocaremos las directivas para compilar, si queremos agregar algunas librerias o librerías externas, banderas, etc.
Podemos encontrar Makefile para compilar C, C++, JAVA, etc. En el caso del IDE NetBeans para compilar código JAVA usa también un Makefile propio para ese lenguaje y Sistema.
Por ejemplo, si tenemos dos archivos en lenguaje C++, uno llamado main.cpp y otro shader_util.cpp, ademas el archivo main.cpp importa librerías de OpenGL para utilizar y pueda dibujar un objeto en 3D.
Para compilar dichos archivos necesitaríamos colocar la siguiente linea en una terminal linux por ejemplo:
g++ -o main main.cpp shader_util.cpp -lGL -lGLEW -lglfw
De esta manera compilaríamos, si queremos compilar muchas veces este mismo proyecto sería algo tedioso y mas aún, si tenemos mas archivos .cpp.
El archivo Makefile automatiza este proceso, sólo tenemos que crearlo correctamente y podremos compilarlo con sólo teclear make.
No pretendo escribir todo el código aquí, sino mas bien dejarles un link de un archivo PDF escrito por mi, en el cual les muestro como crear un archivo Makefile para el lenguaje C en LINUX, el proyecto que les presento es sencillo, de esta manera podrán entender el Makefile, y como es que se enlaza a varios modulos para compilarlos.
Bueno les dejo es link de descarga, espero y lo lean y entiendan.
https://docs.google.com/viewer?a=v&pid=sites&srcid=ZGVmYXVsdGRvbWFpbnxpdmFubHVpc2ppbWVuZXowOXxneDo3MjM3MTI3OGNkMzhjMTE
Cualquier duda no duden en dejar su comentario.
Created By Ivan Luis Jimenez