MAKE
Pasos a seguir:
- sudo apt-get install build-essentials
 - Descargar el paquete fuente desde http://www.amsn-project.net/download.php
 
- Descomprimimos (tar -xzvf archivo.tar.gz) y desde la consola de comandos entramos en la carpeta
 - Escribimos ./configure para que compruebe el procesador y las librerias necesarias
 - Si algo falta lo instalamos, y volvemos a lanzar ./configure
 - Una vez que muestre el resumen, ya podemos lanzar el programa aMSN
 - Pero aún así nos metemos en dicha carpeta y escribimos sudo make install, que generará ejecutables y los enlazará al path
 - Por fín podemos lanzarlo
 
MAKEFILE
Estructura de un makefile
VARIABLE=valor
VARIABLE=valor
Estructura de un makefile
VARIABLE=valor
VARIABLE=valor
VARIABLE=valor
VARIABLE=valor
# comentario
objetivo: dependencias
     comando
     comando
objetivo: dependencias
     comando
     comando
Un ejemplo
prog.o: prog.c global.h modulo.h 
     gcc -c prog.c -o prog.o
modulo.o:modulo.c modulo.h
     gcc -c modulo.c -o modulo.o
programa: modulo.o prog.o biblio.a
     gcc -o programa modulo.o  \ 
     prog.o biblio.a
No sólo sirve para programas, también para cualquier otra cosa:
manual.dvi: manual.tex
     latex manual.tex
Suponiendo que tenemos estos tres archivos:
main.c
libreria.h
libreria.c
La forma de compilación sería la siguiente:
Los objetivos sería lo que extraemos de cada orden, es decir libreria.o, main.o y ejecutable.exe.
Las dependencias, sería de lo que depende (valga la redundancia) las compilaciones, es decir, libreria.o depende de libreria.c, main.o de main.c y ejecutable.exe de main.o y libreria.o
Ahora creamos un nuevo archivo llamado Makefile para hacer el fichero de las dependencias
Tiene que ser con ese nombre literalmente, y no otro.
Y escribiremos dentro los objetivos y las dependencias de nuestro programas
Es decir, el código de los programas queda tal que así:
main.c
libreria.c
libreria.h
Makefile
Con esto conseguimos hacer un código genérico que nos compile cualquier programa, cambiando tan solo su nombre y las lineas que contiene las dependencias.
main.c
libreria.h
libreria.c
La forma de compilación sería la siguiente:
Los objetivos sería lo que extraemos de cada orden, es decir libreria.o, main.o y ejecutable.exe.
Las dependencias, sería de lo que depende (valga la redundancia) las compilaciones, es decir, libreria.o depende de libreria.c, main.o de main.c y ejecutable.exe de main.o y libreria.o
Ahora creamos un nuevo archivo llamado Makefile para hacer el fichero de las dependencias
Tiene que ser con ese nombre literalmente, y no otro.
Y escribiremos dentro los objetivos y las dependencias de nuestro programas
Es decir, el código de los programas queda tal que así:
main.c
libreria.c
libreria.h
Makefile
Con esto conseguimos hacer un código genérico que nos compile cualquier programa, cambiando tan solo su nombre y las lineas que contiene las dependencias.
0 comments:
Publicar un comentario