Reputation: 6651
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
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
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