Skip to content
Snippets Groups Projects
makefile 2.09 KiB
Newer Older
BIN_DIR = bin
SRC_DIR = src
INCLUDE_DIR = include
OBJ_DIR = obj

OBJETS = main.o io.o alea.o tri.o remplir.o 
all : $(EXEC) run organisation
clean : desorganisation cleanRepertoire cleanObjMain
	@echo "\n\033[32mCompilation éxécuté avec succès\033[0m"
	@echo "\n\033[31m--------------COMPILATION DU PROGRAMME -------------------------------------\033[0m\n"
	@echo "\n\033[31m--------------ÉXÉCUTION DU PROGRAMME ---------------------------------------\033[0m\n"
	@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"
	@echo "\n\033[31m--------------SUPPRESSION DES FICHIERS OBJETS ET DU MAIN -------------------\033[0m\n"
	@echo "\n\033[32mSuppression des fichiers objets et du main avec succès\033[0m"