The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Makefile/awk не могу понять в чём дело"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [ Отслеживать ]

"Makefile/awk не могу понять в чём дело"  
Сообщение от vivo (ok) on 29-Ноя-08, 14:28 
Добрый день!

Буквально только что начал разбираться с синтаксисом make/Makefile и сразу наткнулся на проблему.

Вот синтетический пример для наглядности:

$cat Makefile
TEST_VAR1 := $(shell uname -a | awk '{print $1}')
TEST_VAR2 := $(shell uname -a | cut -d\  -f2)
show:
        @echo "TEST_VAR1: $(TEST_VAR1)"
        @echo "TEST_VAR2: $(TEST_VAR2)"

По идее, значения переменных TEST_VAR1 и TEST_VAR2 должны получаться одинаковыми, потому что будучи выполнеными в командной строке эти конструкции дают один и тот же результат:

$uname -a | awk '{print $2}'
home
$uname -a | cut -d\  -f2
home

Однако:

$make show
TEST_VAR1: Linux home 2.6.24-22-generic #1 SMP Mon Nov 24 18:32:42 UTC 2008 i686 GNU/Linux
TEST_VAR2: home

Т.е. не отрабатывает часть с awk....
Что тут не так?

Спасибо!

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Makefile/awk не могу понять в чём дело"  
Сообщение от phpcoder email(??) on 29-Ноя-08, 14:35 
>Добрый день!
>
>Буквально только что начал разбираться с синтаксисом make/Makefile и сразу наткнулся на
>проблему.
>
>Вот синтетический пример для наглядности:
>
>$cat Makefile
>TEST_VAR1 := $(shell uname -a | awk '{print $1}')
>TEST_VAR2 := $(shell uname -a | cut -d\  -f2)

В первом случае используйте $$1 вместо $1.

Ну и команды у вас разные столбцы выводят -- первый и второй.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Makefile/awk не могу понять в чём дело"  
Сообщение от vivo (ok) on 29-Ноя-08, 15:07 
>В первом случае используйте $$1 вместо $1.
>
>Ну и команды у вас разные столбцы выводят -- первый и второй.
>

Спасибо! Ошибка сразу стала понятна :)
http://www.gnu.org/software/make/manual/html_node/Variables-...

Столбцы действительно разные, прошу прощения, опечатался.

Удачи!

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2020 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру