gpt4 book ai didi

makefile - GNU make 通配符不再提供排序输出。有控制开关吗?

转载 作者:行者123 更新时间:2023-12-02 09:13:35 25 4
gpt4 key购买 nike

通配符函数在版本 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

最佳答案

NEWS 中所述文件

Version 3.82 (28 Jul 2010)

[...]

  • WARNING: Backward-incompatibility! Wildcards were not documented as returning sorted values, but the results have been sorted up until this release.. If your makefiles require sorted results from wildcard expansions, use the $(sort ...) function to request it explicitly.

SVP_FILES := $(排序 $(通配符 *.svp))

关于makefile - GNU make 通配符不再提供排序输出。有控制开关吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40558385/

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