Makefile help: setting HOTSPOT_EXTRA_SYSDEFS

David Holmes David.Holmes at oracle.com
Wed Jun 16 03:41:32 UTC 2010


Hi Kelly,

It's the initial generation of the Makefiles by buildtree.make that is 
the problem.

Thanks,
David

Kelly O'Hair said the following on 06/16/10 12:02:
> Not sure the GNU Make manual will help here, I think it's the way 
> buildtree.make works
> that may be the issue.
> Normally the make command line is the ultimate setting overrides 
> everything,
> then a setting in the Makefile itself,
> then lastly the environment variable setting if not set any way else.
> But the logic is a little complicated, and between the Makefile's
> ability to 'export' and 'override' variables, the rules get more 
> complicated.
> 
> In this case, there are generated makefiles I think, and I'm not sure 
> how often
> buildtree.make is run, you might need a 'make clean' to try and purge 
> the generated
> files between attempts.
> 
> The hotspot makefiles are a world of their own. ;^)
> 
> -kto
> 
> On Jun 15, 2010, at 6:27 PM, David Holmes wrote:
> 
>> I originally asked this internally to my HS colleagues but alas no 
>> solution. Any Make gurus out there? ;-)
>>
>> A further note: the obvious reason for this to fail would be because 
>> defs.make is not processed before launching the buildtree.make 
>> sub-make, but AFAICS it is processed.
>>
>> Thanks,
>> David
>>
>> David Holmes said the following on 06/15/10 19:14:
>>> If I set HOTSPOT_EXTRA_SYSDEFS in the environment or pass it as a 
>>> variable to the top-level make invocation then it works fine and 
>>> buildtree.make will see it and use it in the makefiles that it 
>>> generates.
>>> However, I want to set it in the top-level defs.make based on some 
>>> other values. I do that and export it so that submakes will see it - 
>>> but they don't: buildtree.make sees HOTSPOT_EXTRA_SYSDEFS as empty.
>>> I've tried setting it using += and := but they both fail to set it 
>>> for the sub-make.
>>> Using "make -d" is no help at all as it doesn't show how it evaluates 
>>> things (the way sh -x does). :(
>>> Does anybody know how I can set this?
>>> Thanks,
>>> David
> 



More information about the build-dev mailing list