next up previous contents index
Next: Sustituciones de strings en Up: Macros de make Previous: Definición de macros por   Índice General   Índice de Materias

Macros definidas internamente.

El programa make define por cuenta propia una serie de macros de uso común. Esto puede ser muy útil a la hora de reducir el tamaño de nuestros Makefiles, aunque quizás, para el usuario novel hace el código algo difícil de entender.

Aquí se presentan las macros internas más importantes3.2

Podemos ahora reescribir nuestro Makefile (pág. [*]) de la siguiente manera:

   #Makefile de mi práctica, situado en el mismo directorio que
   #el resto de archivos de mi práctica
   LIBPATH =/home/alcortes/universidad/lao/practicas/bibliotecas/
   LIBS = $(LIBPATH)mi_biblioteca1.o $(LIBPATH)mi_biblioteca2.o
   OBJS = $(LIBS) mi_programa.o


   mi_ejecutable: $OBJS
        $CC -o $@ $OBJS

   mi_programa.o: mi_programa.c
        $CC -c $? 

   mi_biblioteca1.o: mi_biblioteca1.c
        $CC -c $?

   mi_biblioteca2.o: mi_biblioteca2.c
        $CC -c $?

En el caso de que queramos construir muchos ejecutables, de forma que cada uno de ellos depende únicamente de un solo fichero fuente, este sencillo makefile nos soluciona le problema:

   EJEC = eje1 eje2 eje3 eje3 eje4 eje5
   $(EJEC) : $$@.c
         $(CC) -O $? -o $@

De forma que ejecutando

   $ make eje3 eje5

Compilaremos los fuentes eje3.c y eje5.c.


next up previous contents index
Next: Sustituciones de strings en Up: Macros de make Previous: Definición de macros por   Índice General   Índice de Materias
Alberto Cortés 2001-03-26