MODULE variable in makefiles limits module-definition refactoring

Mandy Chung Mandy.Chung at Sun.COM
Tue Jan 12 13:05:31 PST 2010


Mark Reinhold wrote:
> (This is about Mandy's most recent changes in the TL forest, which are
>  not (yet) in the Jigsaw forest.)
>
> The use of the MODULE variable in many makefiles seems to tie those files
> to the contents of modules.config and modules.group; i.e., if one of the
> latter files changes then some MODULE definitions may also need to be
> adjusted.  This will make it more difficult to experiment with, and
> refactor, the module definitions.
>
> To support changes in the modules.group file, at least, would it make
> sense to enhance the class analyzer to generate another type of output
> file, say foo.members, which for a grouped module lists its lowest-level
> member modules?  Then the modularize target in the modules makefile could
> copy the non-class contents of all the low-level modules into the
> corresponding grouped module.
>
>   

It's currently done that way if I understand correctly what you are 
suggesting.  The member list for all modules is generated at 
build/linux-i586/tmp/modules/modules.list (one output file for all 
module groups instead of one group).

I added several lowest-level modules such as awt, java2d, etc that are 
grouped under the client module specified in the modules.config so that 
we can experiment with the modules.group without requiring modification 
to the makefiles.

The non-class contents are copied from <outputdir>/tmp/modules in its 
low-level module during the normal build process (i.e. all target).  The 
modularize target merges the low-level modules into the corresponding 
grouped modules in the <outputdir>/modules directory.

Does that match what you're suggesting?

Mandy



More information about the jigsaw-dev mailing list