diff --git a/projet E2/Makefile b/projet E2/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..fb8fbc1d5dc790b24e0eda7ff05caccb2ef15728 --- /dev/null +++ b/projet E2/Makefile @@ -0,0 +1,80 @@ +CC = gcc +MAIN = main.c +N_THREADS = 4 + + +#compile le code qui remplit l'output avec tous les diviseurs premiers, l'exécute +#et affiche le contenu de l'output (utilisation de -Werror, et -Wall) +erreur_prog :$(MAIN) input.txt output.txt + $(CC) $(MAIN) prime_divs.c -Wall -Werror -o fact -std=c99 -lm -lpthread + ./fact -N $(N_THREADS) input.txt output.txt + @cat output.txt + +#compile et exécute +prog : fact + ./fact -N $(N_THREADS) input.txt output.txt + +############################################################################ + +#produit l'exécutable fact +fact : $(MAIN) input.txt output.txt + $(CC) $(MAIN) prime_divs.c -o fact -std=c99 -lm -lpthread + +#compile et exécute les tests (uniquement pour la fonction prime_divs) +test : fact + $(CC) test.c prime_divs.c -o tests -std=c99 -lm -lcunit -I${HOME}/local/include -L${HOME}/local/lib + ./tests + + +#supprime les dossiers créés suite à la commande fact +clean : + @#il faut juste mettre -f + rm -f tests + rm -f CUnitAutomated-Results.xml + rm -f fact +############################################################################ + + +#pour jenkins +jenkins : test + +#debug avec gdb, pas encore fonctionnel +debug : $(MAIN) input.txt output.txt + $(CC) -g $(MAIN) prime_divs.c -o fact -lm + + gdb -q ./fact + # à noter: + #(gdb): set args 4 input.txt output.txt + #(gdb): display varaible à observer + #(gdb): run + +#compile et exécute avec Valgrind +valgrind : $(MAIN) input.txt output.txt + $(CC) $(MAIN) prime_divs.c -Wall -Werror -o fact -lm -lpthread + valgrind --leak-check=full -s ./fact $(N_THREADS) input.txt output.txt + +#pour pusher sur GitLab +fast_com : clean + git add Makefile + git add *.c + git add *.txt + git add *.h + git commit -m "fast_com default message" + git push + +#idem +com : clean + git add Makefile + git add *.c + git add *.txt + git add *.h + git commit -m " com default message" + git pull + git push + +#supprime les fichiers ccréés suite à la commande test + +suppr_test : + rm tests + rm CUnitAutomated-Results.xml + rm fact