bob.sacamento
bob.sacamento

Reputation: 6651

How do I find the value of AM_MAKEFLAGS?

I am trying to build a software package I am unfamiliar with, and it uses automake, which I am also unfamiliar with. The various Makefiles have the macro $(AM_MAKEFLAGS) all over the place. I need to know what's in this macro. I have grepped and grepped and cannot find where it is defined. Does this mean AM_MAKEFLAGS is blank? Or does automake typicall put it somewhere I would never think to look? Bottom line: If I can't find it defined anywhere, how do I know what's in it? Thanks.

Upvotes: 2

Views: 2579

Answers (2)

William Pursell
William Pursell

Reputation: 212268

First, note that it is rarely necessary nor desirable to look at either the Makefile.in generated by automake, or the Makefile built by configure (via config.status) from the Makefile.in template. These are not intended form human consumption. Reading them is similar to looking at the machine code generated by the compiler rather than the original source code.

AM_MAKEFLAGS is a mechanism through which the package maintainer can essentially append text to MAKEFLAGS. Every invocation of make will be called with AM_MAKEFLAGS as an argument. It is (very) often left undefined, and can be ignored. If the maintainer did choose to define it, the definition would be in Makefile.am, and the line providing the definition would simply be copied verbatim into Makefile.in by automake.

Upvotes: 2

Reinier Torenbeek
Reinier Torenbeek

Reputation: 17383

When invoking make, you can use the command-line parameter -p or --print-data-base to have it print the values of all rules and variables it encounters. Redirecting the output to a file and searching for AM_MAKEFLAGS in that file will show you whether the variable is defined and if so, what its value is. See section 9.7 Summary of Options for some extra information.

Upvotes: 4

Related Questions