Newer
Older

Pradheep Unnikrishnan
committed
BIN_DIR = bin
SRC_DIR = src
INCLUDE_DIR = include
OBJ_DIR = obj

Pradheep Unnikrishnan
committed
CC = gcc -g
CFLAGS = -Werror

Pradheep Unnikrishnan
committed
OBJETS = main.o io.o alea.o tri.o remplir.o

Pradheep Unnikrishnan
committed
EXEC = main

Pradheep Unnikrishnan
committed

Pradheep Unnikrishnan
committed
all : $(EXEC) run organisation
clean : desorganisation cleanRepertoire cleanObjMain

Pradheep Unnikrishnan
committed
$(EXEC): $(OBJETS)
$(CC) $(CFLAGS) -o $@ $^
@echo "\n\033[32mCompilation éxécuté avec succès\033[0m"

Pradheep Unnikrishnan
committed

Pradheep Unnikrishnan
committed
%.o : %.c
@echo "\n\033[31m--------------COMPILATION DU PROGRAMME -------------------------------------\033[0m\n"

Pradheep Unnikrishnan
committed
$(CC) $(CFLAGS) -c $<

Pradheep Unnikrishnan
committed
run:
@echo "\n\033[31m--------------ÉXÉCUTION DU PROGRAMME ---------------------------------------\033[0m\n"

Pradheep Unnikrishnan
committed
./$(EXEC) 10 1000
@echo "\n\033[32mProgramme éxécuté avec succès\033[0m"

Pradheep Unnikrishnan
committed
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"

Pradheep Unnikrishnan
committed

Pradheep Unnikrishnan
committed
cleanObjMain:
@echo "\n\033[31m--------------SUPPRESSION DES FICHIERS OBJETS ET DU MAIN -------------------\033[0m\n"

Pradheep Unnikrishnan
committed
rm *.o $(EXEC)

Pradheep Unnikrishnan
committed
@echo "\n\033[32mSuppression des fichiers objets et du main avec succès\033[0m"