如何创建一个 makefile 来对目录中的所有 .txt 文件进行排序,并使用 makefile 将其另存为 .sorted?

How to create a makefile to sort all the .txt files in the directory and save it as .sorted using makefile?

如何创建一个 makefile 来对目录中的所有 .txt 文件进行排序,并使用 makefile 将其另存为 .sorted?

%.sorted: %.txt 
    sort $< -o $@
all: (*.sorted)
default:all

(*.sorted) 只是在寻找具有该文字名称的文件。你可能想要

all: $(patsubst %.txt,%.sorted,$(wildcard *.txt))
%.sorted: %.txt 
    sort $< -o $@

$(wildcard *.txt) 生成所有文本文件的列表,$(patsubst ...) 生成一个包含 .sorted 而不是 .txt 的并行列表。

(请注意,Stack Overflow 将制表符呈现为空格,因此您无法简单地从呈现的页面 copy/paste 这段代码。)

为了 make 做你想做的事,你需要目标是 Makefile 中的第一个。或许还可以参见 Makefile: all vs default targets