GNU делает область видимости переменной - PullRequest
1 голос
/ 10 октября 2010

У меня есть какой-то make-файл:

$(PROGRAM_NAME): index.o
    @echo "linking"
    @echo $(index_o)
    //linking

export index_o:=.
index.o:
    $(MAKE) -C some_dir index.o

в make-файле some_dir

export index_o:=$(index_o)/index.o
index.o:
    @echo "compiling"
    @echo $(index_o)
    //compiling

Выход:

компилирование ./index.o соединение .

нужен вывод:

компилирование ./index.o соединение ./index.o

Как передать изменения переменной родительскому потоку make? Может быть, мне нужна настоящая глобальная переменная ... Я прочитал http://www.gnu.org/software/automake/manual/make/Recursion.html но не найдено

1 Ответ

2 голосов
/ 10 октября 2010

Вы не можете вернуть переменную в родительские процессы.

Возможно, вас заинтересует чтение Рекурсивное создание, считающееся вредным . Коротко-короткая версия: рекурсия не нужна для управления большими сборками и вызывает проблемы.

...