加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

makefile – GNU make wildcard不再提供排序输出.有控制开关吗?

发布时间:2020-12-16 03:32:17 所属栏目:百科 来源:网络整理
导读:通配符函数返回版本3.81中的排序结果,但它在版本4.2中执行此操作.是否有任何编译/运行时开关来控制这个功能? 下面显示了两个版本的GNU make的结果. $lsa.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 :=
通配符函数返回版本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:= $(sort $(wildcard * .svp))

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读