Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
189 views
in Technique[技术] by (71.8m points)

makefile - What is the meaning of a variable defined on the same line of a rule targets prerequisites such as "a: x = 0" in GNU Make?

I have seen code like the following following code in a Makefile:

a: x = 0

What does this line mean? Is it a rule, or something else?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

That is called a target specific variable, see: https://www.gnu.org/software/make/manual/html_node/Target_002dspecific.html

It gives a different value to a variable inside a given target.

Sample usage:

x := 0

a: x := 1
a:
    @echo $x

b:
    @echo $x

Now:

$ make a
1
$ make b
0

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...