生成 make 依赖项。
该选项可在标准输出中为编译的源文件生成 make 依赖项。该选项涵盖源文件的所有 make 依赖项,包括头文件和 Fortran 模块。
对于模块依赖项,该选项使用基于对象的模块依赖项方案,以便无需显式生成规则即可创建模块文件。
该选项不能与 -c、-S、-Xlist 或会生成不同编译输出的其他任何编译选项一起使用。
生成的依赖项输出不包含任何生成规则,只包含文件的依赖项。用户需要为内部版本所需的所有文件指定生成规则。但是,对于模块文件,无需显式生成规则,因为模块文件与关联的对象文件同时创建。因此,模块文件仅需具有通用生成规则:
%.mod: @ echo $@ is already up to date.
模块文件生成规则只需要阻止 'make' 进程在模块文件没有生成规则时剥离与其相关的所有依赖项。除此之外,生成规则不执行任何操作,如上例中所示。
与 -keepmod 选项一起使用时,-xM 选项生成的依赖项将防止因不必要更新模块文件产生编译级联,并防止因使用 -keepmod 选项导致对相同源文件进行重新编译的问题,以防止对模块文件进行不必要的更新。
该选项可与 -M、-I 和 -moddir 选项结合使用,为内部版本中所需的模块文件确定适当的目录。预编译的模块文件(例如,由第三方提供的模块文件)应该位于由 -M 选项指向的目录,以便生成正确的依赖项。