Mercurial > hg > openjdk7.svn
view j2se/make/common/BinaryPlugs.gmk @ 4:bf1d8af0651f trunk
[svn] Load openjdk/jdk7/b16 into jdk/trunk.
author | xiomara |
---|---|
date | Fri, 20 Jul 2007 21:22:05 +0000 |
parents | |
children | 27e0bf49438e |
line wrap: on
line source
# # Copyright 1997-2007 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. # ######################################################################## # Definitions for openjdk plugs (used by both import and export) # Names of native shared libraries PLUG_T2K_LIBRARY=$(LIB_PREFIX)t2k.$(LIBRARY_SUFFIX) PLUG_DCPR_LIBRARY=$(LIB_PREFIX)dcpr.$(LIBRARY_SUFFIX) PLUG_JSOUND_LIBRARY=$(LIB_PREFIX)jsound.$(LIBRARY_SUFFIX) PLUG_JSOUNDDS_LIBRARY=$(LIB_PREFIX)jsoundds.$(LIBRARY_SUFFIX) PLUG_JSOUNDALSA_LIBRARY=$(LIB_PREFIX)jsoundalsa.$(LIBRARY_SUFFIX) PLUG_LIBRARY_NAMES = \ $(PLUG_T2K_LIBRARY) \ $(PLUG_DCPR_LIBRARY) \ $(PLUG_JSOUND_LIBRARY) # Platform specific ones ifeq ($(PLATFORM),windows) # On Windows 32bit include the DirectSound library. # See /make/javax/sound/Makefile & subdirs Makefiles for more details. ifeq ($(ARCH), i586) # include DirectSound implementation PLUG_LIBRARY_NAMES += $(PLUG_JSOUNDDS_LIBRARY) endif # i586 PLUG_LIB_NAMES = t2k.lib endif # windows ifeq ($(PLATFORM),linux) # On Linux include the ALSA library PLUG_LIBRARY_NAMES += $(PLUG_JSOUNDALSA_LIBRARY) endif # linux # Security jar file names, relative to jre/lib directory. PLUG_JARNAMES = \ security/US_export_policy.jar \ security/local_policy.jar \ jce.jar \ ext/sunjce_provider.jar # Sub-directory where native shared libraries are located (e.g. jre/bin or...) PLUG_LOCATION_SUBDIR=$(ARCH_VM_SUBDIR) # Explicit classfile lists # WARNING: These classlists will not work with pattern rules, only used in # shell commands. # The \$$ patterns will fail in pattern rules, which want $$, # but the $$ fails in shell commands. # The shell commands are more important. # Also, the $1 pattern in these names causes problems with the # GNU make define feature, so you can't use these in define's. PLUG_JMF_CLASS_NAMES = \ com/sun/jmx/snmp/SnmpDataTypeEnums.class \ com/sun/jmx/snmp/SnmpDefinitions.class \ com/sun/jmx/snmp/SnmpOid.class \ com/sun/jmx/snmp/SnmpOidDatabase.class \ com/sun/jmx/snmp/SnmpOidDatabaseSupport.class \ com/sun/jmx/snmp/SnmpOidRecord.class \ com/sun/jmx/snmp/SnmpOidTable.class \ com/sun/jmx/snmp/SnmpOidTableSupport.class \ com/sun/jmx/snmp/SnmpParameters.class \ com/sun/jmx/snmp/SnmpPduPacket.class \ com/sun/jmx/snmp/SnmpPeer.class \ com/sun/jmx/snmp/SnmpTimeticks.class \ com/sun/jmx/snmp/SnmpVarBind.class \ com/sun/jmx/snmp/SnmpVarBindList.class \ com/sun/jmx/snmp/Timestamp.class \ com/sun/jmx/snmp/daemon/SendQ.class \ com/sun/jmx/snmp/daemon/SnmpInformRequest.class \ com/sun/jmx/snmp/daemon/SnmpQManager.class \ com/sun/jmx/snmp/daemon/SnmpRequestCounter.class \ com/sun/jmx/snmp/daemon/SnmpResponseHandler.class \ com/sun/jmx/snmp/daemon/SnmpSendServer.class \ com/sun/jmx/snmp/daemon/SnmpSession.class \ com/sun/jmx/snmp/daemon/SnmpSocket.class \ com/sun/jmx/snmp/daemon/SnmpTimerServer.class \ com/sun/jmx/snmp/daemon/WaitQ.class PLUG_SOUND_CLASS_NAMES = \ com/sun/media/sound/AbstractDataLine.class \ com/sun/media/sound/AbstractLine.class \ com/sun/media/sound/AbstractMidiDevice\$$AbstractReceiver.class \ com/sun/media/sound/AbstractMidiDevice\$$BasicTransmitter.class \ com/sun/media/sound/AbstractMidiDevice\$$TransmitterList.class \ com/sun/media/sound/AbstractMidiDevice.class \ com/sun/media/sound/AbstractMidiDeviceProvider\$$Info.class \ com/sun/media/sound/AbstractMidiDeviceProvider.class \ com/sun/media/sound/AbstractMixer.class \ com/sun/media/sound/AbstractPlayer.class \ com/sun/media/sound/AiffFileFormat.class \ com/sun/media/sound/AiffFileReader.class \ com/sun/media/sound/AiffFileWriter.class \ com/sun/media/sound/AlawCodec\$$AlawCodecStream.class \ com/sun/media/sound/AlawCodec.class \ com/sun/media/sound/AuFileFormat.class \ com/sun/media/sound/AuFileReader.class \ com/sun/media/sound/AuFileWriter.class \ com/sun/media/sound/AutoClosingClip.class \ com/sun/media/sound/AutoConnectSequencer.class \ com/sun/media/sound/CircularBuffer.class \ com/sun/media/sound/DataPusher.class \ com/sun/media/sound/DirectAudioDevice\$$1.class \ com/sun/media/sound/DirectAudioDevice\$$DirectBAOS.class \ com/sun/media/sound/DirectAudioDevice\$$DirectClip.class \ com/sun/media/sound/DirectAudioDevice\$$DirectDL\$$Balance.class \ com/sun/media/sound/DirectAudioDevice\$$DirectDL\$$Gain.class \ com/sun/media/sound/DirectAudioDevice\$$DirectDL\$$Mute.class \ com/sun/media/sound/DirectAudioDevice\$$DirectDL\$$Pan.class \ com/sun/media/sound/DirectAudioDevice\$$DirectDL.class \ com/sun/media/sound/DirectAudioDevice\$$DirectDLI.class \ com/sun/media/sound/DirectAudioDevice\$$DirectSDL.class \ com/sun/media/sound/DirectAudioDevice\$$DirectTDL.class \ com/sun/media/sound/DirectAudioDevice.class \ com/sun/media/sound/DirectAudioDeviceProvider\$$DirectAudioDeviceInfo.class \ com/sun/media/sound/DirectAudioDeviceProvider.class \ com/sun/media/sound/EventDispatcher\$$ClipInfo.class \ com/sun/media/sound/EventDispatcher\$$EventInfo.class \ com/sun/media/sound/EventDispatcher\$$LineMonitor.class \ com/sun/media/sound/EventDispatcher.class \ com/sun/media/sound/FastShortMessage.class \ com/sun/media/sound/FastSysexMessage.class \ com/sun/media/sound/HeadspaceInstrument.class \ com/sun/media/sound/HeadspaceMixer\$$1.class \ com/sun/media/sound/HeadspaceMixer\$$MidiLine.class \ com/sun/media/sound/HeadspaceMixer\$$MidiLineInfo.class \ com/sun/media/sound/HeadspaceMixer\$$MixerInfo.class \ com/sun/media/sound/HeadspaceMixer\$$MixerReverbControl\$$MixerReverbType.class \ com/sun/media/sound/HeadspaceMixer\$$MixerReverbControl.class \ com/sun/media/sound/HeadspaceMixer.class \ com/sun/media/sound/HeadspaceMixerProvider.class \ com/sun/media/sound/HeadspaceSample.class \ com/sun/media/sound/HeadspaceSoundbank.class \ com/sun/media/sound/HsbParser.class \ com/sun/media/sound/JDK13Services\$$1.class \ com/sun/media/sound/JDK13Services\$$ProviderCache.class \ com/sun/media/sound/JDK13Services.class \ com/sun/media/sound/JSSecurityManager\$$1.class \ com/sun/media/sound/JSSecurityManager\$$2.class \ com/sun/media/sound/JSSecurityManager\$$3.class \ com/sun/media/sound/JSSecurityManager\$$4.class \ com/sun/media/sound/JSSecurityManager\$$5.class \ com/sun/media/sound/JSSecurityManager\$$6.class \ com/sun/media/sound/JSSecurityManager\$$7.class \ com/sun/media/sound/JSSecurityManager.class \ com/sun/media/sound/JavaSoundAudioClip\$$DirectBAOS.class \ com/sun/media/sound/JavaSoundAudioClip.class \ com/sun/media/sound/MidiInDevice\$$1.class \ com/sun/media/sound/MidiInDevice\$$MidiInTransmitter.class \ com/sun/media/sound/MidiInDevice.class \ com/sun/media/sound/MidiInDeviceProvider\$$1.class \ com/sun/media/sound/MidiInDeviceProvider\$$MidiInDeviceInfo.class \ com/sun/media/sound/MidiInDeviceProvider.class \ com/sun/media/sound/MidiOutDevice\$$MidiOutReceiver.class \ com/sun/media/sound/MidiOutDevice.class \ com/sun/media/sound/MidiOutDeviceProvider\$$1.class \ com/sun/media/sound/MidiOutDeviceProvider\$$MidiOutDeviceInfo.class \ com/sun/media/sound/MidiOutDeviceProvider.class \ com/sun/media/sound/MidiUtils\$$TempoCache.class \ com/sun/media/sound/MidiUtils.class \ com/sun/media/sound/MixerClip\$$1.class \ com/sun/media/sound/MixerClip\$$MixerClipApplyReverbControl.class \ com/sun/media/sound/MixerClip\$$MixerClipGainControl.class \ com/sun/media/sound/MixerClip\$$MixerClipMuteControl.class \ com/sun/media/sound/MixerClip\$$MixerClipPanControl.class \ com/sun/media/sound/MixerClip\$$MixerClipSampleRateControl.class \ com/sun/media/sound/MixerClip.class \ com/sun/media/sound/MixerMidiChannel.class \ com/sun/media/sound/MixerSequencer\$$1.class \ com/sun/media/sound/MixerSequencer\$$ControllerVectorElement.class \ com/sun/media/sound/MixerSequencer\$$MixerSequencerInfo.class \ com/sun/media/sound/MixerSequencer\$$RecordingTrack.class \ com/sun/media/sound/MixerSequencer.class \ com/sun/media/sound/MixerSequencerProvider.class \ com/sun/media/sound/MixerSourceLine\$$1.class \ com/sun/media/sound/MixerSourceLine\$$MixerSourceLineApplyReverbControl.class \ com/sun/media/sound/MixerSourceLine\$$MixerSourceLineGainControl.class \ com/sun/media/sound/MixerSourceLine\$$MixerSourceLineMuteControl.class \ com/sun/media/sound/MixerSourceLine\$$MixerSourceLinePanControl.class \ com/sun/media/sound/MixerSourceLine\$$MixerSourceLineSampleRateControl.class \ com/sun/media/sound/MixerSourceLine.class \ com/sun/media/sound/MixerSynth\$$1.class \ com/sun/media/sound/MixerSynth\$$MixerSynthInfo.class \ com/sun/media/sound/MixerSynth\$$SynthReceiver.class \ com/sun/media/sound/MixerSynth.class \ com/sun/media/sound/MixerSynthProvider.class \ com/sun/media/sound/MixerThread.class \ com/sun/media/sound/PCMtoPCMCodec\$$PCMtoPCMCodecStream.class \ com/sun/media/sound/PCMtoPCMCodec.class \ com/sun/media/sound/Platform.class \ com/sun/media/sound/PortMixer\$$1.class \ com/sun/media/sound/PortMixer\$$BoolCtrl\$$BCT.class \ com/sun/media/sound/PortMixer\$$BoolCtrl.class \ com/sun/media/sound/PortMixer\$$CompCtrl\$$CCT.class \ com/sun/media/sound/PortMixer\$$CompCtrl.class \ com/sun/media/sound/PortMixer\$$FloatCtrl\$$FCT.class \ com/sun/media/sound/PortMixer\$$FloatCtrl.class \ com/sun/media/sound/PortMixer\$$PortInfo.class \ com/sun/media/sound/PortMixer\$$PortMixerPort.class \ com/sun/media/sound/PortMixer.class \ com/sun/media/sound/PortMixerProvider\$$PortMixerInfo.class \ com/sun/media/sound/PortMixerProvider.class \ com/sun/media/sound/Printer.class \ com/sun/media/sound/RealTimeSequencer\$$1.class \ com/sun/media/sound/RealTimeSequencer\$$ControllerListElement.class \ com/sun/media/sound/RealTimeSequencer\$$DataPump.class \ com/sun/media/sound/RealTimeSequencer\$$PlayThread.class \ com/sun/media/sound/RealTimeSequencer\$$RealTimeSequencerInfo.class \ com/sun/media/sound/RealTimeSequencer\$$RecordingTrack.class \ com/sun/media/sound/RealTimeSequencer\$$SequencerReceiver.class \ com/sun/media/sound/RealTimeSequencer\$$SequencerTransmitter.class \ com/sun/media/sound/RealTimeSequencer.class \ com/sun/media/sound/RealTimeSequencerProvider.class \ com/sun/media/sound/ReferenceCountingDevice.class \ com/sun/media/sound/RmfFileReader.class \ com/sun/media/sound/SMFParser.class \ com/sun/media/sound/SimpleInputDevice\$$1.class \ com/sun/media/sound/SimpleInputDevice\$$InputDeviceDataLine.class \ com/sun/media/sound/SimpleInputDevice\$$InputDevicePort.class \ com/sun/media/sound/SimpleInputDevice\$$InputDevicePortInfo.class \ com/sun/media/sound/SimpleInputDevice.class \ com/sun/media/sound/SimpleInputDeviceProvider\$$1.class \ com/sun/media/sound/SimpleInputDeviceProvider\$$InputDeviceInfo.class \ com/sun/media/sound/SimpleInputDeviceProvider.class \ com/sun/media/sound/StandardMidiFileReader.class \ com/sun/media/sound/StandardMidiFileWriter.class \ com/sun/media/sound/SunCodec.class \ com/sun/media/sound/SunFileReader.class \ com/sun/media/sound/SunFileWriter.class \ com/sun/media/sound/Toolkit.class \ com/sun/media/sound/UlawCodec\$$UlawCodecStream.class \ com/sun/media/sound/UlawCodec.class \ com/sun/media/sound/WaveFileFormat.class \ com/sun/media/sound/WaveFileReader.class \ com/sun/media/sound/WaveFileWriter.class PLUG_AWT_CLASS_NAMES = \ java/awt/color/CMMException.class \ java/awt/color/ColorSpace.class \ java/awt/color/ICC_ColorSpace.class \ java/awt/color/ICC_Profile\$$1.class \ java/awt/color/ICC_Profile\$$2.class \ java/awt/color/ICC_Profile\$$3.class \ java/awt/color/ICC_Profile.class \ java/awt/color/ICC_ProfileGray.class \ java/awt/color/ICC_ProfileRGB.class \ java/awt/image/BandedSampleModel.class \ java/awt/image/ColorConvertOp.class \ java/awt/image/ComponentSampleModel.class \ java/awt/image/DataBuffer\$$1.class \ java/awt/image/DataBuffer.class \ java/awt/image/DataBufferByte.class \ java/awt/image/DataBufferInt.class \ java/awt/image/DataBufferShort.class \ java/awt/image/DataBufferUShort.class \ java/awt/image/MultiPixelPackedSampleModel.class \ java/awt/image/Raster.class \ java/awt/image/RenderedImage.class \ java/awt/image/SampleModel.class \ java/awt/image/SinglePixelPackedSampleModel.class \ java/awt/image/WritableRaster.class \ java/awt/image/WritableRenderedImage.class \ java/awt/image/renderable/ContextualRenderedImageFactory.class \ java/awt/image/renderable/ParameterBlock.class \ java/awt/image/renderable/RenderContext.class \ java/awt/image/renderable/RenderableImage.class \ java/awt/image/renderable/RenderableImageOp.class \ java/awt/image/renderable/RenderableImageProducer.class \ java/awt/image/renderable/RenderedImageFactory.class PLUG_DC_CLASS_NAMES = \ sun/dc/path/FastPathProducer.class \ sun/dc/path/PathConsumer.class \ sun/dc/path/PathError.class \ sun/dc/path/PathException.class \ sun/dc/pr/PRError.class \ sun/dc/pr/PRException.class \ sun/dc/pr/PathDasher.class \ sun/dc/pr/PathFiller.class \ sun/dc/pr/PathStroker.class \ sun/dc/pr/Rasterizer\$$ConsumerDisposer.class \ sun/dc/pr/Rasterizer.class # Class list temp files (used by both import and export of plugs) PLUG_TEMPDIR=$(ABS_TEMPDIR)/plugs PLUG_CLASS_AREAS = jmf sound awt dc PLUG_CLISTS = $(PLUG_CLASS_AREAS:%=$(PLUG_TEMPDIR)/%.clist) # Create jargs file command define plug-create-jargs @$(prep-target) $(SED) -e "s@^@-C $(CLASSDESTDIR) @" $< > $@ endef # plug-create-clist-jargs # Create clist (class name list) and jargs file (input to jar) # Need these files to avoid long command lines which fail on some systems. $(PLUG_TEMPDIR)/jmf.clist: @$(prep-target) @for i in $(PLUG_JMF_CLASS_NAMES) ; do \ $(ECHO) "$$i" >> $@; \ done $(PLUG_TEMPDIR)/sound.clist: @$(prep-target) @for i in $(PLUG_SOUND_CLASS_NAMES) ; do \ $(ECHO) "$$i" >> $@ ; \ done $(PLUG_TEMPDIR)/awt.clist: @$(prep-target) @for i in $(PLUG_AWT_CLASS_NAMES) ; do \ $(ECHO) "$$i" >> $@ ; \ done $(PLUG_TEMPDIR)/dc.clist: @$(prep-target) @for i in $(PLUG_DC_CLASS_NAMES) ; do \ $(ECHO) "$$i" >> $@ ; \ done $(PLUG_TEMPDIR)/all.clist: $(PLUG_CLISTS) @$(prep-target) $(CAT) $(PLUG_CLISTS) > $@ $(PLUG_TEMPDIR)/jmf.jargs: $(PLUG_TEMPDIR)/jmf.clist $(plug-create-jargs) $(PLUG_TEMPDIR)/sound.jargs: $(PLUG_TEMPDIR)/sound.clist $(plug-create-jargs) $(PLUG_TEMPDIR)/awt.jargs: $(PLUG_TEMPDIR)/awt.clist $(plug-create-jargs) $(PLUG_TEMPDIR)/dc.jargs: $(PLUG_TEMPDIR)/dc.clist $(plug-create-jargs) $(PLUG_TEMPDIR)/all.jargs: $(PLUG_TEMPDIR)/all.clist $(plug-create-jargs) # # Specific to OPENJDK import of binary plugs # ifdef OPENJDK # Import PLUG_IMPORT_DIR=$(BINARY_PLUGS_PATH) PLUG_IMPORT_JARFILE=$(BINARY_PLUGS_JARFILE) # Import file command define import-binary-plug-file @$(ECHO) "PLUG IMPORT: $(@F)" $(install-file) endef # import-binary-plug-file # Import classes command define import-binary-plug-classes @$(MKDIR) -p $(CLASSDESTDIR) @$(CAT) $1 | $(SED) -e 's/^/PLUG IMPORT: /' ($(CD) $(CLASSDESTDIR) && $(JAR_BOOT) xf $(PLUG_IMPORT_JARFILE) @$1) endef # import-binary-plug-classes # Import lib jar files (only if needed) # NOTE: % pattern rules didn't work for some reason) $(LIBDIR)/security/US_export_policy.jar: \ $(PLUG_IMPORT_DIR)/jre/lib/security/US_export_policy.jar $(import-binary-plug-file) $(LIBDIR)/security/local_policy.jar: \ $(PLUG_IMPORT_DIR)/jre/lib/security/local_policy.jar $(import-binary-plug-file) $(LIBDIR)/jce.jar: \ $(PLUG_IMPORT_DIR)/jre/lib/jce.jar $(import-binary-plug-file) $(LIBDIR)/ext/sunjce_provider.jar: \ $(PLUG_IMPORT_DIR)/jre/lib/ext/sunjce_provider.jar $(import-binary-plug-file) # Import specific area classes (the classes are always created) import-binary-plug-jmf-classes: $(PLUG_IMPORT_JARFILE) $(PLUG_TEMPDIR)/jmf.clist $(call import-binary-plug-classes,$(PLUG_TEMPDIR)/jmf.clist) import-binary-plug-sound-classes: $(PLUG_IMPORT_JARFILE) $(PLUG_TEMPDIR)/sound.clist $(call import-binary-plug-classes,$(PLUG_TEMPDIR)/sound.clist) import-binary-plug-awt-classes: $(PLUG_IMPORT_JARFILE) $(PLUG_TEMPDIR)/awt.clist $(call import-binary-plug-classes,$(PLUG_TEMPDIR)/awt.clist) import-binary-plug-dc-classes: $(PLUG_IMPORT_JARFILE) $(PLUG_TEMPDIR)/dc.clist $(call import-binary-plug-classes,$(PLUG_TEMPDIR)/dc.clist) # Import all classes from the jar file import-binary-plug-jar: \ import-binary-plug-jmf-classes \ import-binary-plug-sound-classes \ import-binary-plug-awt-classes \ import-binary-plug-dc-classes # Import native libraries $(LIB_LOCATION)/$(PLUG_T2K_LIBRARY): \ $(PLUG_IMPORT_DIR)/$(PLUG_LOCATION_SUBDIR)/$(PLUG_T2K_LIBRARY) $(import-binary-plug-file) ifeq ($(PLATFORM),windows) $(LIBFILES_DIR)/t2k.lib: $(PLUG_IMPORT_DIR)/libfiles/t2k.lib $(import-binary-plug-file) endif # windows $(LIB_LOCATION)/$(PLUG_DCPR_LIBRARY): \ $(PLUG_IMPORT_DIR)/$(PLUG_LOCATION_SUBDIR)/$(PLUG_DCPR_LIBRARY) $(import-binary-plug-file) $(LIB_LOCATION)/$(PLUG_JSOUND_LIBRARY): \ $(PLUG_IMPORT_DIR)/$(PLUG_LOCATION_SUBDIR)/$(PLUG_JSOUND_LIBRARY) $(import-binary-plug-file) $(LIB_LOCATION)/$(PLUG_JSOUNDALSA_LIBRARY): \ $(PLUG_IMPORT_DIR)/$(PLUG_LOCATION_SUBDIR)/$(PLUG_JSOUNDALSA_LIBRARY) $(import-binary-plug-file) $(LIB_LOCATION)/$(PLUG_JSOUNDDS_LIBRARY): \ $(PLUG_IMPORT_DIR)/$(PLUG_LOCATION_SUBDIR)/$(PLUG_JSOUNDDS_LIBRARY) $(import-binary-plug-file) # Rules only used by lower level makefiles ifeq ($(PLATFORM),windows) import-binary-plug-t2k-library: \ $(LIBFILES_DIR)/t2k.lib $(LIB_LOCATION)/$(PLUG_T2K_LIBRARY) $(RM) $(OBJDIR)/t2k.lib $(CP) $(LIBFILES_DIR)/t2k.lib $(OBJDIR) else # !windows import-binary-plug-t2k-library: \ $(LIB_LOCATION)/$(PLUG_T2K_LIBRARY) endif # windows import-binary-plug-dcpr-library: \ $(LIB_LOCATION)/$(PLUG_DCPR_LIBRARY) import-binary-plug-jsound-library: \ $(LIB_LOCATION)/$(PLUG_JSOUND_LIBRARY) import-binary-plug-jsoundalsa-library: \ $(LIB_LOCATION)/$(PLUG_JSOUNDALSA_LIBRARY) import-binary-plug-jsoundds-library: \ $(LIB_LOCATION)/$(PLUG_JSOUNDDS_LIBRARY) # Binary plug start/complete messages import-binary-plugs-started: @$(ECHO) "BinaryPlugs import started: `date`" @$(ECHO) "BINARY_PLUGS_PATH=$(BINARY_PLUGS_PATH)" import-binary-plugs-completed: @$(ECHO) "BinaryPlugs import completed: `date`" # Import lib files (only if they don't exist already) import-binary-plugs-libs: \ $(PLUG_JARNAMES:%=$(LIBDIR)/%) \ $(PLUG_LIBRARY_NAMES:%=$(LIB_LOCATION)/%) # Import everything import-binary-plugs: \ import-binary-plugs-started \ import-binary-plugs-libs \ import-binary-plug-jar \ import-binary-plugs-completed # All these targets are phony (no filenames) .PHONY: import-binary-plugs-started \ import-binary-plugs-completed \ import-binary-plugs-libs \ import-binary-plugs \ import-binary-plug-jar \ import-binary-plug-jmf-classes \ import-binary-plug-sound-classes \ import-binary-plug-awt-classes \ import-binary-plug-dc-classes \ import-binary-plug-t2k-library \ import-binary-plug-dcpr-library \ import-binary-plug-jsound-library \ import-binary-plug-jsoundalsa-library \ import-binary-plug-jsoundds-library else # !OPENJDK # # Specific to exporting binary plugs for OPENJDK (e.g. OPENJDK is NOT defined) # # Export names (See make/common/Defs.gmk for BINARY_PLUGS_JARNAME definition) PLUG_EXPORT_DIRNAME=openjdk-binary-plugs-image PLUG_EXPORT_DIR=$(OUTPUTDIR)/$(PLUG_EXPORT_DIRNAME) PLUG_EXPORT_JARFILE=$(PLUG_EXPORT_DIR)/jre/lib/$(BINARY_PLUGS_JARNAME) # Export file command define export-binary-plug-file @$(ECHO) "PLUG EXPORT: $(@F)" $(install-file) endef # export-binary-plug-file # OpenJDK Binary Plug License $(PLUG_EXPORT_DIR)/LICENSE: $(CLOSED_SHARE_SRC)/doc/openjdk/binary-plugs/LICENSE $(export-binary-plug-file) export-binary-plugs-license: $(PLUG_EXPORT_DIR)/LICENSE # Create jar file of plug classes (always created) $(PLUG_EXPORT_JARFILE): $(PLUG_TEMPDIR)/all.clist $(PLUG_TEMPDIR)/all.jargs @$(prep-target) @$(ECHO) "PLUG EXPORT: $(@F)" @$(CAT) $(PLUG_TEMPDIR)/all.clist | $(SED) -e 's/^/PLUG EXPORT: /' $(JAR_BOOT) cf $@ @$(PLUG_TEMPDIR)/all.jargs export-binary-plugs-jar: $(PLUG_EXPORT_JARFILE) # Export lib jar files (only if needed) $(PLUG_EXPORT_DIR)/jre/lib/security/US_export_policy.jar: \ $(LIBDIR)/security/US_export_policy.jar $(export-binary-plug-file) $(PLUG_EXPORT_DIR)/jre/lib/security/local_policy.jar: \ $(LIBDIR)/security/local_policy.jar $(export-binary-plug-file) $(PLUG_EXPORT_DIR)/jre/lib/jce.jar: \ $(LIBDIR)/jce.jar $(export-binary-plug-file) $(PLUG_EXPORT_DIR)/jre/lib/ext/sunjce_provider.jar: \ $(LIBDIR)/ext/sunjce_provider.jar $(export-binary-plug-file) # Export native libraries $(PLUG_EXPORT_DIR)/$(PLUG_LOCATION_SUBDIR)/$(PLUG_T2K_LIBRARY): \ $(LIB_LOCATION)/$(PLUG_T2K_LIBRARY) $(export-binary-plug-file) ifeq ($(PLATFORM),windows) $(RM) -r $(PLUG_EXPORT_DIR)/libfiles/t2k.lib $(MKDIR) -p $(PLUG_EXPORT_DIR)/libfiles $(CP) $(LIBFILES_DIR)/t2k.lib $(PLUG_EXPORT_DIR)/libfiles endif # windows $(PLUG_EXPORT_DIR)/$(PLUG_LOCATION_SUBDIR)/$(PLUG_DCPR_LIBRARY): \ $(LIB_LOCATION)/$(PLUG_DCPR_LIBRARY) $(export-binary-plug-file) $(PLUG_EXPORT_DIR)/$(PLUG_LOCATION_SUBDIR)/$(PLUG_JSOUND_LIBRARY): \ $(LIB_LOCATION)/$(PLUG_JSOUND_LIBRARY) $(export-binary-plug-file) $(PLUG_EXPORT_DIR)/$(PLUG_LOCATION_SUBDIR)/$(PLUG_JSOUNDDS_LIBRARY): \ $(LIB_LOCATION)/$(PLUG_JSOUNDDS_LIBRARY) $(export-binary-plug-file) $(PLUG_EXPORT_DIR)/$(PLUG_LOCATION_SUBDIR)/$(PLUG_JSOUNDALSA_LIBRARY): \ $(LIB_LOCATION)/$(PLUG_JSOUNDALSA_LIBRARY) $(export-binary-plug-file) # Export binary plug start/complete messages export-binary-plugs-started: @$(ECHO) "BinaryPlugs export started: `date`" @$(ECHO) "PLUG_EXPORT_DIR=$(PLUG_EXPORT_DIR)" $(RM) -r $(PLUG_EXPORT_DIR) @$(MKDIR) -p $(PLUG_EXPORT_DIR) @$(MKDIR) -p $(PLUG_TEMPDIR) export-binary-plugs-completed: @$(RM) -r $(PLUG_TEMPDIR) @$(ECHO) "BinaryPlugs export completed: `date`" # Export lib files (only if they don't exist already) export-binary-plugs-libs: \ $(PLUG_JARNAMES:%=$(PLUG_EXPORT_DIR)/jre/lib/%) \ $(PLUG_LIBRARY_NAMES:%=$(PLUG_EXPORT_DIR)/$(PLUG_LOCATION_SUBDIR)/%) # Export everything export-binary-plugs: \ export-binary-plugs-started \ export-binary-plugs-libs \ export-binary-plugs-license \ export-binary-plugs-jar \ export-binary-plugs-completed # All these targets are phony (no filenames) .PHONY: export-binary-plugs-started \ export-binary-plugs-license \ export-binary-plugs-jar \ export-binary-plugs-libs \ export-binary-plugs-completed \ export-binary-plugs # Rules that test the export and import of plugs (only when you can export) TEST_OUTPUTDIR=$(ABS_OUTPUTDIR)/../$(PLATFORM)-$(ARCH)-testing-plugs TEST_PLUG_COPY=$(TEST_OUTPUTDIR)/$(PLUG_EXPORT_DIRNAME)-testcopy # Run export-binary-plugs first, then use this rule to test an import test-binary-plugs: $(TEST_PLUG_COPY) $(RM) -r $(TEST_OUTPUTDIR)/$(PLUG_EXPORT_DIRNAME) $(MKDIR) -p $(TEST_OUTPUTDIR) @$(ECHO) "Testing import of plugs" ($(CD) $(J2SE_TOPDIR)/make && \ $(MAKE) OPENJDK=true \ ALT_OUTPUTDIR=$(TEST_OUTPUTDIR) \ ALT_JDK_IMPORT_PATH=$(JDK_IMPORT_PATH) \ ALT_BINARY_PLUGS_PATH=$(TEST_PLUG_COPY) \ import-binary-plugs ) $(RM) -r $(TEST_OUTPUTDIR) @$(ECHO) "Testing of plugs was successful" $(TEST_PLUG_COPY): @$(ECHO) "Creating test plug copy" $(RM) -r $@ $(MKDIR) -p $(@D) $(CP) -r -p $(PLUG_EXPORT_DIR) $@ .PHONY: test-binary-plugs endif # !OPENJDK