通配符函数在版本3.81中返回已排序的结果,但在版本4.2中确实会这样做。有没有什么编译/运行时开关来控制这个函数?
下面显示了GNU make的两个版本的结果。
$ ls
a.mk a0.svp a1.svp a2.svp a3.svp a4.svp a5.svp a6.svp a7.svp a8.svp a9.svp
$ cat a.mk
SVP_FILES := $(wildcard *.svp)
all:
@echo $(SVP_FILES)
$ make -f a.mk all
a0.svp a1.svp **a2.svp a3.svp a4.svp a5.svp a6.svp a7.svp a8.svp a9.svp**
$ ~/sandbox/bin/make -f a.mk all
a0.svp a1.svp **a6.svp a5.svp a9.svp a4.svp a3.svp a2.svp a7.svp a8.svp**
$make –v | head -n 1
GNU Make 3.81
$ ~/sandbox/bin/make -v | head -n 1
GNU Make 4.2发布于 2016-11-12 09:04:29
正如在NEWS文件中提到的
..。
$(sort ...)函数显式请求。即SVP_FILES := $(sort $(wildcard *.svp))
发布于 2020-01-21 08:54:43
https://stackoverflow.com/questions/40558385
复制相似问题