bonjour, dans un précédent post (cf http://www.developpez.net/forums/vie...php?t=430761), Emmanuel Delahay m'a conseillé de compiler avec les options -Wall -Wextra -O2.

Or il ne reconnait pas l'option -Wextra (option inconue comme message d'erreur). Je vous envoie donc mon Makefile, pourriez vous s'il vous plait me dire votre avis. Merci

PS : il y a bcp de commentaires car je me suis inspiré de ce forum pour faire mon Makefile.

# inspire de http://gl.developpez.com/tutoriel/outil/makefile/

# Quelques variables internes au Makefile
# $@ Le nom de la cible
# $< Le nom de la première dépendance
# $^ La liste des dépendances
# $? La liste des dépendances plus récentes que la cible
# $* Le nom du fichier sans suffixe

# compilateur utilise
CC=gcc #CPP pour le C++ et CC pour le C

# CFLAGS regroupe les options de compilation (Généralement cette variable est nommées CFLAGS pour une compilation en C, CXXFLAGS pour le C++)
# ces options ont ete chopees sur http://www.developpez.net/forums/viewtopic.php?t=418583
#CFLAGS=-Wall -O2 -Wchar-subscripts -Wcomment -Wformat=2 -Wimplicit-int -Werror-implicit-function-declaration -Wmain -Wparentheses -Wsequence-point -Wreturn-type -Wswitch -Wtrigraphs -Wunused -Wuninitialized -Wunknown-pragmas -Wfloat-equal -Wundef -Wshadow -Wpointer-arith -Wbad-function-cast -Wwrite-strings -Wconversion -Wsign-compare -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wmissing-noreturn -Wformat -Wmissing-format-attribute -Wno-deprecated-declarations -Wpacked -Wredundant-decls -Wnested-externs -Winline -Wlong-long

CFLAGS=-Wall -O2 #ici si je mets CFLAGS=-Wall -Wextra -O2 l'option -Wextra n'est pas reconnue

# LDFLAGS regroupe les options de l'édition de liens
LDFLAGS=-Wall -Wextra -O2 -lm

# on inclut tous les headers
INCLUDE_DIR=../include

# EXEC contient le nom des exécutables à générer.
EXEC=out

# Fichiers sources
SRC= $(wildcard ../Fonctions_auxiliaires/*.c) main.c donnees_systeme.c donnees_initiales.c $(wildcard ../CVode/source/*.c)

# Fichiers objets le .c est remplace par un .o
OBJ=$(SRC:.c=.o)

# Regles de compilation:
all: $(EXEC)

out: $(OBJ)
@$(CC) -o $@ $^ $(LDFLAGS)

# Creation des .o à partir des .c qui se verront appelés par défaut.
%.o: %.c
@$(CC) -o $@ -c $< -I$(INCLUDE_DIR) $(CFLAGS)

clean:
rm -rf $(EXEC) $(OBJ) *~