Files
SAE11_2024/makefile

53 lines
886 B
Makefile
Raw Normal View History

2024-11-21 13:17:10 +01:00
# le compilateur gcc
2024-11-03 18:34:37 +01:00
CC = gcc
2024-11-21 13:17:10 +01:00
# options de compilation
CFLAGS = -ansi -pedantic -Wall -Wextra
2024-11-21 13:17:10 +01:00
LDFLAGS = -lgraph
2024-11-03 18:34:37 +01:00
2024-11-21 13:17:10 +01:00
# nom de l'exécutable
2024-11-23 14:20:07 +01:00
NAME = blocus
2024-11-03 18:34:37 +01:00
2024-11-21 13:17:10 +01:00
# dossiers
SRC_DIR = src
INC_DIR = include
OBJ_DIR = obj
2024-11-03 18:34:37 +01:00
2024-11-21 13:17:10 +01:00
# sources
SRCS = $(SRC_DIR)/main.c \
$(SRC_DIR)/jeu.c \
$(SRC_DIR)/jeu_humain.c \
$(SRC_DIR)/jeu_ia.c
2024-11-03 18:34:37 +01:00
2024-11-21 13:17:10 +01:00
# objets
OBJS = $(SRCS:$(SRC_DIR)/%.c=$(OBJ_DIR)/%.o)
2024-11-03 18:34:37 +01:00
2024-11-21 13:17:10 +01:00
# headers
INCS = -I$(INC_DIR)
2024-11-03 18:34:37 +01:00
2024-11-21 13:17:10 +01:00
# règle par défaut
all: $(OBJ_DIR) $(NAME)
2024-11-03 18:34:37 +01:00
2024-11-21 13:17:10 +01:00
# création du dossier obj s'il n'existe pas
$(OBJ_DIR):
mkdir -p $(OBJ_DIR)
2024-11-03 18:34:37 +01:00
2024-11-21 13:17:10 +01:00
# création de l'exécutable
$(NAME): $(OBJS)
$(CC) $(OBJS) -o $(NAME) $(LDFLAGS)
2024-11-03 18:34:37 +01:00
2024-11-21 13:17:10 +01:00
# compilation des fichiers sources
$(OBJ_DIR)/%.o: $(SRC_DIR)/%.c
$(CC) $(CFLAGS) $(INCS) -c $< -o $@
2024-11-03 18:34:37 +01:00
2024-11-21 13:17:10 +01:00
# nettoyage des fichiers objets
clean:
rm -rf $(OBJ_DIR)
rm -f $(NAME)
2024-11-03 18:34:37 +01:00
2024-11-21 13:17:10 +01:00
# exécution du programme
run: all
./$(NAME)
2024-11-03 18:34:37 +01:00
2024-11-21 13:17:10 +01:00
.PHONY: all clean fclean re run