Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

生成される makefile を makecfg を使用して S-Function 用にカスタマイズする

コードのビルドでツールチェーンアプローチまたはテンプレート makefile アプローチを使用して、生成される makefile を S-Function 用にカスタマイズできます。カスタマイズを通じて S-Function のビルド プロセスに次の追加項目を指定できます。

  • ソース ファイルおよびソース フォルダー

  • インクルード ファイルおよびインクルード フォルダー

  • ライブラリ名

  • プリプロセッサ マクロ定義

  • コンパイラ フラグ

  • リンク オブジェクト

生成される makefile をカスタマイズするには次を行います。

  1. S-Function コンポーネントを含む S-Function MEX ファイル フォルダーで、makecfg.mファイルまたはspecificSFunction_makecfg.mファイルを作成します。makecfg.mファイルを作成すると、そのファイルは、モデルが使用する S-Function MEX ファイル フォルダー内の任意の S-Function に対してアクティブになります。specificSFunction_makecfg.mファイルは、モデルが対応する S-Function を使用する場合にのみアクティブになります。

  2. 作成したファイル内で関数RTW.BuildInfoを使用して、S-Function のビルド プロセス用の追加項目を指定します。たとえば、次のようなことができます。

    • addCompileFlagsを使用してコンパイラ オプションを指定する。

    • addDefinesを使用してプリプロセッサ マクロ定義を指定する。

  3. 作成されたファイルを保存します。

コード生成後に、コード ジェネレーターは S-Function MEX ファイル フォルダーでmakecfg.mファイルとspecificSFunction_makecfg.mファイルを探します。ファイルが存在する場合、コード ジェネレーターはこれらのファイルを使用して生成された makefilemodel.mkをカスタマイズします。

たとえばビルド プロセスのTLC フェーズの後で、signalConvert.mexa64(S-Function のバイナリ ファイル) およびsignalConvert.tlc(インライン化された S-Function の実装) が含まれるフォルダーについて検討します。S-Function は、anotherFolderにある追加のソース コード ファイルfilterV1.cを必要としています。ファイル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');

関連するトピック