Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

テンプレート makefile と make オプション

コード ジェネレーターには、特定のシステム ターゲット ファイル用にプログラムをビルドする一連の組み込みのテンプレート makefile があります。

テンプレート makefile の種類

テンプレート makefile には以下の 2 種類があります。

  • "コンパイラ固有" のテンプレート makefile は、特定のコンパイラまたは開発システムでの使用を目的としています。

    慣例により、コンパイラ固有のテンプレート makefile の名前は、システム ターゲット ファイルとコンパイラ (または開発システム) に対応しています。たとえば、grt_vcx64.tmf は Visual C++® コンパイラで汎用リアルタイム プログラムをビルドするためのテンプレート makefile です。ert_lcc64.tmf lcc コンパイラで Embedded Coder® プログラムをビルドするためのテンプレート makefile です。

    メモ

    lcc-win64 コンパイラは将来のリリースで削除されます。サポート対象のコンパイラについては、https://www.mathworks.com/support/requirements/supported-compilers.htmlを参照してください。

  • インストールに適したコンパイラ固有の makefile およびコンパイラを選択することにより、"既定" のテンプレート makefile でより移植性の高いモデル設計が行われます。既定のテンプレート makefile の詳細については、C または C++ コンパイラの選択と設定を参照してください。

    既定のテンプレート makefile の名前は、パターン target_default_tmf に沿ったものになります。それらは、実行時に、指定したシステム ターゲット ファイル コンフィギュレーションに対応した TMF を選択する MATLAB® 言語ファイルです。たとえば、grt_default_tmf は汎用リアルタイム プログラムをビルドするための既定のテンプレート makefile です。ert_default_tmf は Embedded Coder プログラムをビルドするための既定のテンプレート makefile です。

テンプレート makefile の構造の詳細については、テンプレート makefile のカスタマイズを参照してください。以下の節では、コンパイラ固有のテンプレート makefile とそれぞれに使用できる共通のオプションを説明します。

テンプレート makefile のオプションの指定

[make コマンド] コンフィギュレーション パラメーターを介してテンプレート makefile のオプションを指定できます。以下の例のように、make_rtw (または他の make コマンド) の後にオプションを追加します。

make_rtw OPTS="-DMYDEFINE=1"

make コマンド オプションの構文はコンパイラの種類によって多少異なります。

メモ

makefile ビルドのコンパイラの最適化を制御するには、以下を提供する [コンパイラ最適化レベル] コンフィギュレーション パラメーターを使用します。

  • コード開発中に容易にコンパイラ最適化のオンとオフの切り替えが可能な、システム ターゲット ファイルに依存しない値 [最適化オン (高速に実行)][最適化オフ (高速にビルド)]

  • Simulink® GUI レベル (ビルド プロセスの他のレベルではなく) でカスタムのコンパイラ最適化フラグ用に入力する値 [カスタム]

OPT_OPTSMEX_OPTS (MEX_OPTS="-v" を除く) または MEX_OPT_FILE を使用して makefile ビルド用のコンパイラ オプションを指定すると、[コンパイラ最適化レベル] の値は無視され、無視されたパラメーターについての警告が発行されます。

UNIX プラットフォーム用のテンプレート makefile

UNIX® プラットフォーム用のテンプレート makefile は、Free Software Foundation の GNU® Make で使用するためのものです。これらの makefile は、IEEE®1 Std 1003.2-1992 (POSIX) 標準で指定されたガイドラインに準拠するように設定されます。

  • ert_unix.tmf

  • grt_unix.tmf

[make コマンド] コンフィギュレーション パラメーターを介して makefile へのオプションを指定できます。[make コマンド] に指定されるオプションは make ユーティリティのコマンド ライン呼び出しに渡され、さらに、コンパイラに渡される全体のフラグに追加されます。次のオプションを使用して、ビルドの動作を変更できます。

  • OPTS ― 以下のようなユーザー固有のオプション。

    OPTS="-DMYDEFINE=1"
  • OPT_OPTS ― 最適化オプション。既定の設定は -O です。デバッグを有効にするには、オプションを OPT_OPTS=-g として指定します。IBM_RS 内の最適化問題のため、既定の設定では最適化しません。

  • CPP_OPTS ― C++ コンパイラ オプション。

  • USER_SRCS ― S-Function が使用するファイルなどの追加のユーザー ソース。

  • USER_INCLUDES ― 以下のような追加のインクルード パス。

    USER_INCLUDES="-Iwhere-ever -Iwhere-ever2"
  • DEBUG_BUILD — 生成コードに次のようなデバッグ情報を追加。

    DEBUG_BUILD=1

また、これらのオプションはそれぞれのテンプレート makefile の冒頭でコメント内に記録されます。

Microsoft Visual C++ コンパイラ用のテンプレート makefile

Visual C++ コンパイラを使用して実行可能ファイルをビルドするには、target_vcx64.tmf テンプレート makefile のいずれかを使用します。

  • ert_vcx64.tmf

  • grt_vcx64.tmf

[make コマンド] コンフィギュレーション パラメーターを介して makefile へのオプションを指定できます。[make コマンド] に指定されるオプションは make ユーティリティのコマンド ライン呼び出しに渡され、さらに、コンパイラに渡される全体のフラグに追加されます。次のオプションを使用して、ビルドの動作を変更できます。

  • OPT_OPTS ― 最適化オプション。既定の設定は -O2 です。デバッグを有効にするには、オプションを OPT_OPTS=-Zi として指定します。

  • OPTS ― ユーザー固有のオプション。次に例を示します。

    OPTS="/D MYDEFINE=1"

  • CPP_OPTS ― C++ コンパイラ オプション。

  • USER_SRCS ― S-Function が使用するファイルなどの追加のユーザー ソース。

  • USER_INCLUDES ― 以下のような追加のインクルード パス。

    USER_INCLUDES="-Iwhere-ever -Iwhere-ever2"
  • DEBUG_BUILD — 生成コードに次のようなデバッグ情報を追加。

    DEBUG_BUILD=1

また、これらのオプションはそれぞれのテンプレート makefile の冒頭でコメント内に記録されます。

Lcc コンパイラ用のテンプレート makefile

メモ

lcc-win64 コンパイラは将来のリリースで削除されます。サポート対象のコンパイラについては、https://www.mathworks.com/support/requirements/supported-compilers.htmlを参照してください。

コード ジェネレーターには、Lcc compiler Version 2.4 と GNU Make (gmake) を使用して Windows® プラットフォーム用の実行可能ファイルを作成するためのテンプレート makefile があります。

  • ert_lcc64.tmf

  • grt_lcc64.tmf

[make コマンド] コンフィギュレーション パラメーターを使用して makefile へのオプションを指定できます。[make コマンド] フィールドに指定されるオプションは make ユーティリティのコマンド ライン呼び出しに渡され、さらに、コンパイラに渡される全体のフラグに追加されます。次のオプションを使用して、ビルドの動作を変更できます。

  • OPTS ― 以下のようなユーザー固有のオプション。

    OPTS="-DMYDEFINE=1"
  • OPT_OPTS ― 最適化オプション。既定の設定ではオプションを使用しません。デバッグを有効にするには、-g4 を指定します。

    OPT_OPTS="-g4"
  • CPP_OPTS ― C++ コンパイラ オプション。

  • USER_SRCS ― S-Function が使用するファイルなどの追加のユーザー ソース。

  • USER_INCLUDES — 追加のインクルード パス。次に例を示します。

    USER_INCLUDES="-Iwhere-ever -Iwhere-ever2"

    lcc の場合は、ファイル名の前のファイル区切りとして \ ではなく / を使用します (たとえば、d:\work\proj1/myfile.c)。

  • DEBUG_BUILD — 生成コードに次のようなデバッグ情報を追加。

    DEBUG_BUILD=1

また、これらのオプションはそれぞれのテンプレート makefile の冒頭でコメント内に記録されます。

関連するトピック


1 IEEE is a registered trademark of The Institute of Electrical and Electronics Engineers, Inc.