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 comentarios:
Publicar un comentario