If statement makefile条件-从变量中去除空白

If statement makefile条件-从变量中去除空白,if-statement,makefile,conditional,strip,If Statement,Makefile,Conditional,Strip,遵循文档中给出的语法 但是当执行makespam时,它仍然会进入非空的块,应该是空的块 我做错了什么?使变量赋值与shell赋值不同。你不需要引用 您正在将变量的值设置为',而不是预期的 因此strip然后将其转换为',它不等于空字符串 删除赋值行上的引号 # Makefile S=' ' spam: ifneq ($(strip $(S)),) @echo nonempty else @echo empty endif

遵循文档中给出的语法

但是当执行
makespam
时,它仍然会进入
非空的
块,应该是
空的


我做错了什么?

使变量赋值与shell赋值不同。你不需要引用

您正在将变量的值设置为
'
,而不是预期的

因此strip然后将其转换为
'
,它不等于空字符串

删除赋值行上的引号

# Makefile
S='    '

spam:
ifneq ($(strip $(S)),)
    @echo nonempty
else
    @echo empty
endif