Red Hat Training

A Red Hat training course is available for RHEL 8

5.2. Ejemplo: Construir un programa en C usando un Makefile

Construya un programa C de ejemplo utilizando un Makefile siguiendo los pasos de este ejemplo.

Procedimiento

  1. Cree un directorio hellomake y cambie a este directorio:

    $ mkdir hellomake
    $ cd hellomake
  2. Cree un archivo hello.c con el siguiente contenido:

    #include <stdio.h>
    
    int main(int argc, char *argv[]) {
      printf("Hello, World!\n");
      return 0;
    }
  3. Cree un archivo Makefile con el siguiente contenido:

    CC=gcc
    CFLAGS=-c -Wall
    SOURCE=hello.c
    OBJ=$(SOURCE:.c=.o)
    EXE=hello
    
    all: $(SOURCE) $(EXE)
    
    $(EXE): $(OBJ)
            $(CC) $(OBJ) -o $@
    
    %.o: %.c
            $(CC) $(CFLAGS) $< -o $@
    
    clean:
            rm -rf $(OBJ) $(EXE)
    Atención

    Las líneas de la receta del Makefile deben comenzar con el carácter de tabulación Al copiar el texto anterior de la documentación, el proceso de cortar y pegar puede pegar espacios en lugar de tabulaciones. Si esto ocurre, corrija el problema manualmente.

  4. Ejecutar make:

    $ make
    gcc -c -Wall hello.c -o hello.o
    gcc hello.o -o hello

    Esto crea un archivo ejecutable hello.

  5. Ejecute el archivo ejecutable hello:

    $ ./hello
    Hello, World!
  6. Ejecute el objetivo de Makefile clean para eliminar los archivos creados:

    $ make clean
    rm -rf hello.o hello