OVH Cloud OVH Cloud

Utilisation de make et g++

2 réponses
Avatar
Salut
Bonjour,

J'essaye de faire un fichier makefile pour cpp.
le fichier marche correctement pour c mais pas pour cpp

fichier makefile :
CC = g++

CFLAGS = -g3 -O3 -L/usr/X11R6/lib -lX11 -Wno-deprecated
OBJ1 = essai.o
#OBJECTS = $(OBJ1)

ESSAI: $(OBJ1)
$(CC) $(OBJ1) -o ESSAI $(CFLAGS)

#dependance
essai.o : conf.h

#fin de fichier

le problème est que pour la compilation make lance :
g++ -c -o essai.o essai.cpp
et ne rajoute pas les flags !!
Ces flags ne sont rajouter que pour le link


si j'ai un fichier essai.c ca marche correctement :
g++ -g3 -O3 -L/usr/X11R6/lib -lX11 -Wno-deprecated -c -o essai.c essai.c

2 réponses

Avatar
Matthieu Moy
"Salut" writes:

#dependance
essai.o : conf.h


Si tu ne donnes pas de règle pour essai.o, make va utiliser une règle
implicite (qui n'utilise pas CFLAGS, mais quelque chose comme
CPPFLAGS). Tu devrais rajouter quelque chose comme

%.o: %.c
$(CC) $(CFLAGS) -c $< -o $@

Quelque part dans ton Makefile.

[ Par ailleurs, ta question est hors sujet ici ]

--
Matthieu

Avatar
Salut
OK merci,
je me suis rabattu sur fr.comp.lang.c++ parce que je ne savais pas ou me
renseigner exactement !


"Matthieu Moy" a écrit dans le message
de news:
"Salut" writes:

#dependance
essai.o : conf.h


Si tu ne donnes pas de règle pour essai.o, make va utiliser une règle
implicite (qui n'utilise pas CFLAGS, mais quelque chose comme
CPPFLAGS). Tu devrais rajouter quelque chose comme

%.o: %.c
$(CC) $(CFLAGS) -c $< -o $@

Quelque part dans ton Makefile.

[ Par ailleurs, ta question est hors sujet ici ]

--
Matthieu