Définir la variable CFLAGS

OS: Debian Lenny

Bonjour à tous,

Voilà, je désirerai savoir si il est possible de définir une bonne foi pour toutes la variable “CFLAGS”? j’entend par là, qu’elle soit reprise automatiquement quel que soit ce que je désire compiler.

Après maintes recherches, voilà ce que j’ai trouvé ceci:

et

CFLAGS="-march=core2 -mtune=core2 -O2 -pipe"à mettre dans le dit fichier.
core2 parce que j’ai un dual core2 :open_mouth: -02 = choix d’optimisation de vitesse et -pipe, ben j’ai oublié de le noter… oops! :blush:

Mais aussi:

Perso, n’étant pas dévellopeur, je me dit que c’est plus cohérant de la définir une seule foi. Et /etc/make.conf me semble juste. Mais comme j’ai lû qu’il fallait la définir dans le debian/rules… Je ne sais pas trop quelle est la bonne(propre) façon de procéder.

Eventuellement si qqu’un à d’autres paramètres utiles à définir dans “CFLAGS” que je pourrais réutiliser, ils sont les bienvenus.

Merci d’avance,

Debcool

/etc/make.conf ? C’est pas pour gentoo ça ?

C’est bien possible. Ce n’est plus très frais dans mon esprit. Je n’y ai plus touché depuis un moment et je n’ai pas encore relû tout ce que j’avais trouvé en sont temps.

Mais, j’imagine que si c’est comme ça que l’on fait sous Gentoo, il doit bien y avoir un équivalent sous Debian.

Personne? Un indice, une suggestion?

A+

tu veux dire pour compiler quoi au juste, tes propres programmes ou des archives sources que tu aurais besoin de compiler ?

Car si c’est tes propres programmes, tu spécifie toujours la variable cflags dans un makefile.

Sous gentoo c’est différent puisque on peut spécifier cette variable pour compiler les sources, vu que c’est une distrib où on compile tous les paquets qu’on installe.

make.conf sous gentoo sert justement à spécifier des option pour optimiser la compilation.

Mais à vrai dire sous debian il n’y a pas d’intérêt si tu utilises la méthode standard à savoir les paquets .deb.

Et si tu compile des sources sous debian en général tu utilise le makefile des sources donc le cflags est déja écrit par les dev de l’appli.

Après y a peut être une méthode pour mettre des options par défaut (concernant l’architecture du proc toussa) mais j’en sais pas plus dsl :wink:

L’idée de départ, c’est justement de ne pas devoir systèmatiquement aller à la main mettre ces valeurs dans un makefile, quel qu’il soit. Bref, la définir une bonne foi pour toute.

Second but, l’optimisation. Je ne voit pas trop l’intèrrèt(dans mon cas) de compiler si ce n’est pas pour optimiser le résultat pour mon matos.

Quant à l’utilité:

compil de kernel et d’applis pour test.

Merci & à +

tu peux directement déclarer cette variable comme une variable d’environnement dans ton shell, même dans ton .bashrc pour être tranquille.
Et faire un export de cette variable pourqu’elle soit toujours définie lors de la création d’un nouvel environnement.

Le truc c’est que si elle est redéfinie dans un makefile ça ne fonctionnera plus. C’est seulement si tu veux l’utiliser pour tous tes programmes que toi tu crées.

Ok, c’est déjà plus clair. J’avais bien penser à cette solution sans être sûr. Quoi qu’il en soit, je devrait quand même aller jetter un oeuil, histoire de voir si rien n’écraseras mes paramètres.

Sais tu à quoi sert le “-pipe”, j’ai farfouillé dans mes docs mais je ne l’ai pas encore retrouvée.

Merci pour ton aide,

Debcool :smt006

-pipe compile sans créer de fichiers temporaires.

Dès cas connus où cette option serait à eviter ou inutile?

Merci,

Debcool

[quote=“man gcc”]-pipe
Utiliser des tubes plutot que des fichiers temporaires pour la communication entre les différentes phases de la compilation. Ceci ne marche pas sur certains systèmes où l’assembleur ne peut lire à partir d’un tube; mais l’assembleur GNU n’a aucun problème. [/quote]

Thanks!

Debcool