0

私は大規模なファームウェアに取り組んでおり、GNU gprof をその一部のモジュール (ファイル ディレクトリ) にのみ追加する必要があります。メイクファイルの構造は継承されています。だから私はこのようにします:

ft/*.o : ft/*.c
       CFLAGS += -pg
ft/*.o : ft/*.c
       LDFLAGS += -pg

しかし、これにより CFLAGS が上書きされ、すべてのモジュールに gprof が追加されるという警告が表示されます。私の推測では、CFLAG はどこかで一般的です。必要なモジュール (ディレクトリ) の部分でのみ CFLAG が機能することを確認するにはどうすればよいですか?

4

1 に答える 1

2

ターゲット固有の変数を使用して実行できます。

正しい構文は次のとおりです。

ft/*.o : CFLAGS += -pg
ft/*.o : LDFLAGS += -pg

これらは、追加する必要がある行です。

または、これらのフラグを実行可能ファイル、共有および静的ライブラリに追加することもできます。ターゲット固有の変数は、その前提条件、つまり.oバイナリを構成するファイルに伝播します。

于 2016-03-22T14:28:48.447 に答える