【发布时间】:2018-04-02 10:21:41
【问题描述】:
我正在做我的 CS 作业,其中包含许多单文件程序。我的工作目录如下所示:
133.c 134.c 220.c 281.c 337.c 338.c 339.c makefile
我写了一个这样的 Makefile:
%: %.c
${CC} ${CFLAGS} -o $@ $^
所以当我想编译第 220 题的程序时,我输入:
ibug@wsl:~ $ make 220
gcc -o 220 220.c
ibug@wsl:~ $
问题
我想写一个 clean-% 规则,这样当我在 shell 中运行它时,结果应该如下所示
ibug@wsl:~ $ make clean-133
rm -f 133
ibug@wsl:~ $ make clean-281
rm -f 281
ibug@wsl:~ $ make clean-337
rm -f 337
我已经做到了这一点:
.PHONY: clean-%
SRC = $(wildcard %.c)
BIN = $(patsubst %.c,%,$(SRC))
clean-%:
rm -f ??????
问号应该用什么代替?
我正在使用 GNU Make 4.1(在适用于 Linux 的 Windows 子系统上)。
【问题讨论】: