Ajout du makefile

This commit is contained in:
2024-11-21 13:17:10 +01:00
parent 489dd5ef27
commit 09c829ea82
5 changed files with 50 additions and 39 deletions

View File

@@ -1,47 +1,58 @@
# CHAPITRE 1 : BUT FINAL # le compilateur gcc
but : blocus
# CHAPITRE 2 : VARIABLES
OFILES = main.o \
grid.o \
player.o \
game.o \
ai.o \
menu.o
CC = gcc CC = gcc
CFLAGS = -Wall -ansi -pedantic -g -lgraph # options de compilation
CFLAGS = -Wall -Wextra -Werror
LDFLAGS = -lgraph
# CHAPITRE 3 : DEPENDANCES (REGLES IMPLICITES) # nom de l'exécutable
NAME = blokus
main.o : main.h grid.h player.h game.h ai.h menu.h # dossiers
SRC_DIR = src
INC_DIR = include
OBJ_DIR = obj
grid.o : grid.h player.h struct.h # sources
SRCS = $(SRC_DIR)/main.c \
$(SRC_DIR)/jeu.c \
$(SRC_DIR)/jeu_humain.c \
$(SRC_DIR)/jeu_ia.c
player.o : player.h grid.h struct.h # objets
OBJS = $(SRCS:$(SRC_DIR)/%.c=$(OBJ_DIR)/%.o)
game.o : game.h grid.h player.h struct.h # headers
INCS = -I$(INC_DIR)
ai.o : ai.h game.h grid.h player.h struct.h # règle par défaut
all: $(OBJ_DIR) $(NAME)
menu.o : menu.h # création du dossier obj s'il n'existe pas
$(OBJ_DIR):
mkdir -p $(OBJ_DIR)
# CHAPITRE 4 : DEPENDANCES AVEC COMMANDES # création de l'exécutable
$(NAME): $(OBJS)
$(CC) $(OBJS) -o $(NAME) $(LDFLAGS)
blocus : $(OFILES) # compilation des fichiers sources
$(CC) $(CFLAGS) -o blocus $(OFILES) $(OBJ_DIR)/%.o: $(SRC_DIR)/%.c
$(CC) $(CFLAGS) $(INCS) -c $< -o $@
# CHAPITRE 5 : NETTOYAGE DES FICHIERS GENERES # nettoyage des fichiers objets
clean:
rm -rf $(OBJ_DIR)
clean : # nettoyage complet (fichiers objets et exécutable)
-rm -f $(OFILES) blocus fclean: clean
rm -f $(NAME)
# CHAPITRE 6 : BUTS FACTICES # recompilation complète
re: fclean all
.PHONY : but clean # exécution du programme
run: all
./$(NAME)
run : .PHONY: all clean fclean re run
./blocus

View File

@@ -2,7 +2,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include <graph.h> #include <graph.h>
#include "jeu.h" #include "../include/jeu.h"
/* Fonction qui initialise le jeu */ /* Fonction qui initialise le jeu */
struct EtatJeu initialiserJeu(int tailleGrille, int mode) { struct EtatJeu initialiserJeu(int tailleGrille, int mode) {

View File

@@ -3,8 +3,8 @@
#include <stdlib.h> /* Pour utiliser malloc() */ #include <stdlib.h> /* Pour utiliser malloc() */
#include <graph.h> /* Pour utiliser les fonctions graphiques */ #include <graph.h> /* Pour utiliser les fonctions graphiques */
#include <unistd.h> /* Pour utiliser usleep */ #include <unistd.h> /* Pour utiliser usleep */
#include "jeu.h" /* Pour utiliser les structures et les fonctions du jeu */ #include "../include/jeu.h" /* Pour utiliser les structures et les fonctions du jeu */
#include "jeu_humain.h" /* Pour utiliser les fonctions de jeu_humain */ #include "../include/jeu_humain.h" /* Pour utiliser les fonctions de jeu_humain */
void jouerModeHumain(struct EtatJeu *etatJeu) { void jouerModeHumain(struct EtatJeu *etatJeu) {
while (1) { while (1) {

View File

@@ -3,8 +3,8 @@
#include <stdlib.h> #include <stdlib.h>
#include <graph.h> #include <graph.h>
#include <unistd.h> #include <unistd.h>
#include "jeu.h" #include "../include/jeu.h"
#include "jeu_ia.h" #include "../include/jeu_ia.h"
/* Fonction qui permet de jouer avec l'IA */ /* Fonction qui permet de jouer avec l'IA */
void jouerModeIA(struct EtatJeu *etatJeu) { void jouerModeIA(struct EtatJeu *etatJeu) {

View File

@@ -4,9 +4,9 @@
#include <graph.h> #include <graph.h>
#include <unistd.h> #include <unistd.h>
#include <time.h> #include <time.h>
#include "jeu.h" #include "../include/jeu.h"
#include "jeu_humain.h" #include "../include/jeu_humain.h"
#include "jeu_ia.h" #include "../include/jeu_ia.h"
/* fonction qui gère tout le menu du jeu avec les boutons et tout */ /* fonction qui gère tout le menu du jeu avec les boutons et tout */
void menuPrincipale() { void menuPrincipale() {