为什么这个Makefile会生成rm命令?

为什么这个Makefile会生成rm命令?,makefile,Makefile,下面是一个Makefile,它从点源创建了几个PDF。它创建PostScript文件作为中间步骤 all: maps.pdf D=source_directory S := $(shell find $D -name '*.dot') P = $(patsubst $D/%.dot, $D/%.ps, $S) F = $(patsubst $D/%.dot, $D/%.pdf, $S) $D/%.ps: $D/%.dot Makefile dot -Tps:cairo $<

下面是一个Makefile,它从点源创建了几个PDF。它创建PostScript文件作为中间步骤

all: maps.pdf

D=source_directory

S := $(shell find $D -name '*.dot')
P = $(patsubst $D/%.dot, $D/%.ps, $S)
F = $(patsubst $D/%.dot, $D/%.pdf, $S)

$D/%.ps: $D/%.dot Makefile
    dot -Tps:cairo $< > $@

$D/%.pdf: $D/%.ps
    ps2pdf $< $@

maps.pdf: $F
    pdfjam -q $D/*.pdf -o maps.pdf
all:maps.pdf
D=源目录
S:=$(shell查找$D-名称'*.dot')
P=$(patsubst$D/%.dot,$D/%.ps,$S)
F=$(patsubst$D/%.dot,$D/%.pdf,$S)
$D/%.ps:$D/%.dot生成文件
dot-Tps:cairo$<>$@
$D/%.pdf:$D/%.ps
ps2pdf$<$@
maps.pdf:$F
pdfjam-q$D/*.pdf-o maps.pdf
它运行正常,只是在运行pdfjam后删除了所有PostScript文件。事实上,它甚至将
rmsource\u dir/foo.ps source\u dir/bar.ps
打印到标准输出


rm命令来自哪里?

如何运行Makefile?检查大小写,也许您的目录中同时有makefile和makefile?这里似乎有一个解释: