From a0f3c508be0f19899c79fb10837bb517975c08ba Mon Sep 17 00:00:00 2001
From: Pradheep Unnikrishnan <pradheep.unnikrishnan@etu.unistra.fr>
Date: Wed, 20 Mar 2024 06:37:12 +0100
Subject: [PATCH] Plusieurs proposition de makefile mais la Version_2 du
 repertoire makefileAvancee est la plus complete

---
 .../makefileAvancee/Version_1/makefile        |  8 +---
 .../makefileAvancee/Version_2/makefile        | 40 ++++++++++++++++---
 2 files changed, 35 insertions(+), 13 deletions(-)

diff --git a/TP3_SUITE_TP2_CLONE/code_modifie/reorganisation/makefileVersion/makefileAvancee/Version_1/makefile b/TP3_SUITE_TP2_CLONE/code_modifie/reorganisation/makefileVersion/makefileAvancee/Version_1/makefile
index cc9b41b..b83b969 100644
--- a/TP3_SUITE_TP2_CLONE/code_modifie/reorganisation/makefileVersion/makefileAvancee/Version_1/makefile
+++ b/TP3_SUITE_TP2_CLONE/code_modifie/reorganisation/makefileVersion/makefileAvancee/Version_1/makefile
@@ -9,16 +9,10 @@ $(EXEC): $(OBJETS)
 	$(CC) $(CFLAGS) -o $@ $^
 	@echo "\n\033[32mCompilation éxécuté avec succès\033[0m"
 
-main.o: io.h alea.h tri.h tableau.h remplir.h
-io.o: io.h tableau.h
-alea.o: alea.h tableau.h
-tri.o: tri.h tableau.h
-remplir.o: remplir.h tableau.h alea.h
-
 %.o : %.c
 	@echo "\n\033[31m--------------COMPILATION DU PROGRAMME -------------------------------------\033[0m\n"
 	$(CC) $(CFLAGS) -c $<
-
+	
 run: 
 	@echo "\n\033[31m--------------ÉXÉCUTION DU PROGRAMME ---------------------------------------\033[0m\n"
 	./$(EXEC) 10 1000
diff --git a/TP3_SUITE_TP2_CLONE/code_modifie/reorganisation/makefileVersion/makefileAvancee/Version_2/makefile b/TP3_SUITE_TP2_CLONE/code_modifie/reorganisation/makefileVersion/makefileAvancee/Version_2/makefile
index 11b10b5..b047b38 100644
--- a/TP3_SUITE_TP2_CLONE/code_modifie/reorganisation/makefileVersion/makefileAvancee/Version_2/makefile
+++ b/TP3_SUITE_TP2_CLONE/code_modifie/reorganisation/makefileVersion/makefileAvancee/Version_2/makefile
@@ -1,16 +1,20 @@
+BIN_DIR = bin
+SRC_DIR = src
+INCLUDE_DIR = include
+OBJ_DIR = obj
+
 CC = gcc -g
 CFLAGS = -Werror
-OBJETS = main.o io.o alea.o tri.o remplir.o
+OBJETS = main.o io.o alea.o tri.o remplir.o 
 EXEC = main
 
-all : $(EXEC) run clean
+all : $(EXEC) run organisation
+clean : desorganisation cleanRepertoire cleanObjMain
 
 $(EXEC): $(OBJETS)
 	$(CC) $(CFLAGS) -o $@ $^
 	@echo "\n\033[32mCompilation éxécuté avec succès\033[0m"
 
-%.o : %.h
-
 %.o : %.c
 	@echo "\n\033[31m--------------COMPILATION DU PROGRAMME -------------------------------------\033[0m\n"
 	$(CC) $(CFLAGS) -c $<
@@ -20,8 +24,32 @@ run:
 	./$(EXEC) 10 1000
 	@echo "\n\033[32mProgramme éxécuté avec succès\033[0m"
 
+organisation: 
+	@echo "\n\033[31m--------------CRÉATION DE RÉPERTOIRES ORGANISÉS  ----------------------------\033[0m\n"
+	@mkdir -p $(BIN_DIR) $(SRC_DIR) $(INCLUDE_DIR) $(OBJ_DIR)
+	@mv main $(BIN_DIR)
+	@find . -maxdepth 1 -type f -name "*.c" ! -path "./$(SRC_DIR)/*" -exec mv {} $(SRC_DIR)/ \;
+	@find . -maxdepth 1 -type f -name "*.h" ! -path "./$(INCLUDE_DIR)/*" -exec mv {} $(INCLUDE_DIR)/ \;
+	@find . -maxdepth 1 -type f -name "*.o" ! -path "./$(OBJ_DIR)/*" -exec mv {} $(OBJ_DIR)/ \;
+	@echo "\n\033[32mOrganisation des fichiers avec succès\033[0m"
+
+
+# make clean ------------------------------------------------------------------------------------------------
+desorganisation: 
+	@echo "\n\033[31m--------------RESTORATION DES FICHIERS DANS LE REPERTOIRE COURANT ----------\033[0m\n"
+	@mv $(BIN_DIR)/main ./
+	@mv $(SRC_DIR)/*c ./ 
+	@mv $(INCLUDE_DIR)/*h ./ 
+	@mv $(OBJ_DIR)/*o ./ 
+	@echo "\n\033[32mRestoration des fichiers dans le repertoire courant avec succès\033[0m"
+
+
+cleanRepertoire: 
+	@echo "\n\033[31m--------------SUPPRESSION DES RÉPERTOIRES ORGANISÉS  -----------------------\033[0m\n"
+	@rm -r $(BIN_DIR) $(SRC_DIR) $(INCLUDE_DIR) $(OBJ_DIR)*
+	@echo "\n\033[32mSuppression des répertoires d'organisation avec succès\033[0m"
 
-clean:
+cleanObjMain:
 	@echo "\n\033[31m--------------SUPPRESSION DES FICHIERS OBJETS ET DU MAIN -------------------\033[0m\n"
 	rm *.o $(EXEC)
-	@echo "\n\033[32mSuppression du fichier main avec succès\033[0m"
+	@echo "\n\033[32mSuppression des fichiers objets et du main avec succès\033[0m"
-- 
GitLab