如果源程序是最新的,我想用一些突厥语言显示消息。
all: compile program message
compile: hello.cc
hello: hello.cc
g++ hello.cc -o hello
program: hello
message:
@echo Selam! Ne var ne yok?
@echo Selam! Hər şey yaxşıdır. Sizdə nə var, nə yox?
.PHONY: program compile
这是我的makefile。当源代码是最新的时,它会显示消息
Selam! Ne var ne yok?
Selam! Hər şey yaxşıdır. Sizdə nə var, nə yox?
但是当源代码更改时,它会再次显示" Selam .."
make
g++ hello.cc -o hello
Selam! Ne var ne yok?
Selam! Hər şey yaxşıdır. Sizdə nə var, nə yox?
有没有办法阻止这种情况。
如果您不知道答案,请不要发布不必要的评论。
我是程序员,我知道如何更改区域设置。我想彻底理解这个主题或概念。
答案 0 :(得分:1)
您可以使用-q
命令行开关检查给定目标是否已更新。要执行此操作,您需要先在message
列表中移动all:
,以便在制作其他目标之前进行检查。
示例:
all: message compile program
...
message:
@make -q compile program && echo Everything up to date! || true