Makefile如何将字符串拆分为单个单词?

Makefile如何将字符串拆分为单个单词?,makefile,Makefile,我写了一个Makefile如下: all: @echo $(wildcard $(include)/*.sh) @echo $(include) .PHONY:all 我输入make“include=~”,输出为 /home/ubuntu/caps_esc.sh /home/ubuntu/ss.sh /home/ubuntu /home/ubuntu /home/ubuntu 但是当输入make“include=~”(注意空格!)时,输出是 /home/ubuntu/ca

我写了一个
Makefile
如下:

all:
    @echo $(wildcard $(include)/*.sh)
    @echo $(include)

.PHONY:all
我输入
make“include=~”
,输出为

/home/ubuntu/caps_esc.sh /home/ubuntu/ss.sh
/home/ubuntu
/home/ubuntu
/home/ubuntu
但是当输入
make“include=~”
(注意空格!)时,输出是

/home/ubuntu/caps_esc.sh /home/ubuntu/ss.sh
/home/ubuntu
/home/ubuntu
/home/ubuntu
这意味着变量
include
~
加上空格。
因此,我的问题是,Makefile如何将字符串拆分为单个单词?

Make使用空格来分隔标记,额外的空格产生
$(通配符~/*.sh)
,这为
通配符
函数提供了两个标记,
~
/*.sh
,而不是一个标记
~/*.sh

Make在某些情况下只会删除空格,有关详细信息,请阅读