gpt4 book ai didi

linux - Linux makefile 中的 OR 条件

转载 作者:太空宇宙 更新时间:2023-11-04 03:32:47 25 4
gpt4 key购买 nike

ifeq (ABC,$(strip $(TYPE)))
include src1.mk
else ifeq (EFG,$(strip $(TYPE)))
include src1.mk
else
include src2.mk

如何结合以上两个条件。

我试过了

ifeq ($(TYPE),$(filter $(TYPE),ABC EFG))
include src1.mk
else
include src2.mk

但它的行为不正确,即使 TYPE 不是 ABC 或 EFG,它也会进入 if case。

最佳答案

ifneq ($(filter $(TYPE),ABC EFG),)

我有以下内容:

ifneq ($(filter $(TYPE),ABC EFG),)
$(info TYPE is in ABC EFG)
endif

ifeq ($(TYPE),$(filter $(TYPE),ABC EFG))
$(info Ruchis test passed)
endif

all:
@# do nothing

然后我就跑了

~/tmp> make TYPE=ABC
TYPE is in ABC EFG
Ruchis test passed

~/tmp> make TYPE=EFG
TYPE is in ABC EFG
Ruchis test passed

~/tmp> make TYPE=HIJ

~/tmp> make TYPE=
Ruchis test passed

如果 $(TYPE) 为空,您的测试会给出误报。

关于linux - Linux makefile 中的 OR 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32652052/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com