234 votes

Comment puis-je utiliser la syntaxe bash dans Makefile cibles ?

Je trouve souvent substitution très utile, par exemple de processus de syntaxe, comme dans .

Est-il possible d’utiliser ces commandes bash dans un Makefile ? Je pense à quelque chose comme ceci :

Dans mon 3,80 font de GNU, cela vous donnera une erreur car il utilise le au lieu de pour exécuter les commandes.

431voto

derobert Points 26258

De la documentation GNU Make,

Donc, mettez `` en haut de votre makefile et vous devrait être bon d’aller.

22voto

Chris Lutz Points 34157

Vous pouvez appeler directement, utiliser la pavillon :

Bien sûr, vous ne pourrez pas rediriger vers la variable $@, mais quand j’ai essayé de le faire, je me suis `` comme un message d’erreur, donc vous pouvez examiner la question avant d’entrer trop dans cela (même si je suis en utilisant bash 3.2.something, alors peut-être vôtre fonctionne différemment).

4voto

Menno Smits Points 527

Si la portabilité est importante, vous ne pouvez pas dépendre d’une coque spécifique dans votre Makefile. Pas tous les milieux ont bash disponible.

4voto

paxdiablo Points 341644

Vous pouvez appeler bash directement dans votre Makefile plutôt que d’utiliser le shell par défaut :

Au lieu de :

Ou force à utiliser un shell précis avec soit (export seulement une fois) :

ou :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X