From f4dfbefd3cef19e42353e4ea145f587715a25cf6 Mon Sep 17 00:00:00 2001 From: mchung Date: Wed, 10 Feb 2010 17:51:07 -0800 Subject: [PATCH] 6915413: Module build: building of specified jdk components instead of all Summary: Define new SUBDIRS_* variables for specifying components for one group Reviewed-by: ohair --- jdk/make/Makefile | 7 +- jdk/make/com/Makefile | 2 + jdk/make/com/sun/Makefile | 15 +- jdk/make/com/sun/demo/Makefile | 2 + jdk/make/com/sun/demo/jvmti/Makefile | 2 + jdk/make/com/sun/inputmethods/Makefile | 2 + jdk/make/com/sun/java/Makefile | 5 +- jdk/make/com/sun/java/browser/Makefile | 2 + jdk/make/com/sun/jmx/Makefile | 2 + jdk/make/com/sun/jndi/Makefile | 2 + jdk/make/com/sun/jndi/rmi/Makefile | 2 + jdk/make/com/sun/nio/Makefile | 2 + jdk/make/com/sun/org/Makefile | 2 + jdk/make/com/sun/org/apache/Makefile | 1 + jdk/make/com/sun/security/Makefile | 5 +- jdk/make/com/sun/tools/Makefile | 2 + jdk/make/com/sun/tracing/Makefile | 2 + jdk/make/common/Defs.gmk | 130 +----------- jdk/make/common/Sanity.gmk | 3 +- jdk/make/common/Subdirs.gmk | 204 +++++++++++++++++++ jdk/make/common/shared/Sanity.gmk | 18 +- jdk/make/java/Makefile | 12 +- jdk/make/java/hpi/Makefile | 2 + jdk/make/java/java/Makefile | 2 + jdk/make/java/java/genlocales.gmk | 2 +- jdk/make/java/main/Makefile | 2 + jdk/make/java/nio/FILES_java.gmk | 1 - jdk/make/java/nio/Makefile | 4 + jdk/make/java/nio/mxbean/Makefile | 34 ++++ jdk/make/java/redist/Makefile | 5 +- jdk/make/java/text/Makefile | 87 +------- jdk/make/java/text/{ => base}/FILES_java.gmk | 5 - jdk/make/java/text/base/Makefile | 108 ++++++++++ jdk/make/java/text/bidi/Makefile | 44 ++++ jdk/make/javax/Makefile | 27 ++- jdk/make/javax/rmi/Makefile | 2 + jdk/make/javax/sound/Makefile | 1 + jdk/make/javax/swing/Makefile | 1 + jdk/make/jpda/Makefile | 1 + jdk/make/jpda/transport/Makefile | 2 + jdk/make/mkdemo/Makefile | 8 +- jdk/make/mkdemo/applets/Makefile | 1 + jdk/make/mkdemo/jfc/Makefile | 1 + jdk/make/mkdemo/jni/Makefile | 2 + jdk/make/mkdemo/jvmti/Makefile | 2 + jdk/make/mkdemo/management/Makefile | 2 + jdk/make/mkdemo/scripting/Makefile | 1 + jdk/make/mksample/Makefile | 7 +- jdk/make/mksample/jmx/Makefile | 2 + jdk/make/mksample/nio/Makefile | 2 + jdk/make/mksample/scripting/Makefile | 2 + jdk/make/mksample/webservices/Makefile | 1 + jdk/make/org/Makefile | 1 + jdk/make/org/ietf/Makefile | 2 + jdk/make/sun/Makefile | 17 +- jdk/make/sun/cmm/Makefile | 2 + jdk/make/sun/image/Makefile | 2 + jdk/make/sun/management/Makefile | 2 + jdk/make/sun/net/Makefile | 2 + jdk/make/sun/net/spi/Makefile | 4 +- jdk/make/sun/net/spi/nameservice/Makefile | 2 + jdk/make/sun/nio/Makefile | 2 + jdk/make/sun/org/Makefile | 2 + jdk/make/sun/org/mozilla/Makefile | 2 + jdk/make/sun/rmi/Makefile | 2 + jdk/make/sun/security/Makefile | 6 +- jdk/make/sun/tracing/Makefile | 2 + jdk/make/tools/Makefile | 2 + 68 files changed, 593 insertions(+), 244 deletions(-) create mode 100644 jdk/make/common/Subdirs.gmk create mode 100644 jdk/make/java/nio/mxbean/Makefile rename jdk/make/java/text/{ => base}/FILES_java.gmk (98%) create mode 100644 jdk/make/java/text/base/Makefile create mode 100644 jdk/make/java/text/bidi/Makefile diff --git a/jdk/make/Makefile b/jdk/make/Makefile index 04c5a563ee..8b0b176b7d 100644 --- a/jdk/make/Makefile +++ b/jdk/make/Makefile @@ -240,7 +240,12 @@ import_product: all build:: sanity-all post-sanity-all -SUBDIRS = tools java javax org sun sunw com jpda mkdemo mksample launchers +SUBDIRS = tools java javax sun com +SUBDIRS_tools = launchers +SUBDIRS_misc = org sunw jpda mkdemo mksample + +include $(BUILDDIR)/common/Subdirs.gmk + all build:: $(SUBDIRS-loop) diff --git a/jdk/make/com/Makefile b/jdk/make/com/Makefile index 1edfc3a7be..9c42c32fc0 100644 --- a/jdk/make/com/Makefile +++ b/jdk/make/com/Makefile @@ -32,6 +32,8 @@ PRODUCT = com include $(BUILDDIR)/common/Defs.gmk SUBDIRS = sun +include $(BUILDDIR)/common/Subdirs.gmk + all build clean clobber:: $(SUBDIRS-loop) diff --git a/jdk/make/com/sun/Makefile b/jdk/make/com/sun/Makefile index a6549e2a4d..c8cbd18a9e 100644 --- a/jdk/make/com/sun/Makefile +++ b/jdk/make/com/sun/Makefile @@ -38,10 +38,19 @@ ifndef OPENJDK endif endif +# jarsigner is part of JRE +SUBDIRS = java security net/ssl jarsigner + +SUBDIRS_management = jmx +SUBDIRS_desktop = image inputmethods +SUBDIRS_enterprise = crypto/provider jndi \ + org xml rowset net/httpserver +SUBDIRS_misc = $(SCRIPT_SUBDIR) tracing servicetag nio demo + # Omit mirror since it's built with the apt tool. -SUBDIRS = $(SCRIPT_SUBDIR) image security crypto/provider jndi jmx \ - java inputmethods org xml rowset net/httpserver net/ssl demo \ - tools jarsigner tracing servicetag nio +SUBDIRS_tools = tools + +include $(BUILDDIR)/common/Subdirs.gmk all build clean clobber:: $(SUBDIRS-loop) diff --git a/jdk/make/com/sun/demo/Makefile b/jdk/make/com/sun/demo/Makefile index 09650fe33e..ac33c2385b 100644 --- a/jdk/make/com/sun/demo/Makefile +++ b/jdk/make/com/sun/demo/Makefile @@ -38,6 +38,8 @@ PRODUCT = sun include $(BUILDDIR)/common/Defs.gmk SUBDIRS = jvmti +include $(BUILDDIR)/common/Subdirs.gmk + all build clean clobber:: $(SUBDIRS-loop) diff --git a/jdk/make/com/sun/demo/jvmti/Makefile b/jdk/make/com/sun/demo/jvmti/Makefile index 6fedad20f8..5c0b444749 100644 --- a/jdk/make/com/sun/demo/jvmti/Makefile +++ b/jdk/make/com/sun/demo/jvmti/Makefile @@ -38,6 +38,8 @@ PRODUCT = sun include $(BUILDDIR)/common/Defs.gmk SUBDIRS = hprof +include $(BUILDDIR)/common/Subdirs.gmk + all build clean clobber:: $(SUBDIRS-loop) diff --git a/jdk/make/com/sun/inputmethods/Makefile b/jdk/make/com/sun/inputmethods/Makefile index a4b7c9f97a..ce84f39244 100644 --- a/jdk/make/com/sun/inputmethods/Makefile +++ b/jdk/make/com/sun/inputmethods/Makefile @@ -32,6 +32,8 @@ PRODUCT = sun include $(BUILDDIR)/common/Defs.gmk SUBDIRS = indicim thaiim +include $(BUILDDIR)/common/Subdirs.gmk + all build clean clobber:: $(SUBDIRS-loop) diff --git a/jdk/make/com/sun/java/Makefile b/jdk/make/com/sun/java/Makefile index dd16695dea..3f6faff597 100644 --- a/jdk/make/com/sun/java/Makefile +++ b/jdk/make/com/sun/java/Makefile @@ -31,7 +31,10 @@ BUILDDIR = ../../.. PRODUCT = plugin include $(BUILDDIR)/common/Defs.gmk -SUBDIRS = browser pack +SUBDIRS = pack +SUBDIRS_misc = browser +include $(BUILDDIR)/common/Subdirs.gmk + all build clean clobber:: $(SUBDIRS-loop) diff --git a/jdk/make/com/sun/java/browser/Makefile b/jdk/make/com/sun/java/browser/Makefile index d43bbe1421..148ba37082 100644 --- a/jdk/make/com/sun/java/browser/Makefile +++ b/jdk/make/com/sun/java/browser/Makefile @@ -32,6 +32,8 @@ PRODUCT = plugin include $(BUILDDIR)/common/Defs.gmk SUBDIRS = dom net +include $(BUILDDIR)/common/Subdirs.gmk + all build clean clobber:: $(SUBDIRS-loop) diff --git a/jdk/make/com/sun/jmx/Makefile b/jdk/make/com/sun/jmx/Makefile index 81470f0bef..ceff8a333d 100644 --- a/jdk/make/com/sun/jmx/Makefile +++ b/jdk/make/com/sun/jmx/Makefile @@ -51,6 +51,8 @@ else SUBDIRS = snmp endif +include $(BUILDDIR)/common/Subdirs.gmk + all build: $(SUBDIRS-loop) diff --git a/jdk/make/com/sun/jndi/Makefile b/jdk/make/com/sun/jndi/Makefile index 04a11126bd..204582ad5e 100644 --- a/jdk/make/com/sun/jndi/Makefile +++ b/jdk/make/com/sun/jndi/Makefile @@ -31,6 +31,8 @@ BUILDDIR = ../../.. include $(BUILDDIR)/common/Defs.gmk SUBDIRS = toolkit cosnaming ldap rmi dns +include $(BUILDDIR)/common/Subdirs.gmk + all build clean clobber:: $(SUBDIRS-loop) diff --git a/jdk/make/com/sun/jndi/rmi/Makefile b/jdk/make/com/sun/jndi/rmi/Makefile index eeefabf853..0298182bed 100644 --- a/jdk/make/com/sun/jndi/rmi/Makefile +++ b/jdk/make/com/sun/jndi/rmi/Makefile @@ -31,6 +31,8 @@ BUILDDIR = ../../../.. include $(BUILDDIR)/common/Defs.gmk SUBDIRS = registry +include $(BUILDDIR)/common/Subdirs.gmk + all build clean clobber:: $(SUBDIRS-loop) diff --git a/jdk/make/com/sun/nio/Makefile b/jdk/make/com/sun/nio/Makefile index 74151db7d6..1d6d18affc 100644 --- a/jdk/make/com/sun/nio/Makefile +++ b/jdk/make/com/sun/nio/Makefile @@ -31,6 +31,8 @@ BUILDDIR = ../../.. include $(BUILDDIR)/common/Defs.gmk SUBDIRS = sctp +include $(BUILDDIR)/common/Subdirs.gmk + all build clean clobber:: $(SUBDIRS-loop) diff --git a/jdk/make/com/sun/org/Makefile b/jdk/make/com/sun/org/Makefile index c0f1b841eb..033b47d24b 100644 --- a/jdk/make/com/sun/org/Makefile +++ b/jdk/make/com/sun/org/Makefile @@ -32,6 +32,8 @@ PRODUCT = org include $(BUILDDIR)/common/Defs.gmk SUBDIRS = apache +include $(BUILDDIR)/common/Subdirs.gmk + all build clean clobber:: $(SUBDIRS-loop) diff --git a/jdk/make/com/sun/org/apache/Makefile b/jdk/make/com/sun/org/apache/Makefile index 3427d05ed0..5bd353371a 100644 --- a/jdk/make/com/sun/org/apache/Makefile +++ b/jdk/make/com/sun/org/apache/Makefile @@ -31,6 +31,7 @@ BUILDDIR = ../../../.. include $(BUILDDIR)/common/Defs.gmk SUBDIRS = xml +include $(BUILDDIR)/common/Subdirs.gmk all build clean clobber:: $(SUBDIRS-loop) diff --git a/jdk/make/com/sun/security/Makefile b/jdk/make/com/sun/security/Makefile index 41df70fb42..4fc43e4a8d 100644 --- a/jdk/make/com/sun/security/Makefile +++ b/jdk/make/com/sun/security/Makefile @@ -30,7 +30,10 @@ BUILDDIR = ../../.. include $(BUILDDIR)/common/Defs.gmk -SUBDIRS = jgss sasl auth auth/module +SUBDIRS = auth +SUBDIRS_misc = jgss sasl auth/module +include $(BUILDDIR)/common/Subdirs.gmk + all build clean clobber:: $(SUBDIRS-loop) diff --git a/jdk/make/com/sun/tools/Makefile b/jdk/make/com/sun/tools/Makefile index be2b39c846..1187cdf809 100644 --- a/jdk/make/com/sun/tools/Makefile +++ b/jdk/make/com/sun/tools/Makefile @@ -35,6 +35,8 @@ include $(BUILDDIR)/common/Defs.gmk AUTO_FILES_JAVA_DIRS = com/sun/tools/extcheck SUBDIRS = attach +include $(BUILDDIR)/common/Subdirs.gmk + all build: $(SUBDIRS-loop) clean clobber:: diff --git a/jdk/make/com/sun/tracing/Makefile b/jdk/make/com/sun/tracing/Makefile index 166aee38db..e259902475 100644 --- a/jdk/make/com/sun/tracing/Makefile +++ b/jdk/make/com/sun/tracing/Makefile @@ -33,6 +33,8 @@ PRODUCT = sun include $(BUILDDIR)/common/Defs.gmk SUBDIRS = dtrace +include $(BUILDDIR)/common/Subdirs.gmk + all build: $(SUBDIRS-loop) clean clobber:: diff --git a/jdk/make/common/Defs.gmk b/jdk/make/common/Defs.gmk index 88a49d4443..75077b666a 100644 --- a/jdk/make/common/Defs.gmk +++ b/jdk/make/common/Defs.gmk @@ -576,17 +576,17 @@ endef define install-file $(prep-target) $(CP) $< $@ -$(install-module-file) +@$(install-module-file) endef define chmod-file $(CHMOD) $1 $@ -$(call chmod-module-file, $1) +@$(call chmod-module-file, $1) endef define install-sym-link $(LN) -s $1 $@ -$(call install-module-sym-link, $1) +@$(call install-module-sym-link, $1) endef # @@ -607,131 +607,9 @@ define java-vm-cleanup if [ -w $(HOTSPOT_LOG_NAME) ] ; then $(RM) $(HOTSPOT_LOG_NAME); fi endef -# Default make settings for processing SUBDIRS with clobber or clean names -SUBDIRS_MAKEFLAGS-clobber = INCREMENTAL_BUILD=false -SUBDIRS_MAKEFLAGS-clean = INCREMENTAL_BUILD=false - # Current directory CURRENT_DIRECTORY := $(shell $(PWD)) -# If no timing wanted, we need to define these as empty -ifdef NO_TIMING - -TIMING_ID:=NA - -define TIMING_start -t=0:0:0:0 -endef - -define TIMING_end -time_used=0 -endef - -else # NO_TIMING - -# Default timing id -TIMING_ID:=$(shell $(BASENAME) $(CURRENT_DIRECTORY)) - -# Timing start (must be used in same shell, e.g. same command line) -# Defines the shell variable $1 to have the start time. -define TIMING_start -$1=`$(DATE) +%j:%H:%M:%S` -endef - -# Timing end (must be used in same shell, e.g. same command line) -# Expects shell variable $1 to have been defined as the start time. -# Expects shell variable $2 to have timing id string -# Sets total_seconds shell variable as the total seconds used. -# Sets time_used shell variable to contain format "%dh%dm%ds" -define TIMING_end -begTime="$${$1}"; \ -timing_id="$${$2}"; \ -endTime=`$(DATE) +%j:%H:%M:%S`; \ -d1=`$(ECHO) $${begTime} | $(CUT) -d':' -f1 | $(SED) -e 's@^0*@@'`; \ -if [ "$${d1}" = "" ] ; then d1=0; fi; \ -h1=`$(ECHO) $${begTime} | $(CUT) -d':' -f2 | $(SED) -e 's@^0*@@'`; \ -if [ "$${h1}" = "" ] ; then h1=0; fi; \ -m1=`$(ECHO) $${begTime} | $(CUT) -d':' -f3 | $(SED) -e 's@^0*@@'`; \ -if [ "$${m1}" = "" ] ; then m1=0; fi; \ -s1=`$(ECHO) $${begTime} | $(CUT) -d':' -f4 | $(SED) -e 's@^0*@@'`; \ -if [ "$${s1}" = "" ] ; then s1=0; fi; \ -d2=`$(ECHO) $${endTime} | $(CUT) -d':' -f1 | $(SED) -e 's@^0*@@'`; \ -if [ "$${d2}" = "" ] ; then d2=0; fi; \ -h2=`$(ECHO) $${endTime} | $(CUT) -d':' -f2 | $(SED) -e 's@^0*@@'`; \ -if [ "$${h2}" = "" ] ; then h2=0; fi; \ -m2=`$(ECHO) $${endTime} | $(CUT) -d':' -f3 | $(SED) -e 's@^0*@@'`; \ -if [ "$${m2}" = "" ] ; then m2=0; fi; \ -s2=`$(ECHO) $${endTime} | $(CUT) -d':' -f4 | $(SED) -e 's@^0*@@'`; \ -if [ "$${s2}" = "" ] ; then s2=0; fi; \ -t1_secs=`$(EXPR) $${d1} '*' 60 '*' 60 '*' 24 '+' $${h1} '*' 60 '*' 60 \ - '+' $${m1} '*' 60 '+' $${s1}`; \ -t2_secs=`$(EXPR) $${d2} '*' 60 '*' 60 '*' 24 '+' $${h2} '*' 60 '*' 60 \ - '+' $${m2} '*' 60 '+' $${s2}`; \ -total_seconds=`$(EXPR) $${t2_secs} '-' $${t1_secs}`; \ -if [ "$${total_seconds}" -lt 0 ] ; then total_seconds=0; fi; \ -t_hour=`$(EXPR) $${total_seconds} '/' '(' 60 '*' 60 ')'`h; \ -t_min=`$(EXPR) '(' $${total_seconds} '%' '(' 60 '*' 60 ')' ')' '/' 60`m; \ -t_sec=`$(EXPR) $${total_seconds} '%' 60`s; \ -time_used=$${t_sec}; \ -if [ "$${t_hour}" != "0h" ] ; then \ -time_used=$${t_hour}$${t_min}$${t_sec}; \ -elif [ "$${t_min}" != "0m" ] ; then \ -time_used=$${t_min}$${t_sec}; \ -else \ -time_used=$${t_sec}; \ -fi; \ -$(PRINTF) " Timing: %05d seconds or %s for %s\n" \ - $${total_seconds} $${time_used} $${timing_id} -endef - -endif # NO_TIMING - -# Given a SUBDIRS list, cd into them and make them -# SUBDIRS_MAKEFLAGS Make settings for a subdir make -# SUBDIRS_MAKEFLAGS-$@ Make settings specific to this target -define SUBDIRS-loop -@$(ECHO) "Begin Processing SUBDIRS: $(SUBDIRS)" -@for i in DUMMY $(SUBDIRS) ; do \ - if [ "$$i" != "DUMMY" ] ; then \ - $(ECHO) ">>>Recursively making "$$i" "$@" @ `$(DATE)` ..."; \ - timing_id="$(TIMING_ID)-`$(BASENAME) $${i}`"; \ - $(call TIMING_start,startTime); \ - curDir=$(CURRENT_DIRECTORY); \ - $(CD) $$i; $(MAKE) $@ TIMING_ID=$${timing_id} \ - $(SUBDIRS_MAKEFLAGS) \ - $(SUBDIRS_MAKEFLAGS-$@) \ - FULL_VERSION=$(FULL_VERSION) \ - RELEASE=$(RELEASE) || exit 1; \ - $(CD) $${curDir}; \ - $(call TIMING_end,startTime,timing_id); \ - $(ECHO) "<<>>Recursively making "$$i" "$@" @ `$(DATE)` ..."; \ - timing_id="$(TIMING_ID)-`$(BASENAME) $${i}`"; \ - $(call TIMING_start,startTime); \ - curDir=$(CURRENT_DIRECTORY); \ - $(CD) $$i; $(MAKE) $@ TIMING_ID=$${timing_id} \ - $(OTHERSUBDIRS_MAKEFLAGS) \ - FULL_VERSION=$(FULL_VERSION) \ - RELEASE=$(RELEASE) || exit 1; \ - $(CD) $${curDir}; \ - $(call TIMING_end,startTime,timing_id); \ - $(ECHO) "<< subdirs for the named group +# +# By default, subdirs specified in the SUBDIRS and all SUBDIRS_* +# variables will be built. +# +# BUILD_MODULES variable can be used to specify one or more groups +# to be built (BUILD_MODULES=all will build all groups). +# +# Variables of the currently supported groups are: +# SUBDIRS_desktop +# SUBDIRS_management +# SUBDIRS_enterprise +# SUBDIRS_misc +# SUBDIRS_tools +# +# Change to the above list also need to update +# make/common/shared/Sanity.gmk. NOTE: this list is subject +# to change till the JDK 7 SE profiles/modules are finalized. +# +# Eventually we want to restructure the make directory +# according to these grouping (e.g. make/desktop/...) and +# the SUBDIRS_ variables would not be needed. +# +# To build the desktop and tools groups only, you can do: +# gnumake BUILD_MODULES="desktop tools" ... +# + +# Iterate the subdirectories specified in $1. +# - cd into each subdir and make them + +# Given a SUBDIRS* list (first argument), cd into them and make them +# SUBDIRS_MAKEFLAGS Make settings for a subdir make +# SUBDIRS_MAKEFLAGS-$@ Make settings specific to this target +# +define subdirs-group-loop +@$(ECHO) "Begin Processing SUBDIRS: $($1)" +@for i in DUMMY $($1) ; do \ + if [ "$$i" != "DUMMY" ] ; then \ + $(MAKE) -C $$i $@ $(SUBDIRS_MAKEFLAGS) $(SUBDIRS_MAKEFLAGS-$@) \ + FULL_VERSION=$(FULL_VERSION) RELEASE=$(RELEASE) || exit 1; \ + fi ; \ +done +@$(ECHO) "Done Processing SUBDIRS: $($1)" +endef + +# Given a OTHERSUBDIRS list, cd into them and make them (extra loop define) +# OTHERSUBDIRS_MAKEFLAGS Make settings for a subdir make +define OTHERSUBDIRS-loop +@$(ECHO) "Begin Processing OTHERSUBDIRS: $(OTHERSUBDIRS)" +@for i in DUMMY $(OTHERSUBDIRS) ; do \ + if [ "$$i" != "DUMMY" ] ; then \ + $(MAKE) -C $$i $@ $(OTHERSUBDIRS_MAKEFLAGS) \ + FULL_VERSION=$(FULL_VERSION) RELEASE=$(RELEASE) || exit 1; \ + fi ; \ +done +@$(ECHO) "Done Processing OTHERSUBDIRS: $(OTHERSUBDIRS)" +endef + +# +# Iterate the list specified in SUBDIRS_ only if +# SUBDIRS_ is set and or "all" is specified +# in the BUILD_MODULES variable +# +ifdef SUBDIRS_desktop + ifneq (,$(findstring desktop, $(BUILD_MODULES))) + define subdirs-desktop-loop + @$(call subdirs-group-loop,SUBDIRS_desktop) + endef + else + define subdirs-desktop-loop + endef + endif +else + define subdirs-desktop-loop + endef +endif # SUBDIRS_desktop + +ifdef SUBDIRS_enterprise + ifneq (,$(findstring enterprise, $(BUILD_MODULES))) + define subdirs-enterprise-loop + @$(call subdirs-group-loop,SUBDIRS_enterprise) + endef + else + define subdirs-enterprise-loop + endef + endif +else +define subdirs-enterprise-loop +endef +endif # SUBDIRS_enterprise + +ifdef SUBDIRS_management + ifneq (,$(findstring management, $(BUILD_MODULES))) + define subdirs-management-loop + @$(call subdirs-group-loop,SUBDIRS_management) + endef + else + define subdirs-management-loop + endef + endif +else +define subdirs-management-loop +endef +endif # SUBDIRS_management + +ifdef SUBDIRS_misc + ifneq (,$(findstring misc, $(BUILD_MODULES))) + define subdirs-misc-loop + @$(call subdirs-group-loop,SUBDIRS_misc) + endef + else + define subdirs-misc-loop + endef + endif +else +define subdirs-misc-loop +endef +endif # SUBDIRS_misc + +ifdef SUBDIRS_tools + ifneq (,$(findstring tools, $(BUILD_MODULES))) + define subdirs-tools-loop + @$(call subdirs-group-loop,SUBDIRS_tools) + endef + else + define subdirs-tools-loop + endef + endif +else +define subdirs-tools-loop +endef +endif # SUBDIRS_tools + +# +# If BUILD_MODULES is not set or it's set to "all", +# iterate all groups. +SUBDIRS_all = $(SUBDIRS) $(SUBDIRS_desktop) $(SUBDIRS_enterprise) \ + $(SUBDIRS_management) $(SUBDIRS_misc) $(SUBDIRS_tools) + +ifndef BUILD_MODULES +define SUBDIRS-loop + @$(call subdirs-group-loop,SUBDIRS_all) +endef + +else + +ifneq (,$(findstring all, $(BUILD_MODULES))) +define SUBDIRS-loop + @$(call subdirs-group-loop,SUBDIRS_all) +endef + +else # BUILD_MODULES set +# +# Iterate SUBDIRS and the groups specified in BUILD_MODULES +# +define SUBDIRS-loop + @$(call subdirs-group-loop,SUBDIRS) + @$(subdirs-desktop-loop) + @$(subdirs-enterprise-loop) + @$(subdirs-management-loop) + @$(subdirs-misc-loop) + @$(subdirs-tools-loop) +endef + +endif +endif # BUILD_MODULES diff --git a/jdk/make/common/shared/Sanity.gmk b/jdk/make/common/shared/Sanity.gmk index 7499f6bb18..e7e3978bc8 100644 --- a/jdk/make/common/shared/Sanity.gmk +++ b/jdk/make/common/shared/Sanity.gmk @@ -218,7 +218,8 @@ include $(JDK_MAKE_SHARED_DIR)/Sanity-Settings.gmk sane-zip_version \ sane-unzip_version \ sane-msvcrt_path \ - sane-freetype + sane-freetype \ + sane-build_modules ###################################################### # check for COPYRIGHT_YEAR variable @@ -844,6 +845,21 @@ else sane-freetype: endif +###################################################### +# if specified, BUILD_MODULES must contain valid values. +###################################################### +MODULES_REGEX="all|base|desktop|management|enterprise|misc|tools" +sane-build_modules: +ifdef BUILD_MODULES + @for m in $(BUILD_MODULES) ; do \ + valid=`$(ECHO) $$m | $(EGREP) $(MODULES_REGEX)`; \ + if [ "x$$valid" = "x" ] ; then \ + $(ECHO) "ERROR: $$m set in the BUILD_MODULES variable is invalid.\n" \ + "" >> $(ERROR_FILE); \ + fi \ + done +endif + ###################################################### # CUPS_HEADERS_PATH must be valid ###################################################### diff --git a/jdk/make/java/Makefile b/jdk/make/java/Makefile index ca48cc9bef..e3d046f7ae 100644 --- a/jdk/make/java/Makefile +++ b/jdk/make/java/Makefile @@ -38,9 +38,13 @@ SUBDIRS += hpi version jvm redist verify fdlibm java sun_nio jli main zip # Others # Note: java_crw_demo java_hprof_demo are demos but must be delivered built in sdk -SUBDIRS += security npt java_crw_demo java_hprof_demo \ - math awt util text applet net nio dyn \ - sql rmi jar beans logging management instrument + +SUBDIRS += security math util text net nio jar + +SUBDIRS_desktop = awt applet beans +SUBDIRS_management = management +SUBDIRS_misc = npt java_crw_demo java_hprof_demo \ + logging instrument dyn sql rmi ifeq ($(PLATFORM), solaris) @@ -53,6 +57,8 @@ ifeq ($(PLATFORM), linux) SUBDIRS += jexec endif # PLATFORM +include $(BUILDDIR)/common/Subdirs.gmk + all build clean clobber:: $(SUBDIRS-loop) diff --git a/jdk/make/java/hpi/Makefile b/jdk/make/java/hpi/Makefile index ee6453832e..69f3861c0b 100644 --- a/jdk/make/java/hpi/Makefile +++ b/jdk/make/java/hpi/Makefile @@ -34,6 +34,8 @@ include $(BUILDDIR)/common/Defs.gmk # Build specified the HPI implementations # SUBDIRS = $(HPIS) +include $(BUILDDIR)/common/Subdirs.gmk + all build clean clobber:: $(SUBDIRS-loop) diff --git a/jdk/make/java/java/Makefile b/jdk/make/java/java/Makefile index e3d5ee4231..26853ac3aa 100644 --- a/jdk/make/java/java/Makefile +++ b/jdk/make/java/java/Makefile @@ -218,6 +218,8 @@ ifeq ($(PLATFORM), solaris) endif SUBDIRS = reflect +include $(BUILDDIR)/common/Subdirs.gmk + all build: $(SUBDIRS-loop) clean clobber:: diff --git a/jdk/make/java/java/genlocales.gmk b/jdk/make/java/java/genlocales.gmk index 3adb769490..df9aec7267 100644 --- a/jdk/make/java/java/genlocales.gmk +++ b/jdk/make/java/java/genlocales.gmk @@ -49,7 +49,7 @@ Euro_Resources_properties := $(FILES_compiled_properties) # $(BUILDDIR)/java/text/FILES_java.gmk contains the "sun.text.resources" for # European language support -include $(BUILDDIR)/java/text/FILES_java.gmk +include $(BUILDDIR)/java/text/base/FILES_java.gmk Euro_Resources_java += $(FILES_java) diff --git a/jdk/make/java/main/Makefile b/jdk/make/java/main/Makefile index 4e90729d4e..9758d6dd8a 100644 --- a/jdk/make/java/main/Makefile +++ b/jdk/make/java/main/Makefile @@ -36,6 +36,8 @@ SUBDIRS = java javaw else SUBDIRS = java endif +include $(BUILDDIR)/common/Subdirs.gmk + all build clean clobber:: $(SUBDIRS-loop) diff --git a/jdk/make/java/nio/FILES_java.gmk b/jdk/make/java/nio/FILES_java.gmk index e38e4c67d0..f1f58dc972 100644 --- a/jdk/make/java/nio/FILES_java.gmk +++ b/jdk/make/java/nio/FILES_java.gmk @@ -26,7 +26,6 @@ FILES_src = \ java/nio/Bits.java \ java/nio/Buffer.java \ - java/nio/BufferPoolMXBean.java \ java/nio/ByteOrder.java \ java/nio/MappedByteBuffer.java \ java/nio/StringCharBuffer.java \ diff --git a/jdk/make/java/nio/Makefile b/jdk/make/java/nio/Makefile index 6dd15eac23..b2a17e2699 100644 --- a/jdk/make/java/nio/Makefile +++ b/jdk/make/java/nio/Makefile @@ -304,7 +304,11 @@ endif # PLATFORM # Rules # +SUBDIRS_management = mxbean +include $(BUILDDIR)/common/Subdirs.gmk + build: sources + $(SUBDIRS-loop) clean clobber:: $(RM) -r $(NIO_GEN) $(SNIO_GEN) diff --git a/jdk/make/java/nio/mxbean/Makefile b/jdk/make/java/nio/mxbean/Makefile new file mode 100644 index 0000000000..383d4dc18c --- /dev/null +++ b/jdk/make/java/nio/mxbean/Makefile @@ -0,0 +1,34 @@ +# +# Copyright 2010 Sun Microsystems, Inc. All Rights Reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Sun designates this +# particular file as subject to the "Classpath" exception as provided +# by Sun in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +# CA 95054 USA or visit www.sun.com if you need additional information or +# have any questions. +# + +BUILDDIR = ../../.. +MODULE = management +PACKAGE = java.nio +PRODUCT = java +include $(BUILDDIR)/common/Defs.gmk + +FILES_java = java/nio/BufferPoolMXBean.java + +include $(BUILDDIR)/common/Classes.gmk diff --git a/jdk/make/java/redist/Makefile b/jdk/make/java/redist/Makefile index d66244920f..28821008ab 100644 --- a/jdk/make/java/redist/Makefile +++ b/jdk/make/java/redist/Makefile @@ -62,7 +62,10 @@ CLASSSHARINGDATA_DIR = $(BUILDDIR)/tools/sharing # Needed to do file copy ABS_BUILDDIR :=$(call FullPath,$(BUILDDIR)) -SUBDIRS = fonts sajdi +SUBDIRS_desktop = fonts +SUBDIRS_tools = sajdi +include $(BUILDDIR)/common/Subdirs.gmk + all clean clobber:: $(SUBDIRS-loop) diff --git a/jdk/make/java/text/Makefile b/jdk/make/java/text/Makefile index 001f4717a9..4bda138f67 100644 --- a/jdk/make/java/text/Makefile +++ b/jdk/make/java/text/Makefile @@ -1,5 +1,5 @@ # -# Copyright 1996-2006 Sun Microsystems, Inc. All Rights Reserved. +# Copyright 2010 Sun Microsystems, Inc. All Rights Reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -23,86 +23,19 @@ # have any questions. # -BUILDDIR = ../.. -MODULE = base -PACKAGE = java.text -PRODUCT = sun - -include $(BUILDDIR)/common/Defs.gmk - -# -# Files -# -include FILES_java.gmk - -# -# Include -# -include $(BUILDDIR)/common/Classes.gmk - -# -# Rules to add data files BreakIterator # -TEXT_CLASSES = $(BUILDTOOLCLASSDIR)/java.text/classes - -# input -# -# Notes: sun.text.resources.BreakIteratorRules no longer goes to runtime. -# They are used at JDK build phase in order to create $(BIFILES) which -# are used on runtime instead. +# Makefile for building all of java.text # -TEXT_SRCDIR = $(SHARE_SRC)/classes/sun/text/resources -TEXT_SOURCES = $(TEXT_SRCDIR)/BreakIteratorRules.java \ - $(TEXT_SRCDIR)/BreakIteratorInfo.java -UNICODEDATA = $(BUILDDIR)/tools/UnicodeData - -# output -TEXT_CLASSDIR = $(CLASSBINDIR)/sun/text/resources -BIFILES = $(TEXT_CLASSDIR)/CharacterBreakIteratorData \ - $(TEXT_CLASSDIR)/WordBreakIteratorData \ - $(TEXT_CLASSDIR)/LineBreakIteratorData \ - $(TEXT_CLASSDIR)/SentenceBreakIteratorData - -ICU_FILES = $(TEXT_CLASSDIR)/unorm.icu \ - $(TEXT_CLASSDIR)/uprops.icu \ - $(TEXT_CLASSDIR)/ubidi.icu - -# builder -GENERATEBREAKITERATORDATA_JARFILE = \ - $(BUILDTOOLJARDIR)/generatebreakiteratordata.jar - -$(BIFILES): $(GENERATEBREAKITERATORDATA_JARFILE) \ - $(UNICODEDATA)/UnicodeData.txt \ - $(TEXT_SOURCES) - $(prep-target) - $(RM) -r $(TEXT_CLASSES) - $(MKDIR) -p $(TEXT_CLASSES) - $(BOOT_JAVAC_CMD) -d $(TEXT_CLASSES) \ - -sourcepath $(TEXT_SRCDIR) \ - $(TEXT_SOURCES) - $(MKDIR) -p $(TEXT_CLASSDIR) - $(BOOT_JAVA_CMD) -Xbootclasspath/p:$(TEXT_CLASSES) \ - -jar $(GENERATEBREAKITERATORDATA_JARFILE) \ - -o $(TEXT_CLASSDIR) \ - -spec $(UNICODEDATA)/UnicodeData.txt - @$(java-vm-cleanup) -build: $(BIFILES) $(ICU_FILES) - -# -# Extra rules to copy unorm.icu, uprops.icu, and ubidi.icu -# -$(TEXT_CLASSDIR)/unorm.icu: $(TEXT_SRCDIR)/unorm.icu - $(install-file) +BUILDDIR = ../.. +PRODUCT = sun +include $(BUILDDIR)/common/Defs.gmk -$(TEXT_CLASSDIR)/uprops.icu: $(TEXT_SRCDIR)/uprops.icu - $(install-file) +SUBDIRS = base +SUBDIRS_desktop = bidi -$(TEXT_CLASSDIR)/ubidi.icu: $(TEXT_SRCDIR)/ubidi.icu - $(install-file) +include $(BUILDDIR)/common/Subdirs.gmk -clean clobber:: - $(RM) -r $(TEXT_CLASSES) - $(RM) -r $(BIFILES) - $(RM) $(ICU_FILES) +all build clean clobber:: + $(SUBDIRS-loop) diff --git a/jdk/make/java/text/FILES_java.gmk b/jdk/make/java/text/base/FILES_java.gmk similarity index 98% rename from jdk/make/java/text/FILES_java.gmk rename to jdk/make/java/text/base/FILES_java.gmk index ada9bde7fe..6ca1f72c5b 100644 --- a/jdk/make/java/text/FILES_java.gmk +++ b/jdk/make/java/text/base/FILES_java.gmk @@ -29,7 +29,6 @@ FILES_java = \ java/text/AttributedString.java \ java/text/BreakDictionary.java \ java/text/BreakIterator.java \ - java/text/Bidi.java \ java/text/CharacterIterator.java \ java/text/CharacterIteratorFieldDelegate.java \ java/text/ChoiceFormat.java \ @@ -76,10 +75,6 @@ FILES_java = \ sun/text/Normalizer.java \ sun/text/SupplementaryCharacterData.java \ sun/text/UCompactIntArray.java \ - sun/text/bidi/BidiBase.java \ - sun/text/bidi/BidiLine.java \ - sun/text/bidi/BidiRun.java \ - \ sun/text/normalizer/CharTrie.java \ sun/text/normalizer/CharacterIteratorWrapper.java \ sun/text/normalizer/ICUBinary.java \ diff --git a/jdk/make/java/text/base/Makefile b/jdk/make/java/text/base/Makefile new file mode 100644 index 0000000000..d4cc5164a1 --- /dev/null +++ b/jdk/make/java/text/base/Makefile @@ -0,0 +1,108 @@ +# +# Copyright 1996-2006 Sun Microsystems, Inc. All Rights Reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Sun designates this +# particular file as subject to the "Classpath" exception as provided +# by Sun in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +# CA 95054 USA or visit www.sun.com if you need additional information or +# have any questions. +# + +BUILDDIR = ../../.. +MODULE = base +PACKAGE = java.text +PRODUCT = sun + +include $(BUILDDIR)/common/Defs.gmk + +# +# Files +# +include FILES_java.gmk + +# +# Include +# +include $(BUILDDIR)/common/Classes.gmk + +# +# Rules to add data files BreakIterator +# +TEXT_CLASSES = $(BUILDTOOLCLASSDIR)/java.text/classes + +# input +# +# Notes: sun.text.resources.BreakIteratorRules no longer goes to runtime. +# They are used at JDK build phase in order to create $(BIFILES) which +# are used on runtime instead. +# +TEXT_SRCDIR = $(SHARE_SRC)/classes/sun/text/resources +TEXT_SOURCES = $(TEXT_SRCDIR)/BreakIteratorRules.java \ + $(TEXT_SRCDIR)/BreakIteratorInfo.java +UNICODEDATA = $(BUILDDIR)/tools/UnicodeData + +# output +TEXT_CLASSDIR = $(CLASSBINDIR)/sun/text/resources +BIFILES = $(TEXT_CLASSDIR)/CharacterBreakIteratorData \ + $(TEXT_CLASSDIR)/WordBreakIteratorData \ + $(TEXT_CLASSDIR)/LineBreakIteratorData \ + $(TEXT_CLASSDIR)/SentenceBreakIteratorData + +ICU_FILES = $(TEXT_CLASSDIR)/unorm.icu \ + $(TEXT_CLASSDIR)/uprops.icu \ + $(TEXT_CLASSDIR)/ubidi.icu + +# builder +GENERATEBREAKITERATORDATA_JARFILE = \ + $(BUILDTOOLJARDIR)/generatebreakiteratordata.jar + +$(BIFILES): $(GENERATEBREAKITERATORDATA_JARFILE) \ + $(UNICODEDATA)/UnicodeData.txt \ + $(TEXT_SOURCES) + $(prep-target) + $(RM) -r $(TEXT_CLASSES) + $(MKDIR) -p $(TEXT_CLASSES) + $(BOOT_JAVAC_CMD) -d $(TEXT_CLASSES) \ + -sourcepath $(TEXT_SRCDIR) \ + $(TEXT_SOURCES) + $(MKDIR) -p $(TEXT_CLASSDIR) + $(BOOT_JAVA_CMD) -Xbootclasspath/p:$(TEXT_CLASSES) \ + -jar $(GENERATEBREAKITERATORDATA_JARFILE) \ + -o $(TEXT_CLASSDIR) \ + -spec $(UNICODEDATA)/UnicodeData.txt + @$(java-vm-cleanup) + +build: $(BIFILES) $(ICU_FILES) + +# +# Extra rules to copy unorm.icu, uprops.icu, and ubidi.icu +# +$(TEXT_CLASSDIR)/unorm.icu: $(TEXT_SRCDIR)/unorm.icu + $(install-file) + +$(TEXT_CLASSDIR)/uprops.icu: $(TEXT_SRCDIR)/uprops.icu + $(install-file) + +$(TEXT_CLASSDIR)/ubidi.icu: $(TEXT_SRCDIR)/ubidi.icu + $(install-file) + +clean clobber:: + $(RM) -r $(TEXT_CLASSES) + $(RM) -r $(BIFILES) + $(RM) $(ICU_FILES) + diff --git a/jdk/make/java/text/bidi/Makefile b/jdk/make/java/text/bidi/Makefile new file mode 100644 index 0000000000..e61c533534 --- /dev/null +++ b/jdk/make/java/text/bidi/Makefile @@ -0,0 +1,44 @@ +# +# Copyright 2010 Sun Microsystems, Inc. All Rights Reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Sun designates this +# particular file as subject to the "Classpath" exception as provided +# by Sun in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +# CA 95054 USA or visit www.sun.com if you need additional information or +# have any questions. +# + +BUILDDIR = ../../.. +PACKAGE = java.text +PRODUCT = sun +include $(BUILDDIR)/common/Defs.gmk + +# +# Files for Bidi that is not in the base module +# +FILES_java = \ + java/text/Bidi.java \ + sun/text/bidi/BidiBase.java \ + sun/text/bidi/BidiLine.java \ + sun/text/bidi/BidiRun.java \ + sun/text/CodePointIterator.java + +# +# Include +# +include $(BUILDDIR)/common/Classes.gmk diff --git a/jdk/make/javax/Makefile b/jdk/make/javax/Makefile index 8ec72ade7e..15f5cd7ecb 100644 --- a/jdk/make/javax/Makefile +++ b/jdk/make/javax/Makefile @@ -30,19 +30,24 @@ BUILDDIR = .. include $(BUILDDIR)/common/Defs.gmk +SUBDIRS = others + +SUBDIRS_management = management + +SUBDIRS_misc = \ + crypto \ + sql \ + rmi + # imageio uses xml, so build it last +SUBDIRS_desktop = \ + accessibility \ + print \ + swing \ + sound \ + imageio -SUBDIRS = \ - others \ - accessibility \ - print \ - swing \ - crypto \ - sound \ - sql \ - rmi \ - management \ - imageio +include $(BUILDDIR)/common/Subdirs.gmk all build: $(SUBDIRS-loop) diff --git a/jdk/make/javax/rmi/Makefile b/jdk/make/javax/rmi/Makefile index 10910f5d21..49f6c81790 100644 --- a/jdk/make/javax/rmi/Makefile +++ b/jdk/make/javax/rmi/Makefile @@ -31,6 +31,8 @@ BUILDDIR = ../.. include $(BUILDDIR)/common/Defs.gmk SUBDIRS = ssl +include $(BUILDDIR)/common/Subdirs.gmk + all build clean clobber:: $(SUBDIRS-loop) diff --git a/jdk/make/javax/sound/Makefile b/jdk/make/javax/sound/Makefile index 8b4948a15e..cc6c274e78 100644 --- a/jdk/make/javax/sound/Makefile +++ b/jdk/make/javax/sound/Makefile @@ -159,6 +159,7 @@ vpath %.cpp $(PLATFORM_SRC)/native/com/sun/media/sound # Include rules # include $(BUILDDIR)/common/Library.gmk +include $(BUILDDIR)/common/Subdirs.gmk # # Rules that copy files. diff --git a/jdk/make/javax/swing/Makefile b/jdk/make/javax/swing/Makefile index 16bfcac03a..7331426a07 100644 --- a/jdk/make/javax/swing/Makefile +++ b/jdk/make/javax/swing/Makefile @@ -40,6 +40,7 @@ AUTO_JAVA_PRUNE = plaf SUBDIRS = html32dtd plaf include $(BUILDDIR)/common/Classes.gmk +include $(BUILDDIR)/common/Subdirs.gmk build: other_files $(SUBDIRS-loop) diff --git a/jdk/make/jpda/Makefile b/jdk/make/jpda/Makefile index b2567882ef..857952b24b 100644 --- a/jdk/make/jpda/Makefile +++ b/jdk/make/jpda/Makefile @@ -35,6 +35,7 @@ include $(BUILDDIR)/common/Defs.gmk # Core. # SUBDIRS = jdwp back front transport expr tty bdi gui +include $(BUILDDIR)/common/Subdirs.gmk all build clean clobber:: $(SUBDIRS-loop) diff --git a/jdk/make/jpda/transport/Makefile b/jdk/make/jpda/transport/Makefile index 9069032fa6..dddc0dbc84 100644 --- a/jdk/make/jpda/transport/Makefile +++ b/jdk/make/jpda/transport/Makefile @@ -36,6 +36,8 @@ SUBDIRS = socket ifeq ($(PLATFORM), windows) SUBDIRS += shmem endif # PLATFORM + +include $(BUILDDIR)/common/Subdirs.gmk all build clean clobber:: $(SUBDIRS-loop) diff --git a/jdk/make/mkdemo/Makefile b/jdk/make/mkdemo/Makefile index b0bd7f5902..86e9de6a03 100644 --- a/jdk/make/mkdemo/Makefile +++ b/jdk/make/mkdemo/Makefile @@ -31,7 +31,13 @@ BUILDDIR = .. PRODUCT = demos include $(BUILDDIR)/common/Defs.gmk -SUBDIRS = applets jfc jvmti management jni scripting jpda +SUBDIRS = jni +SUBDIRS_desktop = applets jfc +SUBDIRS_management = management +SUBDIRS_misc = scripting +SUBDIRS_tools = jpda jvmti + +include $(BUILDDIR)/common/Subdirs.gmk all build:: nbproject $(SUBDIRS-loop) diff --git a/jdk/make/mkdemo/applets/Makefile b/jdk/make/mkdemo/applets/Makefile index f8000bfdc7..79e0a9d2bb 100644 --- a/jdk/make/mkdemo/applets/Makefile +++ b/jdk/make/mkdemo/applets/Makefile @@ -40,6 +40,7 @@ endif SUBDIRS_MAKEFLAGS += DEMO_IS_APPLET=true +include $(BUILDDIR)/common/Subdirs.gmk all build clean clobber:: $(SUBDIRS-loop) diff --git a/jdk/make/mkdemo/jfc/Makefile b/jdk/make/mkdemo/jfc/Makefile index 06817a1cb2..e57ca5b9c1 100644 --- a/jdk/make/mkdemo/jfc/Makefile +++ b/jdk/make/mkdemo/jfc/Makefile @@ -46,6 +46,7 @@ ifndef OPENJDK SUBDIRS += Java2D SwingSet2 Stylepad endif +include $(BUILDDIR)/common/Subdirs.gmk all build clean clobber:: $(SUBDIRS-loop) diff --git a/jdk/make/mkdemo/jni/Makefile b/jdk/make/mkdemo/jni/Makefile index 4cc363902e..dd9e617c3c 100644 --- a/jdk/make/mkdemo/jni/Makefile +++ b/jdk/make/mkdemo/jni/Makefile @@ -37,6 +37,8 @@ ifeq ($(PLATFORM),solaris) SUBDIRS += Poller endif +include $(BUILDDIR)/common/Subdirs.gmk + all build clean clobber:: $(SUBDIRS-loop) diff --git a/jdk/make/mkdemo/jvmti/Makefile b/jdk/make/mkdemo/jvmti/Makefile index c966170fce..f59a9d287c 100644 --- a/jdk/make/mkdemo/jvmti/Makefile +++ b/jdk/make/mkdemo/jvmti/Makefile @@ -48,6 +48,8 @@ SUBDIRS = \ waiters \ hprof +include $(BUILDDIR)/common/Subdirs.gmk + all build clean clobber:: $(SUBDIRS-loop) diff --git a/jdk/make/mkdemo/management/Makefile b/jdk/make/mkdemo/management/Makefile index e80b30afe0..42d3c7c677 100644 --- a/jdk/make/mkdemo/management/Makefile +++ b/jdk/make/mkdemo/management/Makefile @@ -38,6 +38,8 @@ SUBDIRS = FullThreadDump \ MemoryMonitor \ JTop +include $(BUILDDIR)/common/Subdirs.gmk + all build clean clobber:: $(SUBDIRS-loop) diff --git a/jdk/make/mkdemo/scripting/Makefile b/jdk/make/mkdemo/scripting/Makefile index b32cfb77d5..42e46ed3b0 100644 --- a/jdk/make/mkdemo/scripting/Makefile +++ b/jdk/make/mkdemo/scripting/Makefile @@ -32,6 +32,7 @@ PRODUCT = demos include $(BUILDDIR)/common/Defs.gmk SUBDIRS = jconsole-plugin +include $(BUILDDIR)/common/Subdirs.gmk all build clean clobber:: $(SUBDIRS-loop) diff --git a/jdk/make/mksample/Makefile b/jdk/make/mksample/Makefile index 2d87ebd734..0822f031de 100644 --- a/jdk/make/mksample/Makefile +++ b/jdk/make/mksample/Makefile @@ -37,13 +37,18 @@ else WEBSERVICES_SUBDIR = webservices endif -SUBDIRS = nio jmx scripting $(WEBSERVICES_SUBDIR) nbproject +SUBDIRS = +SUBDIRS_misc = nio scripting nbproject +SUBDIRS_enterprise = $(WEBSERVICES_SUBDIR) +SUBDIRS_management = jmx # include dtrace samples in Solaris builds ifeq ($(PLATFORM), solaris) SUBDIRS += dtrace endif +include $(BUILDDIR)/common/Subdirs.gmk + all build clean clobber:: $(SUBDIRS-loop) diff --git a/jdk/make/mksample/jmx/Makefile b/jdk/make/mksample/jmx/Makefile index 94d0a1843d..0528442dce 100644 --- a/jdk/make/mksample/jmx/Makefile +++ b/jdk/make/mksample/jmx/Makefile @@ -32,6 +32,8 @@ PRODUCT = java include $(BUILDDIR)/common/Defs.gmk SUBDIRS = jmx-scandir +include $(BUILDDIR)/common/Subdirs.gmk + all build clean clobber:: $(SUBDIRS-loop) diff --git a/jdk/make/mksample/nio/Makefile b/jdk/make/mksample/nio/Makefile index 5fcfd03a78..03fc36d3ac 100644 --- a/jdk/make/mksample/nio/Makefile +++ b/jdk/make/mksample/nio/Makefile @@ -32,6 +32,8 @@ PRODUCT = java include $(BUILDDIR)/common/Defs.gmk SUBDIRS = file multicast server +include $(BUILDDIR)/common/Subdirs.gmk + all build clean clobber:: $(SUBDIRS-loop) diff --git a/jdk/make/mksample/scripting/Makefile b/jdk/make/mksample/scripting/Makefile index 0fd9e8737e..2cae9f6c40 100644 --- a/jdk/make/mksample/scripting/Makefile +++ b/jdk/make/mksample/scripting/Makefile @@ -32,6 +32,8 @@ PRODUCT = java include $(BUILDDIR)/common/Defs.gmk SUBDIRS = scriptpad +include $(BUILDDIR)/common/Subdirs.gmk + all build clean clobber:: $(SUBDIRS-loop) diff --git a/jdk/make/mksample/webservices/Makefile b/jdk/make/mksample/webservices/Makefile index 208db3c644..4dee839c34 100644 --- a/jdk/make/mksample/webservices/Makefile +++ b/jdk/make/mksample/webservices/Makefile @@ -32,6 +32,7 @@ PRODUCT = java include $(BUILDDIR)/common/Defs.gmk SUBDIRS = EbayClient EbayServer +include $(BUILDDIR)/common/Subdirs.gmk all build clean clobber:: $(SUBDIRS-loop) diff --git a/jdk/make/org/Makefile b/jdk/make/org/Makefile index 0b66445ecc..1d249295be 100644 --- a/jdk/make/org/Makefile +++ b/jdk/make/org/Makefile @@ -32,6 +32,7 @@ PRODUCT = org include $(BUILDDIR)/common/Defs.gmk SUBDIRS = ietf jcp +include $(BUILDDIR)/common/Subdirs.gmk all build clean clobber:: $(SUBDIRS-loop) diff --git a/jdk/make/org/ietf/Makefile b/jdk/make/org/ietf/Makefile index 9c4618701c..0d3835b245 100644 --- a/jdk/make/org/ietf/Makefile +++ b/jdk/make/org/ietf/Makefile @@ -31,6 +31,8 @@ BUILDDIR = ../.. include $(BUILDDIR)/common/Defs.gmk SUBDIRS = jgss +include $(BUILDDIR)/common/Subdirs.gmk + all build clean clobber:: $(SUBDIRS-loop) diff --git a/jdk/make/sun/Makefile b/jdk/make/sun/Makefile index 7cf480fa83..8e224e52ae 100644 --- a/jdk/make/sun/Makefile +++ b/jdk/make/sun/Makefile @@ -58,13 +58,18 @@ ifdef OPENJDK else RENDER_SUBDIR = dcpr endif + # nio need to be compiled before awt to have all charsets ready -SUBDIRS = jar security javazic misc jkernel net audio $(RENDER_SUBDIR) image \ - nio awt splashscreen $(XAWT_SUBDIR) \ - $(HEADLESS_SUBDIR) $(DGA_SUBDIR) \ - font jpeg cmm applet rmi beans $(JDBC_SUBDIR) \ - jawt text launcher management $(ORG_SUBDIR) \ - native2ascii serialver tools jconsole tracing +SUBDIRS = jar security javazic misc net nio text launcher +SUBDIRS_desktop = audio $(RENDER_SUBDIR) image \ + awt splashscreen $(XAWT_SUBDIR) \ + $(HEADLESS_SUBDIR) $(DGA_SUBDIR) \ + jawt font jpeg cmm applet beans +SUBDIRS_management = management +SUBDIRS_misc = jkernel $(ORG_SUBDIR) \ + rmi $(JDBC_SUBDIR) tracing +SUBDIRS_tools = native2ascii serialver tools jconsole +include $(BUILDDIR)/common/Subdirs.gmk all build clean clobber:: $(SUBDIRS-loop) diff --git a/jdk/make/sun/cmm/Makefile b/jdk/make/sun/cmm/Makefile index dc8a87b6e6..e6738821c5 100644 --- a/jdk/make/sun/cmm/Makefile +++ b/jdk/make/sun/cmm/Makefile @@ -36,6 +36,8 @@ else # !OPENJDK ICCPROFILE_SRC_DIR = $(CLOSED_SRC)/share/lib/cmm/kcms endif # OPENJDK +include $(BUILDDIR)/common/Subdirs.gmk + # # ICC Profiles used by the CMM. # diff --git a/jdk/make/sun/image/Makefile b/jdk/make/sun/image/Makefile index 0a264b669d..cd69637b9e 100644 --- a/jdk/make/sun/image/Makefile +++ b/jdk/make/sun/image/Makefile @@ -43,6 +43,8 @@ ifeq ($(PLATFORM),solaris) endif endif +include $(BUILDDIR)/common/Subdirs.gmk + all build clean clobber:: $(SUBDIRS-loop) diff --git a/jdk/make/sun/management/Makefile b/jdk/make/sun/management/Makefile index a54b1dd0be..516cd0dc59 100644 --- a/jdk/make/sun/management/Makefile +++ b/jdk/make/sun/management/Makefile @@ -47,6 +47,8 @@ else endif SUBDIRS += jmxremote +include $(BUILDDIR)/common/Subdirs.gmk + all build clean clobber:: $(SUBDIRS-loop) diff --git a/jdk/make/sun/net/Makefile b/jdk/make/sun/net/Makefile index d5d3dd16a2..7ddc94f04b 100644 --- a/jdk/make/sun/net/Makefile +++ b/jdk/make/sun/net/Makefile @@ -29,6 +29,8 @@ PRODUCT = sun include $(BUILDDIR)/common/Defs.gmk SUBDIRS = others spi +include $(BUILDDIR)/common/Subdirs.gmk + all build clean clobber:: $(SUBDIRS-loop) diff --git a/jdk/make/sun/net/spi/Makefile b/jdk/make/sun/net/spi/Makefile index 7fa860032e..7ecefa88ff 100644 --- a/jdk/make/sun/net/spi/Makefile +++ b/jdk/make/sun/net/spi/Makefile @@ -26,7 +26,9 @@ BUILDDIR = ../../.. include $(BUILDDIR)/common/Defs.gmk -SUBDIRS = nameservice +SUBDIRS_misc = nameservice +include $(BUILDDIR)/common/Subdirs.gmk + all build clean clobber:: $(SUBDIRS-loop) diff --git a/jdk/make/sun/net/spi/nameservice/Makefile b/jdk/make/sun/net/spi/nameservice/Makefile index 4c9aba37a8..f7df0b79ae 100644 --- a/jdk/make/sun/net/spi/nameservice/Makefile +++ b/jdk/make/sun/net/spi/nameservice/Makefile @@ -27,6 +27,8 @@ BUILDDIR = ../../../.. include $(BUILDDIR)/common/Defs.gmk SUBDIRS = dns +include $(BUILDDIR)/common/Subdirs.gmk + all build clean clobber:: $(SUBDIRS-loop) diff --git a/jdk/make/sun/nio/Makefile b/jdk/make/sun/nio/Makefile index 76051c1b17..538c0bc37b 100644 --- a/jdk/make/sun/nio/Makefile +++ b/jdk/make/sun/nio/Makefile @@ -29,6 +29,8 @@ PRODUCT = sun include $(BUILDDIR)/common/Defs.gmk SUBDIRS = cs +include $(BUILDDIR)/common/Subdirs.gmk + all build clean clobber:: $(SUBDIRS-loop) diff --git a/jdk/make/sun/org/Makefile b/jdk/make/sun/org/Makefile index 7d3496aa95..ddfb2c5fcf 100644 --- a/jdk/make/sun/org/Makefile +++ b/jdk/make/sun/org/Makefile @@ -32,6 +32,8 @@ PRODUCT = org include $(BUILDDIR)/common/Defs.gmk SUBDIRS = mozilla +include $(BUILDDIR)/common/Subdirs.gmk + all build clean clobber:: $(SUBDIRS-loop) diff --git a/jdk/make/sun/org/mozilla/Makefile b/jdk/make/sun/org/mozilla/Makefile index 47f467f16a..2eadf61de0 100644 --- a/jdk/make/sun/org/mozilla/Makefile +++ b/jdk/make/sun/org/mozilla/Makefile @@ -32,6 +32,8 @@ PRODUCT = org include $(BUILDDIR)/common/Defs.gmk SUBDIRS = javascript +include $(BUILDDIR)/common/Subdirs.gmk + all build clean clobber:: $(SUBDIRS-loop) diff --git a/jdk/make/sun/rmi/Makefile b/jdk/make/sun/rmi/Makefile index 59179b0c0f..3acbd21de3 100644 --- a/jdk/make/sun/rmi/Makefile +++ b/jdk/make/sun/rmi/Makefile @@ -43,6 +43,8 @@ ifeq ($(PLATFORM), windows) SUBDIRS += cgi endif # PLATFORM +include $(BUILDDIR)/common/Subdirs.gmk + # Then do the rest all build clean clobber :: $(SUBDIRS-loop) diff --git a/jdk/make/sun/security/Makefile b/jdk/make/sun/security/Makefile index 92371cc60c..1950c89262 100644 --- a/jdk/make/sun/security/Makefile +++ b/jdk/make/sun/security/Makefile @@ -67,8 +67,10 @@ ifdef DISABLE_INTREE_EC INTREE_EC = endif -SUBDIRS = $(INTREE_EC) other action util tools jgss krb5 smartcardio \ - $(PKCS11) $(JGSS_WRAPPER) $(MSCAPI) +SUBDIRS = $(INTREE_EC) other action util krb5 +SUBDIRS_misc = jgss $(PKCS11) $(JGSS_WRAPPER) $(MSCAPI) smartcardio +SUBDIRS_tools = tools +include $(BUILDDIR)/common/Subdirs.gmk all build clean clobber:: $(SUBDIRS-loop) diff --git a/jdk/make/sun/tracing/Makefile b/jdk/make/sun/tracing/Makefile index 5c3711f005..f9f4439cde 100644 --- a/jdk/make/sun/tracing/Makefile +++ b/jdk/make/sun/tracing/Makefile @@ -33,6 +33,8 @@ PRODUCT = sun include $(BUILDDIR)/common/Defs.gmk SUBDIRS = dtrace +include $(BUILDDIR)/common/Subdirs.gmk + all build: $(SUBDIRS-loop) clean clobber:: diff --git a/jdk/make/tools/Makefile b/jdk/make/tools/Makefile index d92550cdd9..24c0fb19cb 100644 --- a/jdk/make/tools/Makefile +++ b/jdk/make/tools/Makefile @@ -56,6 +56,8 @@ ifndef DISABLE_NIMBUS SUBDIRS += generate_nimbus endif +include $(BUILDDIR)/common/Subdirs.gmk + all build clean clobber:: $(SUBDIRS-loop) -- GitLab