Spec-Zone.ru › GNU Make

Краткое описание опций

В этой таблице перечислены все опции, которые make понимает:

‘-b’
‘-m’

Эти параметры игнорируются для совместимости с другими версиями make.

‘-B’
‘--always-make’

Считать все целевые файлы устаревшими. GNU make продолжает проверять целевые файлы и их предшественники с помощью обычных алгоритмов; однако, все целевые файлы, которые рассматриваются, всегда пересоздаются независимо от статуса их предшественников. Чтобы избежать бесконечной рекурсии, если MAKE_RESTARTS (см. Другие специальные переменные) установлено в число больше 0, этот параметр отключается при рассмотрении вопроса о пересоздании файлов makefile (см. Как пересоздаются файлы Makefiles).

‘-C dir’
‘--directory=dir’

Перейти в директорию dir перед чтением файлов makefile. Если указано несколько параметров ‘-C’, каждый интерпретируется относительно предыдущего: ‘-C / -C etc’ эквивалентно ‘-C /etc’. Это обычно используется с рекурсивными вызовами make (см. Рекурсивное использование make).

‘-d’

Выводить отладочную информацию дополнительно к обычной обработке. Отладочная информация указывает, какие файлы рассматриваются для пересоздания, какие временные метки файлов сравниваются и с каким результатом, какие файлы фактически нужно пересоздать, какие неявные правила рассматриваются и какие применяются — всё интересное о том, как make решает, что делать. Параметр -d эквивалентен ‘--debug=a’ (см. ниже).

‘--debug[=options]’

Выводить отладочную информацию дополнительно к обычной обработке. Можно выбрать различные уровни и типы вывода. Без аргументов выводить отладочную информацию на «базовом» уровне. Возможные аргументы приведены ниже; учитывается только первая буква, и значения должны быть разделены запятыми или пробелами.

a (all)

Включаются все типы отладочного вывода. Эквивалентно использованию ‘-d’.

b (basic)

Базовый отладочный вывод выводит каждый целевой файл, который оказался устаревшим, и был ли успешен сборка или нет.

v (verbose)

Уровень выше ‘basic’; включает сообщения о том, какие файлы makefile были обработаны, предшественники, которые не нужно было перестраивать и т. д. Этот параметр также включает сообщения ‘basic’.

i (implicit)

Выводит сообщения, описывающие поиск неявных правил для каждого целевого файла. Этот параметр также включает сообщения ‘basic’.

j (jobs)

Выводит сообщения с подробной информацией о вызове определенных подкоманд.

m (makefile)

По умолчанию вышеперечисленные сообщения не включены при попытке пересоздания файлов makefile. Этот параметр включает сообщения при пересоздании файлов makefile. Обратите внимание, что параметр ‘all’ включает этот параметр. Этот параметр также включает сообщения ‘basic’.

p (print)

Выводит рецепт, который должен быть выполнен, даже если рецепт обычно безмолвен (из-за .SILENT или ‘@’). Также выводит имя файла makefile и номер строки, где был определён рецепт.

w (why)

Объясняет, почему каждый целевой файл должен быть пересоздан, показывая, какие предшественники более актуальны, чем целевой файл.

n (none)

Отключить все включенные отладочные параметры. Если дополнительные отладочные флаги встретятся позже, они всё равно будут действовать.

‘-e’
‘--environment-overrides’

Назначить переменным, взятым из среды, приоритет перед переменными из файлов makefile. См. Переменные из среды.

‘-E string’
‘--eval=string’

Вычислить string как синтаксис makefile. Это командная версия функции eval (см. Функция Eval). Вычисление выполняется после определения стандартных правил и переменных, но перед чтением каких-либо файлов makefile.

‘-f file’
‘--file=file’
‘--makefile=file’

Прочитать файл с именем file как makefile. См. Создание файлов Makefiles.

‘-h’
‘--help’

Напоминает вам о параметрах, которые make понимает, а затем завершается.

‘-i’
‘--ignore-errors’

Игнорировать все ошибки в рецептах, используемых для пересоздания файлов. См. Ошибки в рецептах.

‘-I dir’
‘--include-dir=dir’

Указывает директорию dir для поиска включаемых файлов makefile. См. Включение других файлов Makefiles. Если несколько параметров ‘-I’ используются для указания нескольких директорий, то директории просматриваются в указанном порядке. Если директория dir представляет собой одиночную тире (-), то все ранее указанные директории (включая стандартные пути к директориям) будут удалены. Вы можете проверить текущий список директорий, которые будут просматриваться, используя переменную .INCLUDE_DIRS.

‘-j [jobs]’
‘--jobs[=jobs]’

Указывает количество рецептов (задач) для одновременного выполнения. Без аргумента, make запускает столько рецептов одновременно, сколько возможно. Если используется более одного параметра ‘-j’, действует последний. См. Параллельное выполнение, для получения дополнительной информации о том, как выполняются рецепты. Обратите внимание, что этот параметр игнорируется в MS-DOS.

‘--jobserver-style=[style]’

Выбирает стиль jobserver для использования. Этот параметр действует только если включено параллельное построение (см. Параллельное выполнение). В системах POSIX style может быть одним из fifo (по умолчанию) или pipe. В Windows единственный допустимый style это sem (по умолчанию). Этот параметр полезен, если вам нужно использовать более старые версии GNU make, или другой инструмент, который требует определенного стиля jobserver.

‘-k’
‘--keep-going’

Продолжить выполнение по мере возможности после ошибки. Хотя целевой файл, который потерпел неудачу, и файлы, которые зависят от него, не могут быть пересозданы, другие предшественники этих целевых файлов могут быть обработаны. См. Тестирование компиляции программы.

‘-l [load]’
‘--load-average[=load]’
‘--max-load[=load]’

Указывает, что новые рецепты не должны запускаться, если другие рецепты выполняются, а средняя нагрузка составляет не менее load (вещественное число). Без аргумента, удаляет предыдущее ограничение нагрузки. См. Параллельное выполнение.

‘-L’
‘--check-symlink-times’

В системах, которые поддерживают символьные ссылки, этот параметр заставляет make учитывать временные метки любых символьных ссылок помимо временной метки файла, на который ссылаются эти ссылки. Когда этот параметр предоставлен, самая последняя временная метка между файлом и символическими ссылками принимается как время изменения для этого целевого файла.

‘-n’
‘--just-print’
‘--dry-run’
‘--recon’

Вывести рецепт, который должен быть выполнен, но не выполнять его (за исключением определенных обстоятельств). См. Вместо выполнения рецептов.

‘-o file’
‘--old-file=file’
‘--assume-old=file’

Не пересоздавать файл file, даже если он старше своих предшественников, и не пересоздавать ничего из-за изменений в file. По существу, файл рассматривается как очень старый, и его правила игнорируются. См. Избегание повторной компиляции некоторых файлов.

‘-O[type]’
‘--output-sync[=type]’

Обеспечить, чтобы весь вывод каждого рецепта печатался в одной непрерывной последовательности. Этот параметр полезен только при использовании параметра --jobs для одновременного выполнения нескольких рецептов (см. Параллельное выполнение). Без этого параметра вывод будет отображаться по мере его генерации рецептами.

Без типа или с типом ‘target’, вывод от всего рецепта каждого целевого файла группируется вместе. С типом ‘line’, вывод каждой строки в рецепте группируется вместе. С типом ‘recurse’, вывод от всего рекурсивного make группируется вместе. С типом ‘none’, никакая синхронизация вывода не выполняется. См. Вывод во время параллельного выполнения.

‘-p’
‘--print-data-base’

Напечатать базу данных (правила и значения переменных), которая получается в результате чтения файлов makefile; затем выполнить как обычно или как указано в противном случае. Это также печатает информацию о версии, предоставляемую переключателем ‘-v’ (см. ниже). Чтобы напечатать базу данных без попытки пересоздания каких-либо файлов, используйте ‘make -qp’. Чтобы напечатать базу данных предварительно определённых правил и переменных, используйте ‘make -p -f /dev/null’. Вывод базы данных содержит информацию об имени файла и номере строки для определения рецепта и переменных, поэтому он может быть полезным отладочным инструментом в сложных средах.

‘-q’
‘--question’

«Режим вопроса». Не выполнять какие-либо рецепты или печатать что-либо; просто вернуть код выхода, который равен нулю, если указанные целевые файлы уже актуальны, единице, если требуется какое-либо пересоздание, или двум, если возникает ошибка. См. Вместо выполнения рецептов.

‘-r’
‘--no-builtin-rules’

Исключите использование встроенных неявных правил (см. Использование неявных правил). Вы по-прежнему можете определять свои собственные, написав правила по шаблонам (см. Определение и переопределение правил по шаблонам). Опция ‘-r’ также очищает список стандартных суффиксов для правил суффиксов (см. Правила суффиксов старой школы). Но вы по-прежнему можете определить свои собственные суффиксы с правилом для .SUFFIXES, а затем определить свои собственные правила суффиксов. Обратите внимание, что только правила влияют на опцию -r; значения по умолчанию для переменных остаются в силе (см. Переменные, используемые неявными правилами); см. опцию ‘-R’ ниже.

‘-R’
‘--no-builtin-variables’

Исключите использование встроенных переменных, специфичных для правил (см. Переменные, используемые неявными правилами). Вы, конечно, по-прежнему можете определить свои собственные. Опция ‘-R’ также автоматически включает опцию ‘-r’ (см. выше), так как не имеет смысла иметь неявные правила без определений для используемых ими переменных.

‘-s’
‘--silent’
‘--quiet’

Без вывода; не печатать рецепты по мере их выполнения. См. Вывод рецептов.

‘-S’
‘--no-keep-going’
‘--stop’

Отменить действие опции ‘-k’. Это никогда не требуется, за исключением рекурсивного make, где ‘-k’ может быть унаследовано от верхнего уровня make через MAKEFLAGS (см. Рекурсивное использование make) или если вы установили ‘-k’ в MAKEFLAGS в вашей среде.

‘--shuffle[=mode]’

Эта опция включает форму fuzz-тестирования зависимостей предшественников. Когда включено параллельное выполнение (‘-j’), порядок сборки целей становится менее детерминированным. Если предшественники не полностью объявлены в файле makefile, это может привести к периодическим и трудно отслеживаемым ошибкам сборки.

Опция ‘--shuffle’ принуждает make к целенаправленной перестановке целей и предшественников, чтобы отношения цель/предшественник сохранились, но порядок предшественников для данной цели переставляется, как описано ниже.

Порядок перечисления предшественников в автоматических переменных этой опцией не изменяется.

Псевдоцель .NOTPARALLEL отключает перемешивание для этого makefile. Также любой список предшественников, содержащий .WAIT, не будет перемешиваться. См. Отключение параллельного выполнения.

Опция ‘--shuffle=’ принимает следующие значения:

random

Выберите случайное семя для перемешивания. Это значение по умолчанию, если не указан режим. Выбранное семя также предоставляется подкомандам make. Семя включается в сообщения об ошибках, чтобы его можно было повторно использовать в будущих запусках для воспроизведения проблемы или проверки того, что она решена.

reverse

Инвертирует порядок целей и предшественников вместо случайного перемешивания.

seed

Используйте перемешивание ‘random’, инициализированное указанным значением семени. seed — целое число.

none

Отключить перемешивание. Это отменяет любые предыдущие опции ‘--shuffle’.

‘-t’
‘--touch’

Изменить файлы (отметить их как обновленные, не изменяя их фактически) вместо выполнения их рецептов. Это используется для имитации выполнения рецептов, чтобы обмануть будущие вызовы make. См. Вместо выполнения рецептов.

‘--trace’

Отобразить информацию о прослеживании для выполнения make. Использование --trace является сокращением для --debug=print,why.

‘-v’
‘--version’

Вывести версию программы make, а также копирайт, список авторов и уведомление об отсутствии гарантии; затем завершить работу.

‘-w’
‘--print-directory’

Вывести сообщение, содержащее рабочую директорию до и после выполнения makefile. Это может быть полезно для отслеживания ошибок из сложных вложенных рекурсивных make команд. См. Рекурсивное использование make. (На практике вам редко нужно указывать эту опцию, так как ‘make’ делает это за вас; см. Опция ‘--print-directory’.)

‘--no-print-directory’

Отключить вывод рабочей директории при -w. Эта опция полезна, когда -w включается автоматически, но вы не хотите видеть дополнительные сообщения. См. Опция ‘--print-directory’.

‘-W file’
‘--what-if=file’
‘--new-file=file’
‘--assume-new=file’

Представьте, что целевой файл file только что был изменён. При использовании со флагом ‘-n’ это покажет, что произойдет, если вы измените этот файл. Без ‘-n’ это почти то же самое, что выполнить команду touch на данном файле перед выполнением make, за исключением того, что время изменения изменяется только в воображении make. См. Вместо выполнения рецептов.

‘--warn-undefined-variables’

Выдать сообщение об ошибке всякий раз, когда make обнаруживает ссылку на неопределённую переменную. Это может быть полезно при отладке makefile, которые используют переменные сложным образом.

Copyright © 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 Free Software Foundation, Inc.
Licensed under the GNU Free Documentation License.
https://www.gnu.org/software/make/manual/html_node/Options-Summary.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API