coder.make. Класс BuildTool

Пакет: coder.make

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

Описание

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

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

  • coder.make.ToolchainInfo.BuildTools

  • coder.make.ToolchainInfo.PostbuildTools

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

Альтернатива тому, чтобы получать и задает подход, создавание нового подхода. Пример, показывающий создавание нового подхода, появляется в, Создают BuildTool Не по умолчанию.

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

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

  • build – запускает инструменты сборки после рабочей предварительной сборки. build генерирует сборку PRODUCT.

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

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

  • download – пустое правило по умолчанию.

  • выполнение пустое правило по умолчанию.

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

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

Конструкция

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

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

развернуть все

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

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

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

развернуть все

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

Инструмент Пример:

Свойства

развернуть все

Представляет использование команды инструмента сборки:

  • Дополнительное макро-имя, такое как: 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запрашивает инструменты сборки и инструменты постсборки; требует Встроенной лицензии 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 влияют на операции копии, смотрите Копирование Объектов (MATLAB).

Пример

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

Файл intel_tc.m от Добавления Пользовательского Набора инструментальных средств использует следующие строки, чтобы получить инструмент сборки по умолчанию, 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<|');

Следующие примеры показывают, что то же самое “получает и задает” подход более подробно:

Создайте BuildTool Не по умолчанию

Создать инструмент сборки:

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

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

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

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

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

  3. Запустите addBuildToolToToolchainInfo.m m.

Обратитесь к следующим примерам addBuildToolToToolchainInfo.m, createBuildTool_1.m и createBuildTool_2.m m.

 addBuildToolToToolchainInfo. m

 createBuildTool_1. m

 createBuildTool_2. m

Добавьте предварительную сборку и постсоздайте инструменты к набору инструментальных средств

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

 addPrebuildToolToToolchainInfo. m

 addPostbuildToolToToolchainInfo. m

Была ли эта тема полезной?