ソースコードが依存するヘッダー一覧を表示するには、-MD
オプションを使います。
sample.h
#pragma once
#include <algorithm>
sample.cpp
#include "sample.h"
int main(void)
{
printf("%d\n", std::min<int>(1, 2));
return 0;
}
-MF
オプションで出力先を指定できます。
$ # Intel Mac + macOS Big Sur (11.2) + Apple clang 12.0.0
$ clang sample.cpp -MD -MF sample.d
$ cat sample.d
sample.o: sample.cpp sample.h \
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/algorithm \
(中略)
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/bit
$ # この例では、ヘッダーとして 131 ファイルが include されます。
$ wc -l sample.d
131 sample.d
-MMD
オプションを使うと、ユーザー定義ファイルのみの一覧を表示することができます。
$ # Intel Mac + macOS Big Sur (11.2) + Apple clang 12.0.0
$ clang sample.cpp -MMD -MF sample.d
$ cat sample.d
sample.o: sample.cpp sample.h
参考資料
- Clang command line argument reference
https://clang.llvm.org/docs/ClangCommandLineReference.html