複数の共有ライブラリと実行可能ファイルをビルドするプロジェクトをビルドしています。これらのバイナリのビルドに使用されるすべてのソース ファイルは、単一の /src ディレクトリにあります。そのため、各バイナリのビルドにどのソース ファイルが使用されたかを特定することは明らかではありません (多対多の関係があります)。
私の目標は、バイナリごとに一連の C ファイルを解析し、それらから適切な関数のみが呼び出されるようにするスクリプトを作成することです。
1 つのオプションは、この情報を Makefile から抽出しようとすることです。ただし、これは生成されたファイルとヘッダーではうまく機能しません (インクルードに依存するため)。
単純にコール グラフを参照することもできますが、多くの関数が関数ポインターを使用して呼び出されるため、これは複雑になります。
他のアイデアはありますか?