Правила Makefile и операторы If - как?

Я новичок в Makefiles, поэтому, пожалуйста, потерпите меня.

Мне нужно изменить Makefile, чтобы некоторые правила вызывали разные утилиты в зависимости от переменная.

Сейчас правило выглядит так:

ci:
    [shell syntax for tool (A)]

Но теперь мне нужно, чтобы у ci был другой синтаксис в зависимости от переменной. Поэтому я определяю глобальную переменную в верхней части файла:

TOOL = toolA

или

TOOL = toolB

В идеале я бы хотел что-то вроде этого, но , очевидно, это не работает :

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

Кто-нибудь знаете, как лучше всего реализовать нечто подобное?

Спасибо !!

EDIT : Синтаксис инструмента сложнее одной строки. Иногда это несколько строк, а не просто «аргументы toolA и т. Д.». Извините за путаницу!

5
задан RaytheonLiszt 14 June 2011 в 21:52
поделиться