# CC : le compilateur à utiliser CC=clang # CFLAGS : les options de compilation CFLAGS=-Wall # Les fichiers sources : tous les fichiers présents dans src/ SRC=$(wildcard src/*.c) # Les fichiers objets (.o) OBJ=$(patsubst src/%.c,obj/%.o,$(SRC)) # Le répertoire où sera générée la documentation Doxygen DOXYGEN_OUTPUT_DIR=docs # Édition des liens : génération de l'exécutable à partir des .o bin/exe: $(OBJ) $(CC) $(OBJ) -o $@ # Génération des .o à partir des .c correspondants obj/%.o: src/%.c $(CC) $(CFLAGS) -c $< -o $@ # Génération de la documentation Doxygen doxygen: doxygen Doxyfile # Exécution du programme avec Valgrind valgrind: bin/exe valgrind --leak-check=full ./bin/exe # Nettoyage : destruction des .o, de l'exécutable et de la documentation clean: rm -rf obj/*.o bin/exe $(DOXYGEN_OUTPUT_DIR)