With the toolchain and template makefile approach for building code, you can customize generated makefiles for S-functions. Through the customization, you can specify additional items for the S-function build process:
Source files and folders
Include files and folders
Library names
Preprocessor macro definitions
Compiler flags
Link objects
To customize the generated makefile:
For all S-functions in the build
folder, create a makecfg.m
file.
For a specific S-function in the build folder, create a
specificSFunction
_makecfg.m
file.
In the file that you create, use RTW.BuildInfo
functions to specify additional items for the S-function build process. For
example, you can use:
addCompileFlags
to specify compiler
options.
addDefines
to specify preprocessor macro
definitions.
Save the created file in the build folder.
After code generation, in the build folder, the code generator searches for
makecfg.m
and
specificSFunction
_makecfg.m
files. If
the files are present in the build folder, the code generator uses these files to
customize the generated makefile,
model
.mk
.
For example, consider a build folder that contains
signalConvert.mexa64
(S-function binary file) and
signalConvert.tlc
(inlined S-function implementation) after the
TLC phase of the build process. The
S-function requires an additional source code file, filterV1.c
, which
is located in anotherFolder
. You can create a file,
signalConvert_makecfg.m
, that uses
RTW.BuildInfo
functions to specify filterV1.c
for the build
process.
function signalConvert_makecfg(objBuildInfo) absolute = fullfile('$(START_DIR)', 'anotherFolder'); addIncludePaths(objBuildInfo, absolute); addSourcePaths(objBuildInfo, absolute); addSourceFiles(objBuildInfo,'filterV1.c');