Justin
Justin

Reputation: 723

How to get the invoking target of makefile?

How to get the invoking target of the GNU make Makefile?

for example, I invoke make with the following command line:

make a-target

How can I get the invoking target "a-target" in the Makefile and assign it to a variable?

Further more, if more than one target is specified on the command line:

make target1 target2 ...

How do I get all of them?

Upvotes: 58

Views: 39341

Answers (2)

Beta
Beta

Reputation: 99174

The variable MAKECMDGOALS contains the list of targets that were specified on the command line, no matter how many (it's empty if there were none).

Upvotes: 94

Vlad
Vlad

Reputation: 35594

Maybe you need $@?

See http://www.gnu.org/software/make/manual/make.html#Automatic-Variables for more details.

Upvotes: 21

Related Questions