Documente Academic
Documente Profesional
Documente Cultură
Laboratorio de Distribuidos
Laboratorio de Distribuidos
Laboratorio de Distribuidos
Laboratorio de Distribuidos
programa: $(objects)
gcc -o programa $(objects)
Hay que notar que make hace distincin entre maysculas y minsculas.
Reglas explcitas
Le indican a make que archivos dependen de otros archivos, as como los comandos requeridos
para compilar un archivo en particular. Su formato es:
archivoDestino: archivosOrigen
comandos #Existe una caracter TAB (tabulador) antes de cada
comando.
Esta regla indica que, para crear archivoDestino, make debe ejecutar comandos sobre los
archivos archivosOrigen.
Ejemplo:
main: main.c funciones.h
gcc -o main main.c funciones.h
Significa que, para crear el archivo de destino main, deben existir los archivos main.c y funciones.h
y que, para crearlo, debe ejecutar el comando:
gcc -o main main.c funciones.h
Reglas implcitas
Son similares a las reglas explcitas, pero no indican los comandos a ejecutar, make utiliza los
sufijos (extensiones de los archivos) para determinar que comandos ejecutar.
Ejemplo:
funciones.o: funciones.c funciones.h
Origina la siguiente lnea:
$(CC) $(CFLAGS) -c funciones.c funciones.h
Existe un conjunto de variables que se emplean para las reglas implcitas, y existen dos categoras:
aquellas que son nombres de programas (como CC) y aquellas que tienen los argumentos para los
programas (como CFLAGS). Estas variables son provistas y contienen valores predeterminados, sin
embargo, pueden ser modificadas, como se muestra a continuacin:
CC = gcc
CFLAGS = -Wall -O2
En el primer caso, se ha indicado que el compilador que se emplear es gcc y sus parmetros son Wall -O2.
Laboratorio de Distribuidos
EJEMPLO DE MAKEFILE:
Creamos el archivo llamado holamain.c, el cual contiene el siguiente cdigo en C.
Adems de los anteriores archivos, se crea otro fichero llamado saluda.h, que contiene:
Teniendo los tres archivos anteriores se crea el makefile correspondiente con el nombre de
mimake, el cual contiene las siguientes instrucciones:
Para ejecutar el anterior makefile es necesario ingresar al directorio donde se ha creado la prueba
el siguiente comando en la consola:
make
-f
mimake
Laboratorio de Distribuidos
Este comando nos generara el ejecutable del programa ubicado en el directorio correspondiente
con el nombre de miejecutable.
Si queremos ejecutar las funciones que estn en el clean, que para este caso es eliminar borra el
holamain.o, saluda.o y el ejecutable llamado miejecutable, es necesario el siguiente comando:
make clean
EJERCICIO:
1. Realizar un Script que permita crear el directorio y los archivos necesarios para realizar la
practica planteada a continuacin.
2. Realizar un archivo Makefile para compilar los archivos fuente que permitan crear un
programa que reciba dos nmeros para ser sumados y restados.
3. Comprimir el directorio que contenga la prctica y el Script solicitados, en un archivo con
formato de nombre: ref2_apellidoN.rar o zip y subirlo a la plataforma.