2011-07-19 2 views
5

Dans la recette pour une cible, je veux générer un script bash qui traite des arguments de ligne de commande ... mais le Makefile échapper me échappeMakefile GNU et bash - échapper

cible: deps echo » ./a .out \ "$ @ \" "> wrapper.a.out

Cependant, $ @ a une signification spéciale dans un fichier Makefile GNU qui gâche les choses. Essayé $ @, $$ @ ... rien ne semble fonctionner.

Alors, quelle est la bonne façon de faire cela?

Répondre

5
echo './a.out "[email protected]"' >wrapper.a.out 

Vous devez doubler la $ pour l'obtenir passé make. puis utilisez des guillemets simples dans la commande echo afin que le shell engendré pour exécuter le echo ne développe pas [email protected] lui-même.