37 lines
800 B
Makefile
37 lines
800 B
Makefile
# Nom de l'exécutable
|
|
PROG_NAME = huff
|
|
|
|
|
|
# Fichiers que le Makefile va utilisé pour construire l'exécutable
|
|
SOURCES = main.c
|
|
# Noms des fichiers objets créés lors de la compilation
|
|
OBJ = $(SOURCES:.c=.o)
|
|
|
|
|
|
# Compilateur utilisé
|
|
CC = gcc
|
|
# Options utilisés par le compilateur
|
|
CC_FLAGS = -Wall -Wextra -fanalyzer -g -O3
|
|
|
|
|
|
# Permet de supprimer les fichiers objets
|
|
CLEAN = rm
|
|
# Options utilisés par le programme qui supprime les fichiers
|
|
CLEAN_FLAGS = -f
|
|
|
|
|
|
# Créer l'exécutable par défaut
|
|
all: $(PROG_NAME)
|
|
|
|
# Créer les fichiers objets du programme
|
|
$(PROG_NAME): $(OBJ)
|
|
$(CC) $^ -o $(PROG_NAME)
|
|
$(CLEAN) $(CLEAN_FLAGS) *.o
|
|
|
|
# Lie les fichiers objets entre eux pour créer le programme
|
|
%.o: %.c
|
|
$(CC) $(CC_FLAGS) -c $<
|
|
|
|
# Supprime le programme
|
|
clean:
|
|
$(CLEAN) $(CLEAN_FLAGS) $(PROG_NAME)
|