Условные операторы в зависимости от успешной компиляции в Makefile - PullRequest
1 голос
/ 05 сентября 2011

Для make-файла я пытаюсь заставить его запустить блок кода в случае успешной компиляции, или в противном случае блок else.

Я пробовал что-то подобное

default:
ifeq ($(gcc -obuild main.c), 0)
    echo "successful"
else
    echo "you fail lol"
endif

Но я не могу оценить команду компиляции, так как мой код подсказывает, что я хочу.Я думал, что это может работать как Bash, но кажется, что нет, или я что-то упускаю, чего я не знаю.

Как я могу выполнить эту задачу?

1 Ответ

3 голосов
/ 05 сентября 2011

Делайте это с оболочкой, а не с Make:

default:
    if gcc -obuild main.c  ; then \                                        
echo "sucessful" ; \
else echo "you fail" ; fi

Обратите внимание, что только первая строка команд (if...) начинается с табуляции.

...