Makefile help: setting HOTSPOT_EXTRA_SYSDEFS

Kelly O'Hair kelly.ohair at
Wed Jun 16 02:02:46 UTC 2010

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  
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  

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. ;^)


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