jdk/makefiles/CopyIntoClasses.gmk
changeset 13164 72c5d01a857d
parent 12892 3ef14bab6254
child 13702 efd6a05935b2
equal deleted inserted replaced
13082:9b19b2302c28 13164:72c5d01a857d
   131   $(wildcard $(SWING_PLAF_METAL_RESOURCES_DIR)/icons/*.png) \
   131   $(wildcard $(SWING_PLAF_METAL_RESOURCES_DIR)/icons/*.png) \
   132   $(wildcard $(SWING_PLAF_METAL_RESOURCES_DIR)/icons/ocean/*.gif) \
   132   $(wildcard $(SWING_PLAF_METAL_RESOURCES_DIR)/icons/ocean/*.gif) \
   133   $(wildcard $(SWING_PLAF_METAL_RESOURCES_DIR)/icons/ocean/*.png) \
   133   $(wildcard $(SWING_PLAF_METAL_RESOURCES_DIR)/icons/ocean/*.png) \
   134   $(wildcard $(SWING_PLAF_METAL_RESOURCES_DIR)/sounds/*.wav)
   134   $(wildcard $(SWING_PLAF_METAL_RESOURCES_DIR)/sounds/*.wav)
   135 
   135 
   136 ifneq ($(PLATFORM), windows)
   136 ifneq ($(OPENJDK_TARGET_OS), windows)
   137   # Only copy GTK resources on Solaris/Linux
   137   # Only copy GTK resources on Solaris/Linux
   138   SWING_PLAF_GTK_RESOURCES_DIR = $(JDK_TOPDIR)/src/share/classes/com/sun/java/swing/plaf/gtk
   138   SWING_PLAF_GTK_RESOURCES_DIR = $(JDK_TOPDIR)/src/share/classes/com/sun/java/swing/plaf/gtk
   139   COPY_FILES += \
   139   COPY_FILES += \
   140     $(wildcard $(SWING_PLAF_GTK_RESOURCES_DIR)/icons/*.gif) \
   140     $(wildcard $(SWING_PLAF_GTK_RESOURCES_DIR)/icons/*.gif) \
   141     $(wildcard $(SWING_PLAF_GTK_RESOURCES_DIR)/icons/*.png) \
   141     $(wildcard $(SWING_PLAF_GTK_RESOURCES_DIR)/icons/*.png) \
   172 
   172 
   173 # Make sure the output directory is created.
   173 # Make sure the output directory is created.
   174 $(shell $(MKDIR) -p $(JDK_OUTPUTDIR)/classes/META-INF/services)
   174 $(shell $(MKDIR) -p $(JDK_OUTPUTDIR)/classes/META-INF/services)
   175 # Find all META-INF/services/* files
   175 # Find all META-INF/services/* files
   176 ALL_META-INF_DIRS_share:=$(shell $(FIND) $(JDK_TOPDIR)/src/share/classes -type d -a -name META-INF)
   176 ALL_META-INF_DIRS_share:=$(shell $(FIND) $(JDK_TOPDIR)/src/share/classes -type d -a -name META-INF)
   177 ALL_META-INF_DIRS_hostapi:=$(shell $(FIND) $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/classes -type d -a -name META-INF)
   177 ALL_META-INF_DIRS_targetapi:=$(shell $(FIND) $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/classes -type d -a -name META-INF)
   178 # Platform specific overrides shared
   178 # Platform specific overrides shared
   179 ifneq ($(ALL_META-INF_DIRS_hostapi),)
   179 ifneq ($(ALL_META-INF_DIRS_targetapi),)
   180     ALL_META-INF_DIRS:=$(ALL_META-INF_DIRS_hostapi) \
   180     ALL_META-INF_DIRS:=$(ALL_META-INF_DIRS_targetapi) \
   181 	$(filter-out %$(patsubst $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/classes%,%,$(ALL_META-INF_DIRS_hostapi)),\
   181 	$(filter-out %$(patsubst $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/classes%,%,$(ALL_META-INF_DIRS_targetapi)),\
   182 		$(ALL_META-INF_DIRS_share))
   182 		$(ALL_META-INF_DIRS_share))
   183 else
   183 else
   184     ALL_META-INF_DIRS:=$(ALL_META-INF_DIRS_share)
   184     ALL_META-INF_DIRS:=$(ALL_META-INF_DIRS_share)
   185 endif
   185 endif
   186 # Filter out META-INF dirs that shouldn't be included
   186 # Filter out META-INF dirs that shouldn't be included
   187 ifdef OPENJDK
   187 ifdef OPENJDK
   188   ALL_META-INF_DIRS:=$(filter-out %com/sun/script/javascript/META-INF,$(ALL_META-INF_DIRS))
   188   ALL_META-INF_DIRS:=$(filter-out %com/sun/script/javascript/META-INF,$(ALL_META-INF_DIRS))
   189 endif
   189 endif
   190 
   190 
   191 ifndef OPENJDK
   191 ifndef OPENJDK
   192 ifneq ($(PLATFORM), macosx)
   192 ifneq ($(OPENJDK_TARGET_OS), macosx)
   193     ALL_META-INF_DIRS += $(JDK_TOPDIR)/src/closed/share/classes/sun/jdbc/odbc/META-INF
   193     ALL_META-INF_DIRS += $(JDK_TOPDIR)/src/closed/share/classes/sun/jdbc/odbc/META-INF
   194 endif
   194 endif
   195 endif
   195 endif
   196 
   196 
   197 ifndef OPENJDK
   197 ifndef OPENJDK
   214 # The \n in the printf command is needed to make sed work on Solaris.
   214 # The \n in the printf command is needed to make sed work on Solaris.
   215 OUT_SERVICES_FILES:=$(addprefix $(JDK_OUTPUTDIR)/classes/META-INF/services/,\
   215 OUT_SERVICES_FILES:=$(addprefix $(JDK_OUTPUTDIR)/classes/META-INF/services/,\
   216 	$(shell $(PRINTF) "$(SRC_SERVICES_FILES)\n" | $(SED) -e 's|/[^ ]*/META-INF/services/||g'))
   216 	$(shell $(PRINTF) "$(SRC_SERVICES_FILES)\n" | $(SED) -e 's|/[^ ]*/META-INF/services/||g'))
   217 OUT_SERVICES_FILES_COLON:=$(addsuffix :,$(OUT_SERVICES_FILES))
   217 OUT_SERVICES_FILES_COLON:=$(addsuffix :,$(OUT_SERVICES_FILES))
   218 # Exception handling for print services with no META-INF directory
   218 # Exception handling for print services with no META-INF directory
   219 SRC_SERVICES_FILES_PRINT = $(wildcard $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/classes/sun/print/services/*)
   219 SRC_SERVICES_FILES_PRINT = $(wildcard $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/classes/sun/print/services/*)
   220 OUT_SERVICES_FILES_PRINT = $(addprefix $(JDK_OUTPUTDIR)/classes/META-INF/services/,\
   220 OUT_SERVICES_FILES_PRINT = $(addprefix $(JDK_OUTPUTDIR)/classes/META-INF/services/,\
   221 	$(patsubst $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/classes/sun/print/services/%,%,\
   221 	$(patsubst $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/classes/sun/print/services/%,%,\
   222 		$(SRC_SERVICES_FILES_PRINT)))
   222 		$(SRC_SERVICES_FILES_PRINT)))
   223 OUT_SERVICES_FILES_PRINT_COLON = $(addsuffix :,$(OUT_SERVICES_FILES_PRINT))
   223 OUT_SERVICES_FILES_PRINT_COLON = $(addsuffix :,$(OUT_SERVICES_FILES_PRINT))
   224 RULES_SERVICES_PRINT = $(join $(OUT_SERVICES_FILES_PRINT_COLON),$(SRC_SERVICES_FILES_PRINT))
   224 RULES_SERVICES_PRINT = $(join $(OUT_SERVICES_FILES_PRINT_COLON),$(SRC_SERVICES_FILES_PRINT))
   225 
   225 
   226 # Now setup the dependency rules to generate a META-INF/services/... from the correct source.
   226 # Now setup the dependency rules to generate a META-INF/services/... from the correct source.
   227 META-INF_RULES_SERVICES:=$(RULES_SERVICES_PRINT) $(join $(OUT_SERVICES_FILES_COLON),$(SRC_SERVICES_FILES))
   227 META-INF_RULES_SERVICES:=$(RULES_SERVICES_PRINT) $(join $(OUT_SERVICES_FILES_COLON),$(SRC_SERVICES_FILES))
   228 # Eval the newly created rules to incorporate them into the make tree.
   228 # Eval the newly created rules to incorporate them into the make tree.
   229 define addto_meta-inf_services
   229 define addto_meta-inf_services
   230 $1
   230 $1
   231 	echo Installing META-INF/services/$$(@F) 
   231 	echo Installing META-INF/services/$$(@F) 
   232 	$(CAT) $$< | $(SED) -e "s/^#\[$(PLATFORM)\]//" > $$@
   232 	$(CAT) $$< | $(SED) -e "s/^#\[$(OPENJDK_TARGET_OS)\]//" > $$@
   233 endef
   233 endef
   234 $(foreach i,$(META-INF_RULES_SERVICES),$(eval $(call addto_meta-inf_services,$i)))
   234 $(foreach i,$(META-INF_RULES_SERVICES),$(eval $(call addto_meta-inf_services,$i)))
   235 # Here is the generic rule, whose receipt the above rules will trigger.
   235 # Here is the generic rule, whose receipt the above rules will trigger.
   236 
   236 
   237 COPY_EXTRA += $(OUT_SERVICES_FILES)
   237 COPY_EXTRA += $(OUT_SERVICES_FILES)
   259             javax.sound.sampled.spi.AudioFileWriter \
   259             javax.sound.sampled.spi.AudioFileWriter \
   260             javax.sound.sampled.spi.FormatConversionProvider
   260             javax.sound.sampled.spi.FormatConversionProvider
   261 
   261 
   262 COPY_EXTRA += $(foreach F,$(notdir $(JAVAX_SOUND_SRC_FILES)),$(JDK_OUTPUTDIR)/classes/META-INF/services/${F})
   262 COPY_EXTRA += $(foreach F,$(notdir $(JAVAX_SOUND_SRC_FILES)),$(JDK_OUTPUTDIR)/classes/META-INF/services/${F})
   263 
   263 
   264 ifeq ($(PLATFORM)-$(ARCH),windows-ia64)
   264 ifeq ($(OPENJDK_TARGET_OS)-$(ARCH),windows-ia64)
   265 	JAVAX_SOUND_SRC_FILES += windows-ia64/javax.sound.sampled.spi.MixerProvider
   265 	JAVAX_SOUND_SRC_FILES += windows-ia64/javax.sound.sampled.spi.MixerProvider
   266 	COPY_EXTRA += $(JDK_OUTPUTDIR)/classes/META-INF/services/javax.sound.sampled.spi.MixerProvider
   266 	COPY_EXTRA += $(JDK_OUTPUTDIR)/classes/META-INF/services/javax.sound.sampled.spi.MixerProvider
   267 else ifeq ($(PLATFORM),windows)
   267 else ifeq ($(OPENJDK_TARGET_OS),windows)
   268 	JAVAX_SOUND_SRC_FILES += windows-i586/javax.sound.sampled.spi.MixerProvider
   268 	JAVAX_SOUND_SRC_FILES += windows-i586/javax.sound.sampled.spi.MixerProvider
   269 	COPY_EXTRA += $(JDK_OUTPUTDIR)/classes/META-INF/services/javax.sound.sampled.spi.MixerProvider
   269 	COPY_EXTRA += $(JDK_OUTPUTDIR)/classes/META-INF/services/javax.sound.sampled.spi.MixerProvider
   270 else ifeq ($(PLATFORM)-$(ARCH),linux-i586)
   270 else ifeq ($(OPENJDK_TARGET_OS)-$(ARCH),linux-i586)
   271 	JAVAX_SOUND_SRC_FILES += linux-i586/javax.sound.sampled.spi.MixerProvider
   271 	JAVAX_SOUND_SRC_FILES += linux-i586/javax.sound.sampled.spi.MixerProvider
   272 	COPY_EXTRA += $(JDK_OUTPUTDIR)/classes/META-INF/services/javax.sound.sampled.spi.MixerProvider
   272 	COPY_EXTRA += $(JDK_OUTPUTDIR)/classes/META-INF/services/javax.sound.sampled.spi.MixerProvider
   273 else
   273 else
   274 	JAVAX_SOUND_SRC_FILES += javax.sound.sampled.spi.MixerProvider
   274 	JAVAX_SOUND_SRC_FILES += javax.sound.sampled.spi.MixerProvider
   275 	COPY_EXTRA += $(JDK_OUTPUTDIR)/classes/META-INF/services/javax.sound.sampled.spi.MixerProvider
   275 	COPY_EXTRA += $(JDK_OUTPUTDIR)/classes/META-INF/services/javax.sound.sampled.spi.MixerProvider