如何制作重命名文件的模式配方?
我有一个配方,它采用带有输入文件列表的变量。但是这些文件(始终具有
.irx
扩展名)必须在调用处理它们的程序之前删除扩展名并重命名(复制以保留原始文件)为大写。
一个例子:
如果变量值为
foo.irx bla.irx
,则应在实际配方执行之前将文件复制到另一个位置,如 FOO
和 BLA
还没有尝试任何具体的东西,只是一直在阅读 makefile 文档以寻找对我有帮助的东西。
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