このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
生成される makefile を makecfg を使用して S-Function 用にカスタマイズする
コードのビルドでツールチェーン アプローチまたはテンプレート makefile アプローチを使用して、生成される makefile を S-Function 用にカスタマイズできます。カスタマイズを通じて S-Function のビルド プロセスに次の追加項目を指定できます。
ソース ファイルおよびソース フォルダー
インクルード ファイルおよびインクルード フォルダー
ライブラリ名
プリプロセッサ マクロ定義
コンパイラ フラグ
リンク オブジェクト
生成される makefile をカスタマイズするには次を行います。
S-Function コンポーネントを含む S-Function MEX ファイル フォルダーで、
makecfg.mファイルまたはspecificSFunction_makecfg.mファイルを作成します。makecfg.mファイルを作成すると、そのファイルは、モデルが使用する S-Function MEX ファイル フォルダー内の任意の S-Function に対してアクティブになります。specificSFunction_makecfg.mファイルは、モデルが対応する S-Function を使用する場合にのみアクティブになります。作成したファイル内で関数
RTW.BuildInfoを使用して、S-Function のビルド プロセス用の追加項目を指定します。たとえば、次のようなことができます。addCompileFlagsを使用してコンパイラ オプションを指定する。addDefinesを使用してプリプロセッサ マクロ定義を指定する。
作成されたファイルを保存します。
コード生成後に、コード ジェネレーターは S-Function MEX ファイル フォルダーで makecfg.m ファイルと specificSFunction_makecfg.m ファイルを探します。ファイルが存在する場合、コード ジェネレーターはこれらのファイルを使用して生成された makefile model.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)
absolutePath = fullfile('$(START_DIR)', 'anotherFolder');
addSourceFiles(objBuildInfo, 'filterV1.c', absolutePath);