Вопросы с тегом «gnu-make»

Этот тег предназначен для вопросов о gmake, GNU-версии утилиты make для обслуживания и обновления программ.

766
В чем разница между присваиванием переменных в Makefile GNU =,? =,: = И + =?

Кто-нибудь может дать четкое объяснение того, как на самом деле работает назначение переменных в Makefiles. В чем разница между : VARIABLE = value VARIABLE ?= value VARIABLE := value VARIABLE += value Я прочитал раздел в руководстве по GNU Make, но он все еще не имеет смысла для...

281
Использование CMake с GNU Make: Как я могу увидеть точные команды?

Я использую CMake с GNU Make и хотел бы видеть все команды точно (например, как выполняется компилятор, все флаги и т. Д.). GNU make имеет --debug, но, похоже, это не очень полезно, есть ли другие варианты? Предоставляет ли CMake дополнительные флаги в сгенерированном Makefile для...

247
Как распечатать переменную в make-файле

В моем make-файле у меня есть переменная 'NDK_PROJECT_PATH', мой вопрос, как я могу распечатать его, когда он компилируется? Я прочитал Make file echo с отображением строки "$ PATH" и попытался: @echo $(NDK_PROJECT_PATH) @echo $(value NDK_PROJECT_PATH) Оба дает мне "build-local.mk:102: *** missing...

209
Определить переменную make во время выполнения правила

В моем GNUmakefile я хотел бы иметь правило, которое использует временный каталог. Например: out.tar: TMP := $(shell mktemp -d) echo hi $(TMP)/hi.txt tar -C $(TMP) cf $@ . rm -rf $(TMP) Как написано выше, указанное выше правило создает временный каталог во время его анализа . Это означает, что,...

202
Как получить текущий относительный каталог вашего Makefile?

У меня есть несколько файлов Makefile в определенных каталогах приложений, например: /project1/apps/app_typeA/Makefile /project1/apps/app_typeB/Makefile /project1/apps/app_typeC/Makefile Каждый Makefile включает в себя файл .inc по этому пути на один уровень выше: /project1/apps/app_rules.inc...

202
Как вы получаете список целей в make-файле?

Я немного использовал rake (программу Ruby make), и у нее есть возможность получить список всех доступных целей, например > rake --tasks rake db:charset # retrieve the charset for your data... rake db:collation # retrieve the collation for your da... rake db:create # Creates the databases...

175
Как я могу настроить свой make-файл для отладочных и релизных сборок?

У меня есть следующий make-файл для моего проекта, и я хотел бы настроить его для выпуска и отладки. В моем коде у меня много #ifdef DEBUGмакросов, так что просто нужно установить этот макрос и добавить -g3 -gdwarf2флаги в компиляторы. Как я могу это сделать? $(CC) = g++ -g3 -gdwarf2 $(cc) = gcc...

172
Что делают @, - и + как префиксы для строк рецепта в Make?

В руководстве по сборке GNU Makefile упоминаются эти префиксы. Если указан .ONESHELL, то только первая строка рецепта будет проверяться на наличие специальных префиксных символов ('@', '-' и '+'). Что делают эти префиксы и где они...

127
В чем разница между gmake и make?

Я пытаюсь понять разницу между gmake и make? На моем Linux-сервере они идентичны: % gmake --version GNU Make 3.81 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A...

127
Как установить и использовать make в Windows?

Я следую инструкциям человека, репозиторий которого я клонировал на свою машину. Я хочу просто: иметь возможность использовать makeкоманду как часть настройки среды кода. Но я использую Windows и поискал в Интернете только файл make.exe для загрузки, make-4.1.tar.gzфайл для загрузки (я не знаю, что...

125
Как вызвать Makefile из другого Makefile?

Я получаю неожиданные результаты, вызывая один make-файл из другого. У меня есть два make-файла, один вызываемый, /path/to/project/makefileа другой вызываемый /path/to/project/gtest-1.4.0/make/Makefile. Я пытаюсь сделать так, чтобы первое называлось вторым. В / path / to / project / makefile у меня...

115
Проверьте, существует ли программа из Makefile

Как я могу проверить, можно ли вызвать программу из Makefile? (То есть программа должна существовать в пути или иным образом быть вызываемой.) Его можно использовать, например, для проверки того, какой компилятор установлен. Например, что-то вроде этого вопроса , но без предположения, что базовая...

100
Список целей / задач в GNU make, которые содержат переменные в своем определении

У меня есть довольно большой make-файл, который на лету создает несколько целей, вычисляя имена из переменных. (например, foo $ (VAR): $ (PREREQS)). Есть ли способ убедить gnu make выдать список целей после расширения этих переменных? Я хотел бы иметь возможность получать цели для произвольного...

96
Как использовать GNU Make в Windows?

Я установил MinGW и MSYS, добавил C:\MinGW\binк , PATHно я до сих пор не могу запустить make - файл на Windows , cmd. Я хотел бы запустить cmd.exe и там набрать, например, make allно мой cmd говорит, что такой команды нет. Что я должен делать? Я не хочу использовать оболочку MSYS, дело не в этом....

93
Рекурсивные символы подстановки в GNU make?

Прошло много времени с тех пор, как я использовал make, так что терпите меня ... У меня есть каталог flac, содержащий файлы .FLAC. У меня есть соответствующий каталог, mp3содержащий файлы MP3. Если файл FLAC новее, чем соответствующий файл MP3 (или соответствующий файл MP3 не существует), я хочу...

88
Экранирование в make-файле

Я пытаюсь сделать это в make-файле, и это ужасно терпит неудачу: M_ARCH := $(shell g++ -dumpmachine | awk '{split($1,a,"-");print a[1]}') ты знаешь почему? Думаю, это связано с побегом, но что и где?...