Makefile Règles et Si les États — Comment?

Je suis nouveau sur Makefiles, de sorte s'il vous plaît garder avec moi.

J'ai besoin de modifier un fichier Makefile de sorte que certaines règles appel à des utilitaires en fonction d'une variable.

Droit maintenant, une règle ressemble:

ci:
    [shell syntax for tool (A)]

Mais maintenant j'ai besoin de ci ont une syntaxe différente en fonction de la variable. J'ai donc définir une variable globale dans le haut du fichier:

TOOL = toolA

ou

TOOL = toolB

Idéalement ce que j'aimerais c'est quelque chose comme cela, mais évidemment, il ne fonctionne pas:

ifeq ($TOOL, toolA)
    ci:
        [syntax for tool (A)]
else
    ci:
        [syntax for tool (B)
endif

Personne ne sait la meilleure façon de mettre en œuvre quelque chose comme cela?

Merci!!

MODIFIER: La syntaxe de l'outil est plus compliquée que celle de la ligne. Parfois, de ses multiples lignes, et pas seulement "toolA args etc etc". Désolé pour la confusion!

Envisager de mettre en œuvre un outil neutre (coquille?) script qui dit (par un argument ou d'autres moyens) de quoi faire, et de l'utiliser de manière inconditionnelle.
C'est ce que j'ai pensé au début, mais je voulais le faire sans porter en dehors des scripts. Peut avoir recours à si je ne peux pas obtenir que cela fonctionne. Merci bien!

OriginalL'auteur RaytheonLiszt | 2011-06-14