Makefile et définition d'une constante

Makefile et définition d'une constante - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 30-09-2004 à 18:58:23    

Bonjour,
 
Voila, je suis depuis peu dans le monde unix, et je suis entrain de réaliser une application en C++. Donc bien évidement j'utilise le meirveilleux outil qu'est le make.
 
Un ami m'a donné un makefile qui marche relativement bien et qui est simple a mettre a jour:
 

Code :
  1. TARGET=requete
  2. OBJECTS= main.o CSql.o //tous mes fichiers .o a construire
  3. CFLAGS= -O2 -Wall -g -lmysqlclient
  4. CC= g++
  5. all: $(TARGET)
  6. $(TARGET): $(OBJECTS)
  7. $(CC) $(CFLAGS) -o $@ $^
  8. .PHONY: clean
  9. clean:
  10. rm -rf *.o


 
Mais je voudrais qu'il compile tous mes fichiers .o en definissant la constante DEBUG. donc il me faut rajouter -DDEBUG quelquepart surement mais j'ai essaye un peu partout et invariablement dans mes fichiers cpp, la constante DEBUG n'est pas definie.
 

Code :
  1. #ifdef DEBUG
  2. printf("MODE DEBUG!\n" );
  3. #else
  4. printf("MODE NORMAL!\n" );
  5. #endif


affiche irremediablement MODE NORMAL!
 
Vous auriez pas une ch'tite idee ?
 
Merci d'avance

Reply

Marsh Posté le 30-09-2004 à 18:58:23   

Reply

Marsh Posté le 30-09-2004 à 21:47:08    

up !
une petite idee ?

Reply

Marsh Posté le 30-09-2004 à 22:04:12    

CC=g++ -DDEBUG
Edit:
CFLAGS= -O2 -Wall -g -lmysqlclient -DDEBUG


Message édité par freyr le 30-09-2004 à 22:05:05

---------------
Dommage :-) | chess games
Reply

Marsh Posté le 30-09-2004 à 22:17:56    

bin j'ai teste ca mais le flag est ajouté seulement au moment du linkage. Mais tous les points o sont compilés avec la commande
g++    -c -o main.o main.cpp
et le c++ ne semble pas voir que cette constante est definie

Reply

Marsh Posté le 06-10-2004 à 11:52:57    

CPPFLAGS
la compilation des cpp est gérée par une règle par défault que tu as pas redefinie

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed