Makefile 中的单个 OR 字符是什么意思
What does single OR character in Makefile
简短的问题。
在我的工作中,我在 Makefile
中看到了奇怪的代码
$(DIR)/dir1 $(DIR)/dir2 $(DIR)/dir3: | $(DIR)
mkdir -p $$(@)
|
字符是什么意思?
它将正常先决条件与仅订单先决条件分开。在制定目标之前必须存在仅订单先决条件,仅此而已。如果目标时间戳早于仅订单先决条件之一,则不会重新制作目标。
这里如果$(DIR)
不存在,会在$(DIR)/dir1
、$(DIR)/dir2
和$(DIR)/dir3
之前创建,但如果存在且时间戳晚于子目录之一,子目录不会被重新制作。
简短的问题。 在我的工作中,我在 Makefile
中看到了奇怪的代码$(DIR)/dir1 $(DIR)/dir2 $(DIR)/dir3: | $(DIR)
mkdir -p $$(@)
|
字符是什么意思?
它将正常先决条件与仅订单先决条件分开。在制定目标之前必须存在仅订单先决条件,仅此而已。如果目标时间戳早于仅订单先决条件之一,则不会重新制作目标。
这里如果$(DIR)
不存在,会在$(DIR)/dir1
、$(DIR)/dir2
和$(DIR)/dir3
之前创建,但如果存在且时间戳晚于子目录之一,子目录不会被重新制作。