我有以下Makefile:
CC = gcc
CFLAGS = -ansi -Wall -g -O0 -Wwrite-strings -Wshadow \
-pedantic-errors -fstack-protector-all
PROGS = public01 public02 public03 public04 public05 public06 shell_jr
.PHONY: all clean
all: $(PROGS)
clean:
rm -f *.o $(PROGS) a.out
$(PROGS): shell_jr.c
public0%:
shell_jr < public0%.in > output
cat output
无论何时输入public0X,当shell_jr.c的输出与来自public0X.in的输入一起运行时,都应显示该输出。 public0%标记是我尝试实现的目标。但是,存在3个问题。首先,我只能将public0%.in作为依赖项。通过复制粘贴public01,public02等单独的命令可以避免这种情况。其次,当我这样做并执行make时,该命令将立即执行。如何确保在键入public01并按Enter之前不执行该命令?
首先,我只能将public0%.in作为依赖项。