"使"子目录首选方法

时间:2014-05-11 19:03:30

标签: linux bash makefile gnu-make

标准是什么?在这种情况下,我们应该使用以下内容?

$(MAKE) -C subdir

cd subdir && $(MAKE)

cd subdir ; $(MAKE)

做干净时一样吗?

1 个答案:

答案 0 :(得分:2)

这是一张图表:

Method  | Correct | Cross-platform
--------+---------+---------------
-C      |    X    |     
&&      |    X    |      X
 ;      |         |      X

-C适用于GNU make,但is not POSIX

;在所有平台上的效果都很差(如果subdir无法访问,则会导致无限循环)。

&&既正确又便携,因此是最佳选择。