用于文件名复制和重命名为临时文件的 Makefile 模式配方

问题描述 投票:0回答:1

如何制作重命名文件的模式配方?

我有一个配方,它采用带有输入文件列表的变量。但是这些文件(始终具有

.irx
扩展名)必须在调用处理它们的程序之前删除扩展名并重命名(复制以保留原始文件)为大写。

一个例子:

如果变量值为

foo.irx bla.irx
,则应在实际配方执行之前将文件复制到另一个位置,如
FOO
BLA

还没有尝试任何具体的东西,只是一直在阅读 makefile 文档以寻找对我有帮助的东西。

makefile gnu-make
1个回答
0
投票

GNU Make 中没有简单的方法将值“大写”。但 shell 可以通过

tr
程序来做到这一点。

你可以这样做:

FILES = foo.irx bla.irx

doit: $(FILES)
        for f in $(^:%.irx=%); do \
            cp $$f.irx $$(echo $$f | tr a-z A-Z); \
        done
© www.soinside.com 2019 - 2024. All rights reserved.