53 lines
886 B
Makefile
Executable File
53 lines
886 B
Makefile
Executable File
# le compilateur gcc
|
|
CC = gcc
|
|
|
|
# options de compilation
|
|
CFLAGS = -ansi -pedantic -Wall -Wextra
|
|
LDFLAGS = -lgraph
|
|
|
|
# nom de l'exécutable
|
|
NAME = blocus
|
|
|
|
# dossiers
|
|
SRC_DIR = src
|
|
INC_DIR = include
|
|
OBJ_DIR = obj
|
|
|
|
# sources
|
|
SRCS = $(SRC_DIR)/main.c \
|
|
$(SRC_DIR)/jeu.c \
|
|
$(SRC_DIR)/jeu_humain.c \
|
|
$(SRC_DIR)/jeu_ia.c
|
|
|
|
# objets
|
|
OBJS = $(SRCS:$(SRC_DIR)/%.c=$(OBJ_DIR)/%.o)
|
|
|
|
# headers
|
|
INCS = -I$(INC_DIR)
|
|
|
|
# règle par défaut
|
|
all: $(OBJ_DIR) $(NAME)
|
|
|
|
# création du dossier obj s'il n'existe pas
|
|
$(OBJ_DIR):
|
|
mkdir -p $(OBJ_DIR)
|
|
|
|
# création de l'exécutable
|
|
$(NAME): $(OBJS)
|
|
$(CC) $(OBJS) -o $(NAME) $(LDFLAGS)
|
|
|
|
# compilation des fichiers sources
|
|
$(OBJ_DIR)/%.o: $(SRC_DIR)/%.c
|
|
$(CC) $(CFLAGS) $(INCS) -c $< -o $@
|
|
|
|
# nettoyage des fichiers objets
|
|
clean:
|
|
rm -rf $(OBJ_DIR)
|
|
rm -f $(NAME)
|
|
|
|
# exécution du programme
|
|
run: all
|
|
./$(NAME)
|
|
|
|
.PHONY: all clean fclean re run
|