С помощью подхода make-файла набора инструментальных средств или шаблона для строительного кода можно настроить сгенерированные make-файлы для S-функций. Посредством индивидуальной настройки можно задать дополнительные элементы для процесса сборки S-функции:
Исходные файлы и папки
Включать файлы и папки
Имена библиотек
Определения макросов препроцессора
Флаги компилятора
Ссылка на объекты
Чтобы настроить сгенерированный make-файл:
В папке файла MEX S-функции, которая содержит ваши компоненты S-функции, создайте makecfg.m
или specificSFunction
_makecfg.m
файл. Если вы создаете makecfg.m
файл, он активен для любой S-функции в папке файла MEX S-функции, которую использует модель. A specificSFunction
_makecfg.m
файл активен, только если модель использует соответствующую S-функцию.
В файле, который вы создаете, используйте RTW.BuildInfo
функции для задания дополнительных элементов для процесса сборки S-функции. Для примера можно использовать:
addCompileFlags
для задания опций компилятора.
addDefines
для задания определений макросов препроцессора.
Сохраните созданный файл.
После генерации кода, в папке файла MEX S-функции, генератор кода ищет makecfg.m
и specificSFunction
_makecfg.m
файлы. Если файлы присутствуют, генератор кода использует эти файлы, чтобы настроить сгенерированный make-файл, model
.mk
.
Например, рассмотрите папку, которая содержит signalConvert.mexa64
(двоичный файл S-функции) и signalConvert.tlc
(реализация встроенной S-функции) после фазы TLC процесса сборки. Для S-функции требуется дополнительный файл исходного кода, filterV1.c
, который расположен в anotherFolder
. Можно создать файл, signalConvert_makecfg.m
, который использует RTW.BuildInfo
функции для задания filterV1.c
для процесса сборки.
function signalConvert_makecfg(objBuildInfo) absolute = fullfile('$(START_DIR)', 'anotherFolder'); addIncludePaths(objBuildInfo, absolute); addSourcePaths(objBuildInfo, absolute); addSourceFiles(objBuildInfo,'filterV1.c');