makefile sous linux comment ca marche ? - C++ - Programmation
Marsh Posté le 21-05-2003 à 10:28:25
je sais pas mais tu peux faire
#ifdef DEBUG dans ton source pour le debug
?t #ifddef DEBUG pour realase
et compilé avec gcc -D DEBUG pour le debug
Marsh Posté le 21-05-2003 à 10:44:58
Pour definir un symbole du preprocesseur a partir du makefile, il faut utiliser l'option -D de gcc comme ceci :
gcc -DDEBUG fichier.c
Sinon, pour ce que tu veux faire avec differentes archi et autres, je ne saurais que te conseiller de te trouver une bonne doc sur le make de GNU, ou sans doute mieux, d'utiliser automake/autoconf.
Marsh Posté le 21-05-2003 à 10:59:13
ok l option -D je ne la connaissais pas . -D_DEBUG ca marche ? (mais suis je bete , je vais essayer )
Marsh Posté le 21-05-2003 à 11:29:33
je n ai pas trouvé de doc concernant la structure du fichier makefile (les sites sur google sont tres pauvres, il disent tous la meme chose et rien d interessant)
Ce que je voudrais faire , c pouvoir affecter une valeur a une variable selon la cible :
ex :
Code :
|
mais ca ca marche pas... apparemment on ne peut pas affecter de variable dans une cible. Quelqu un voit comment faire ?
merci
Marsh Posté le 21-05-2003 à 15:12:49
aucune idée,
mais tu as essayé de regarder la page de manuel de make? la structure du makefile est décrite il me semble
Marsh Posté le 21-05-2003 à 15:57:48
non elle n est pas decrite, ils disent deregarder dans make.info et je n ai pas ce fichier... pas grave je me debrouillerai autrement merci
Marsh Posté le 22-05-2003 à 10:50:14
essaye ca
Code :
|
Marsh Posté le 11-03-2011 à 12:30:42
Bonjour,
Une fois que le makefile est fait, que faut-il taper dans le terminal pour exécuter le programme ?
est-ce que c'est :
make
./main.c
Merci de votre aide.
Marsh Posté le 11-03-2011 à 16:00:50
cricket18 a écrit : Bonjour, |
make tout court. Dans ton make, tu a précisé le target de la compilation : ./TARGET et hop, ça roule.
Marsh Posté le 21-03-2011 à 07:31:02
Si par defaut (et c'est conseille) ton make compile avec les flags de debug, ton makefile doit etre
|
Et tu fais "make", "make all" ou "make debug" pour compiler en debug. "make release" pour compiler sans les flags de debug.
Sinon, peu de mon utilise encore les makefiles a la main. Regarde plutot du cote de cmake, c'est assez magique : http://florian-goujeon.developpez. [...] nitiation/
Marsh Posté le 21-05-2003 à 08:49:28
salut,
je ne manipule pas bien le makefile donc j ai quelques petites questions :
peut on specifier dans un makefile une option de compilation permettant d inserer un #define dans le code, car sous windows le #define _WIN32 existe grace au compilateur mais sous linux je ne sais pas si un tel #define existe ( j ai essayé _LINUX mais apparemment ca existe pas)
est il egalement possible de faire la chose suivante :
make debug -> me compile avec un #define _DEBUG
make release -> me compile avec un #define _RELEASE
Enfin , comment faire pour specifier le compilateur pour tel ou tel processeur dans le makefile :
actuellement, selon la plateforme sur laquelle je suis, j edite mon makefile pour changer le compilateur. Mais j aimerai faire :
make arm -> pour compiler mon prog avec le cross compilateur arm
make i386 pour compiler avec gcc .
merci de vos reponses