JDK libraries build question: propagating a new make variable/value

Brad Wetmore Bradford.Wetmore at Sun.COM
Fri Apr 18 16:05:59 UTC 2008


Many of the common variables used throughout JDK are defined in the 
common and shared Makefiles, and then included in the various leaf and 
middle makefiles.  I'd start by looking at those first.  Another tip, 
many of the common Makefiles include other common Makefiles, so if one 
you need isn't listed, it's very possible that it's referenced by 
another one that is.  It can take a while to unravel what's included 
just by including one top level Makefile.

HTH,

Brad


Steve Bohne wrote:
> This is hopefully an easy question for JDK libraries build experts.
> 
> I want to pass along a new make variable/value to all sub-makes during 
> the JDK build.  Currently each Makefile is edited to pass it to all 
> subdirectories.  I have to make this change in every Makefile in every 
> non-leaf directory:
> 
> all optimized debug clean clobber ::
>   @for i in $(SUBDIRS) ; do \
>     $(ECHO) ">>>Recursively making "$$i" "$@" @ `$(DATE)` ..."; \
>     $(CD) $$i; $(MAKE) $@ RELEASE=$(RELEASE) FULL_VERSION=$(FULL_VERSION) \
> +     NEW_VAR=$(NEW_VAR) \
>       || exit 1; $(CD) ..;  \
>     $(ECHO) "<<<Finished Recursively making "$$i" "$@" @ `$(DATE)`." ;
>   done
> 
> 
> Is there an easier way that doesn't touch so many Makefiles?
> 
> Is there perhaps a Makefile that gets generated during the build and 
> included everywhere?  Or a way to use MFLAGS/MAKEFLAGS to pass it along?
> 
> Any tips are appreciated.
> 
> Thanks,
> Steve



More information about the build-dev mailing list