考虑一般规则形式:
output_file_name: dep_file_name1, ... dep_file_name2
recipe
并假设在一个假设的
makefile
中没有任何虚假目标,everydep_file_name_x
是always一个文件名,often也是另一个规则(即,它是另一个规则的output_file_name
),我的问题是:
满足许多此类规则中的任何一个,是否
make
仅检查dep_file_name_x
文件的文件修改时间(如果它当然存在)或make
也认识到dep_file_name_x
也是同一个makefile
中的另一个规则——如果“运行”(但可能还没有还没有),会更新实际文件?
也就是说:如果
dep_file_name_x
引用现有规则并且现有文件,是否保证在通常的文件修改时间检查之前调用该规则(带有其自己的先决条件检查等)?
但是,是的,如果我正确理解你的问题,make 将始终完全尝试重建所有先决条件并等待它们完成,然后再检查时间戳以查看当前目标是否需要更新。