Main Content

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

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

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

テンプレート makefile の種類

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

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

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

  • インストールに適したコンパイラ固有の 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

  • rsim_unix.tmf

  • rtwsfcn_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++ 実行可能なビルド

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

  • ert_vcx64.tmf

  • grt_vcx64.tmf

  • rsim_vcx64.tmf

  • rtwsfcn_vcx64.tmf

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

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

  • OPTS ― ユーザー固有のオプション。

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

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

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

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

    DEBUG_BUILD=1

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

Visual C++ コード生成のみ

実行可能プログラムをビルドせずに Visual C++ プロジェクト makefile (model.mak) を作成するには、target_msvc.tmf テンプレート makefile の 1 つを使用します。

  • ert_msvc.tmf

  • grt_msvc.tmf

これらのテンプレート makefile は、Visual C++ コンパイラにまとめられている nmake で使用されます。

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

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

    OPTS="/D MYDEFINE=1"
  • USER_SRCS ― S-Function が使用するファイルなどの追加のユーザー ソース。

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

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

    DEBUG_BUILD=1

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

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

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

  • ert_lcc.tmf

  • grt_lcc.tmf

  • rsim_lcc.tmf

  • rtwsfcn_lcc.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.