Ecrire un makefile

Résolu
Lina -  
 Lina -
Bonjour,


Je suis débutante en C
J'ai écrit ce code source ex1_4.c dans lequel j'utilise la compilation conditionnelle
La constante macro doit être définie dans le makefile



#include <stdio.h>
#include<stdlib.h>
int main()
{
#if HW
printf("hello world 1!\r\n") ;
#else
printf ("hello world 2!\r\n") ;
#endif
return 0;
}


Voici le makefile que j'ai

ex1_4: ex1_4.o
gcc -o ex1_4 ex1_4.o -D HW=0

ex1_4.o: ex1_4.c
gcc -c -O3 ex1_4.c -D HW=0


clean:rm -f *.o core
mrproper: clean
rm -f ex1_4


mon problème c'est que quand je change la valeur de HW à 1 il y a toujours affichage de hello world 2! le résultat ne change pas ;

Je ne sais pas où est le problème

Aidez moi s'il vous plaît

Merciiiiiiiiii d'avance
A voir également:

1 réponse

ghuysmans99 Messages postés 2496 Date d'inscription   Statut Contributeur Dernière intervention   340
 
A mon avis, si tu mets seulement un nom de macro il vérifie son existence, point barre. Essaie ceci :
#if HW=1 
0
Lina
 
oui ghuysmans99 mais je dois attribuer la valeur de HW 0 ou 1 dans le makefile c'est ça le but de l'exercice
0
ghuysmans99 Messages postés 2496 Date d'inscription   Statut Contributeur Dernière intervention   340
 
Ok je comprends ... essaie alors #ifdef TAMACRO
0
Lina
 
merciiiiiiiiiiiiiiiii pour votre aide

voici ça marche bien.



CC=gcc

CFLAGS= -Wall -D HW=0 -pedantic -ansi

PRG=tpPointeurs-ex2
$(PRG): $(PRG).c
clean:-rm -f *~
cleanall:-em -f $(PRG)
0