다음 Makefile 조각에서 asciidoctor
현재 파일이 "list.html"인 경우 명령 실행을 방지하려면 어떻게 해야 합니까?
%.html: src/%.m4
@echo $@
@asciidoctor -s -a linkcss -a stylesheet=plain.css src/$(LATEST).adoc
@m4 -D__latest=$(LATEST) $< > out/$@
답변1
list.html
와일드카드 재정의 에 대한 명시적인 규칙을 만듭니다 .
asciidoctor
나에게는 또는 m4
설정이 없으므로 규칙의 just cp
및 as 작업을 사용하여 :
표시하겠습니다 ( :
작업이 없는 빈 규칙은 작동하지 않으므로 여기에 필요하며 귀하의 경우에는 실행을 위한 작업이 필요하지 m4
않습니다 ). asciidoctor
아래 list.html
)에 다음 내용이 포함됩니다 Makefile
.
list.html:
: do nothing for $@
%.html: %.m4
cp $< $@
예제를 실행하세요:
$ touch x.m4 list.m4
$ make x.html list.html
cp x.m4 x.html
: do nothing for list.html
:
sh의 "빈 명령"입니다. help :
배쉬 에서 :
:: : 빈 명령입니다.
No effect; the command does nothing. Exit Status: Always succeeds.
억제 출력은 평소대로 사용할 수 있습니다 @:
. true
아니면 @true
그것도 작동합니다.