Makefile: как использовать вывод команды в качестве имени цели? - PullRequest
0 голосов
/ 29 января 2011

У меня есть следующий Makefile:

:PHONY Darwin Xcode Linux Cygwin

all: `uname`

Cygwin:
    echo "Making Cygwin"
    Scripts/Make/MakeCygwin.sh  

Linux:
    echo "Making Linux"
    Scripts/Make/MakeLinux.sh

Darwin:
    echo "Making Darwin"
    Scripts/Make/MakeDarwin.sh

Xcode:
    echo "Making Xcode"
    Scripts/Make/MakeXcode.sh

Однако он не работает:

$ make
make: *** No rule to make target ``uname`', needed by `all'.  Stop.

Оказывается, команда uname не выполнена.Кто-нибудь знает, как заставить это работать?

Ответы [ 2 ]

1 голос
/ 29 января 2011

Расширения функций GNU make позволяют использовать $ (shell uname).

1 голос
/ 29 января 2011

Примерно так должно работать:

UNAME=$(shell uname)

all: ${UNAME}

Вы можете найти больше полезных функций здесь: http://www.jfranken.de/homepages/johannes/vortraege/make_inhalt.en.html#ToC11

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...