web-dev-qa-db-fra.com

Make GNU make use a different compiler

Comment puis-je faire GNU Faire utiliser un compilateur différent sans éditer manuellement le makefile?

46
Clark Gaebel

Vous devriez pouvoir faire quelque chose comme ceci:

make CC=my_compiler

Cela suppose que celui qui a écrit le Makefile a utilisé la variable CC.

72
jonescb

Vous pouvez définir les variables d'environnement CC et CXX, qui sont utilisées pour compiler les fichiers C et C++ respectivement. Par défaut, ils utilisent les valeurs cc et g++

24
Michael Mrozek

Si le makefile est écrit comme la plupart des makefiles, alors il utilise $(CC) lorsqu'il souhaite invoquer le compilateur C. C'est ce que font les règles intégrées, de toute façon. Si vous spécifiez une valeur différente pour cette variable, Make l'utilisera à la place. Vous pouvez fournir une nouvelle valeur sur la ligne de commande:

 make CC =/usr/bin/special-cc 

Vous pouvez également spécifier que lorsque vous exécutez configure:

 ./ configurez CC =/usr/bin/special-cc 

Le script de configuration incorporera la nouvelle valeur CC dans le makefile qu'il génère, vous n'avez donc pas besoin de manuellement le modifier, et vous pouvez simplement exécuter make par lui-même par la suite (au lieu de donner à chaque fois la valeur personnalisée CC sur la ligne de commande).

17
Rob Kennedy

De nombreux makefiles utilisent 'CC' pour définir le compilateur. Si tel est le cas, vous pouvez remplacer cette variable avec

make CC='/usr/bin/gcc'
6
ladenedge

Utilisez des variables pour le nom du programme du compilateur.
Passez la nouvelle définition à l'utilitaire make ou définissez-la dans l'environnement avant de la créer.

Voir tilisation de variables dans Make

1
Thomas Matthews