exponenta event banner

класс coder.make.BuildTool

Пакет: coder.make

Представление инструмента построения

Описание

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

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

  • coder.make.ToolchainInfo.BuildTools

  • coder.make.ToolchainInfo.PostbuildTools

Примеры, показывающие подход получения и определения:

Альтернативой подходу получения и определения является создание нового подхода. Пример создания нового подхода приведен в разделе Создание нестандартного BuildTool.

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

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

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

  • 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
утвердитьПроверка свойств инструмента построения

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

Ручка. Сведения о том, как классы обработки влияют на операции копирования, см. в разделе Копирование объектов.

Пример

Получение инструмента построения по умолчанию и задание его свойств

intel_tc.m В файле «Добавить пользовательские цепочки инструментов в 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<|');

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

Создание инструмента построения, отличного от стандартного

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

  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

Добавление инструментов предварительного и последующего построения в цепочку инструментов

Код в addPrebuildToolToToolchainInfo.m и addPostbuildToolToToolchainInfo.m В примерах показано, как добавлять инструменты предварительного и последующего построения в цепочку инструментов.

 addPrebuildToolToToolchainInfo.m

 addPostbuildToolToToolchainInfo.m