coder.make.BuildTool class

Пакет: coder.make

Представление инструмента сборки

Описание

Использование coder.make.BuildTool для получения и определения существующего coder.make.BuildTool по умолчанию объект, или создать coder.make.BuildTool объект.

Работа с BuildTool по умолчанию объекты, используйте get и задайте подход из ToolchainInfo свойства:

  • coder.make.ToolchainInfo.BuildTools

  • coder.make.ToolchainInfo.PostbuildTools

Примерами, показывающими подход get and define, являются:

Альтернативой подходу get and define является новый подход. Пример, показывающий создание нового подхода, появляется в Create a Non-Default BuildTool.

Рисунок показывает связь между BuildTool по умолчанию объекты и ToolchainInfo. Когда вы исследуете PHONY TARGETS раздел сгенерированного make-файла, различие между BuildTools, PostbuildTools, и PrebuildTools становится яснее.

  • prebuild - запускает только инструмент prebuild.

  • build - запускает инструменты сборки после запуска prebuild. The build генерирует PRODUCT сборки.

  • postbuild - запускает инструмент postbuild после запуска сборки.

  • all - работает предстрой, сборка и постстрой. Процесс сборки использует это правило для сборки Ctrl + B.

  • clean - очищает все выходы расширения файлов и производного файла расширения всех инструментов в наборе инструментальных средств.

  • info - развертывает и печатает все макросы, используемые в make-файле.

Конструкция

h = coder.make.BuildTool(bldtl_name) создает coder.make.BuildTool объект и устанавливает его Name свойство.

Входные параметры

расширить все

Создайте имя инструмента, заданное как вектор символов или строковый скаляр.

Типы данных: char | string

Выходные аргументы

расширить все

Указатель на объект для coder.make.BuildTool объект, заданный как переменная.

Пример: tool

Свойства

расширить все

Представляет команду инструмент с помощью:

  • Необязательное имя макроса, например: CC.

  • Системный вызов (команда), который запускает инструмент сборки, такой как: gcc.

Имя макроса и системный вызов появляются вместе в сгенерированном файле make-файла. Для примера: CC = gcc

Присвоение значения этому свойству опционально.

Можно использовать следующие методы с Command:

Атрибуты:

GetAccesspublic
SetAccesspublic

Определяет любые директивы для конкретного инструмента, такие как -D для предпроцессора задает. Присвоение значения этому свойству опционально.

Можно использовать следующие методы с Directives:

Атрибуты:

GetAccesspublic
SetAccesspublic

Задает любые расширения файлов для конкретного инструмента. Это значение опционально.

Можно использовать следующие методы с FileExtensions:

Атрибуты:

GetAccesspublic
SetAccesspublic

Определяет имя инструмента сборки.

Можно использовать следующие методы с Name.

Атрибуты:

GetAccesspublic
SetAccesspublic

Задает любые пути для конкретного инструмента. Если команда указана в системном пути, это значение опционально.

Можно использовать следующие методы с Path:

Атрибуты:

GetAccesspublic
SetAccesspublic

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

Значение по умолчанию {'*'}, что указывает на поддержку всех доступных форматов.

Тип данных - массив ячеек. Содержимое массива ячеек должно быть либо coder.make.BuildOutput значения перечисления, или '*'.

У этого свойства нет связанных методов. Присвойте значение непосредственно SupportedOutputs. Смотрите addPrebuildToolToToolchainInfo.m пример или addPostbuildToolToToolchainInfo.m пример. Допустимые значения перечисления:

coder.make.BuildOutput.STATIC_LIBRARYприменяется для инструментов предварительной сборки, инструментов сборки и инструментов пост-сборки
coder.make.BuildOutput.SHARED_LIBRARYприменяется для инструментов сборки и инструментов пост-сборки; требует Embedded Coder® лицензия
coder.make.BuildOutput.EXECUTABLEприменяется для инструментов и инструментов пост-сборки сборки

Атрибуты:

GetAccesspublic
SetAccesspublic

Методы

addDirectiveДобавьте директиву к Directives
addFileExtensionДобавьте новую запись расширения файла в FileExtensions
getCommandПолучите команду инструмент
getDirectiveПолучите значение именованной директивы от Directives
getFileExtensionПолучите расширение файла для именованного типа в FileExtensions
getNameПолучите имя инструмента сборки
getPathПолучите путь и макрос инструмента сборки в Path
информацияОтображение свойств и значений инструмента сборки
setCommandУстановите команду инструмент
setCommandPatternУстановите шаблон команд для инструментов сборки
setCompilerOptionMapУстановите стандарт языка C/C + + и опции компилятора для выбранного инструмента сборки (компилятора)
setDirectiveУстановите значение директивы в Directives
setFileExtensionУстановите расширение файла для именованного типа файла в FileExtensions
setNameУстановите имя инструмента сборки
setPathУстановите путь и макрос инструмента сборки в Path
утвердитьПроверьте свойства инструмента сборки

Копировать семантику

Указатель. Чтобы узнать, как классы handle влияют на операции копирования, см. раздел «Копирование объектов».

Пример

Получите инструмент сборки по умолчанию и установите его свойства

The intel_tc.m файл из Add Custom Toolchains в MATLAB ® Coder™ Build Process использует следующие линии, чтобы получить инструмент сборки по умолчанию, C Compiler, из ToolchainInfo объект называется tc, а затем устанавливает его свойства.

% ------------------------------
% C Compiler
% ------------------------------
 
tool = tc.getBuildTool('C Compiler');

tool.setName('Intel C Compiler');
tool.setCommand('icl');
tool.setPath('');

tool.setDirective('IncludeSearchPath','-I');
tool.setDirective('PreprocessorDefine','-D');
tool.setDirective('OutputFlag','-Fo');
tool.setDirective('Debug','-Zi');

tool.setFileExtension('Source','.c');
tool.setFileExtension('Header','.h');
tool.setFileExtension('Object','.obj');

tool.setCommandPattern('|>TOOL<| |>TOOL_OPTIONS<| |>OUTPUT_FLAG<||>OUTPUT<|');

Следующие примеры показывают тот же подход «получить и определить» более подробно:

Создайте Non-Default BuildTool

Чтобы создать инструмент сборки, выполните следующие действия.

  1. Создайте файл, который задает BuildTool объект, например createBuildTool_1.m или createBuildTool_2.

  2. Создайте такой файл, как addBuildToolToToolchainInfo.m, что:

    • Создает ToolchainInfo объект, или использует существующий.

    • Создает BuildTool объект из createBuildTool_1.m или createBuildTool_2.

    • Добавляет BuildTool объект для ToolchainInfo объект.

  3. Выполняйте addBuildToolToToolchainInfo.m.

См. следующие примеры addBuildToolToToolchainInfo.m, createBuildTool_1.m, и createBuildTool_2.m.

 addBuildToolToToolchainInfo.m

 createBuildTool_1.m

 createBuildTool_2.m

Добавьте Prebuild и Инструментов пост-сборки к Toolchain

Код в addPrebuildToolToToolchainInfo.m и addPostbuildToolToToolchainInfo.m примеры показа, как добавить prebuild и инструментов пост-сборки к набору инструментальных средств.

 addPrebuildToolToToolchainInfo.m

 addPostbuildToolToToolchainInfo.m