OBJS = sampler.o Samp_Funct.o File.o Image.o Samp_Load.o ShowImage.o Samp_Image.o
INCLUDE = -I/usr/include/Motif1.2 -I/usr/include/X11R5
LIBRARIES = -L/usr/lib/Motif1.2 -L/usr/lib/X11R5 -lXm -lXt -lX11 -loldX

sampler: $(OBJS)
cc -g $(OBJS) -o sampler $(LIBRARIES)

sampler.o: sampler.c
cc -c -g sampler.c $(INCLUDE)

Samp_Funct.o: Samp_Funct.c
cc -c -g Samp_Funct.c $(INCLUDE)

File.o: File.c
cc -c -g File.c $(INCLUDE)

Image.o: Image.c
cc -c -g Image.c $(INCLUDE)

Samp_Load.o: Samp_Load.c
cc -c -g Samp_Load.c $(INCLUDE)

ShowImage.o: ShowImage.c
cc -c -g ShowImage.c $(INCLUDE)

Samp_Image.o: Samp_Image.c
cc -c -g Samp_Image.c $(INCLUDE)


Este ejemplo genera un ejecutable, sampler, que se obtiene al linkar varios fuentes, se indican las dependencias del ejecutable y de cada uno de los objetos de los que depende el mismo. Tiene la ventaja de detectar cuando un fuente ha sido modificado y s&oaacute;lo en ese caso compilar de nuevo, esto es útil cuando el programa crece y no queremos recompilar código que no estamos modificando.

Como vemos con un makefile se compila siempre el mismo fichero, para realizarlo creamos un fichero denominado Makefile, pero en el que nos referiremos a nuestros ficheros en particular, y activaremos el proceso invocando make.



Comentarios, críticas, sugerencias y demás a modesto@gias720.dis.ulpgc.es

The GIAS Group e-mail: gias@gias720.dis.ulpgc.es