Поделиться через


Запуск программы NMAKE

Синтаксис

NMAKE [параметр ...] [макросы ...] [целевые объекты ...] [@command-file ...]

Замечания

NMAKE создает только указанные целевые объекты или, если он не указан, первый целевой объект в файле makefile. Первый целевой объект makefile может быть псевдотаргетом, который создает другие целевые объекты. NMAKE использует файлы makefile, указанные в /Fфайле Makefile в текущем каталоге или /F если он не указан. Если файл makefile не указан, он использует правила вывода для создания целевых объектов командной строки.

Текстовый файл командного файла (или файл ответа) содержит входные данные командной строки. Другие входные данные могут предшествовать или следовать @command-file. Разрешен путь. В командном файле разрывы строк обрабатываются как пробелы. Заключите определения макросов в кавычки, если они содержат пробелы.

Параметры NMAKE

Параметры NMAKE описаны в следующей таблице. Параметры предшествуют косой черте (/) или тире (-) и не учитывает регистр. Используется !CMDSWITCHES для изменения параметров в файле makefile или в Tools.ini.

Вариант Характер использования
/A Принудительное построение всех оцененных целевых объектов, даже если они не устарели по сравнению с зависимыми. Не принудительно создает несвязанные целевые объекты.
/B Принудительное построение, даже если метки времени равны. Рекомендуется только для быстрых систем (разрешение 2 секунды или меньше).
/C Подавляет выходные данные по умолчанию, включая нефатальные ошибки NMAKE или предупреждения, метки времени и сообщение об авторских правах NMAKE. Подавляет предупреждения, выданные /K.
/D Отображает метки времени для каждого вычисляемого целевого объекта и зависимого и сообщения, если целевой объект не существует. Полезно для /P отладки файла makefile. Используется !CMDSWITCHES для задания или очистки /D для части файла makefile.
/E Вызывает переопределение определений макросов makefile переменными среды.
/ERRORREPORT[ ] NONE | PROMPT | QUEUE | SEND Устарело. отчеты об ошибках Windows (WER) параметров управления отчетами.
/F имя_файла Указывает имя файла в качестве файла makefile. Пробелы или вкладки могут предшествовать имени файла. Укажите /F один раз для каждого файла makefile. Чтобы предоставить файл makefile из стандартных входных данных, укажите дефис (-) для имени файла и завершите ввод клавиатуры с помощью клавишИ F6 или CTRL+Z.
/G Отображает файлы makefile, включенные в директиву !INCLUDE . Дополнительные сведения см. в директивах предварительной обработки Makefile.
/HELP, /? Отображает краткую сводку синтаксиса командной строки NMAKE.
/I Игнорирует коды выхода из всех команд. Чтобы задать или очистить /I часть файла makefile, используйте !CMDSWITCHES. Чтобы игнорировать коды выхода для части файла makefile, используйте модификатор команд тире (-) или .IGNORE. Переопределяется при /K указании обоих.
/K Продолжает создавать несвязанные зависимости, если команда возвращает ошибку. Также выдает предупреждение и возвращает код выхода 1. По умолчанию NMAKE останавливается, если любая команда возвращает ненулевой код выхода. Предупреждения от /K них подавляются /C; /I переопределяется /K при указании обоих.
/N Отображает, но не выполняет команды; Выполняются команды предварительной обработки. Не отображает команды в рекурсивных вызовах NMAKE. Полезно для отладки файлов makefile и проверки меток времени. Чтобы задать или очистить /N часть файла makefile, используйте !CMDSWITCHES.
/NOLOGO Подавляет сообщение об авторских правах NMAKE.
/P Отображает сведения (определения макросов, правила вывода, целевые объекты, .SUFFIXES список) в стандартные выходные данные, а затем выполняет сборку. Если целевой объект makefile или командной строки не существует, он отображает только сведения. Используется для /D отладки файла makefile.
/Q Проверяет метки времени целевых объектов; не выполняет сборку. Возвращает нулевой код выхода, если все целевые объекты обновлены, и ненулевой код выхода, если какой-либо целевой объект устарел. Выполняются команды предварительной обработки. Полезно при запуске NMAKE из пакетного файла.
/R Очищает список и игнорирует .SUFFIXES правила вывода и макросы, определенные в Tools.ini файле или предопределенные.
/S Подавляет отображение выполненных команд. Чтобы отключить отображение в части файла makefile, используйте @ модификатор команд или .SILENT. Чтобы задать или очистить /S часть файла makefile, используйте !CMDSWITCHES.
/T Обновляет метки времени целевых объектов командной строки (или первого целевого объекта makefile) и выполняет команды предварительной обработки, но не выполняет сборку.
/U Необходимо использовать в сочетании с /N. Дамп встроенных файлов NMAKE, чтобы /N выходные данные можно было использовать в качестве пакетного файла.
/X имя_файла Отправляет выходные данные ошибок NMAKE в имя файла вместо стандартной ошибки. Пробелы или вкладки могут предшествовать имени файла. Чтобы отправить выходные данные ошибок в стандартные выходные данные, укажите дефис (-) для имени файла. Не влияет на выходные данные команд до стандартной ошибки.
/Y Отключает правила вывода в пакетном режиме. При выборе этого параметра все правила вывода в пакетном режиме рассматриваются как обычные правила вывода.

Tools.ini и NMAKE

NMAKE считывается Tools.ini перед чтением файлов makefile, если /R не используется. Сначала он ищется Tools.ini в текущем каталоге, а затем в каталоге, указанном переменной среды INIT. Раздел параметров NMAKE в файле инициализации начинается с [NMAKE] и может содержать любые сведения о файле makefile. Укажите комментарий для отдельной строки, начиная с знака номера (#).

Коды выхода из NMAKE

NMAKE возвращает следующие коды выхода:

Код Значение
0 Ошибка (возможно, предупреждение)
1 Неполная сборка (выданная только при /K использовании)
2 Ошибка программы, возможно, вызванная одним из следующих проблем:
— синтаксическая ошибка в файле makefile
— код ошибки или выхода из команды
— прерывание пользователем
4 Системная ошибка — вне памяти
255 Целевой объект не является актуальным (выдан только в том случае, если /Q используется)

См. также

Справочник по NMAKE