Makefile revision 1777
d14c2683625c5db500ab93fb7176a9570798ca1eMukund Sivaraman# Copyright 1999-2007 Sun Microsystems, Inc. All Rights Reserved.
d14c2683625c5db500ab93fb7176a9570798ca1eMukund Sivaraman# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
6a3249533aab706c30f8cd65956f2f963e857f8fWitold Krecicki# This code is free software; you can redistribute it and/or modify it
9869bfeed4fab59c5730065cd7cce1f7c60b741fMark Andrews# under the terms of the GNU General Public License version 2 only, as
9869bfeed4fab59c5730065cd7cce1f7c60b741fMark Andrews# published by the Free Software Foundation. Sun designates this
a85c6b35affa7179434c41b277109dca2cbe01ecMark Andrews# particular file as subject to the "Classpath" exception as provided
b7603c3c036dc9d39c163b79e01d41591f508352Witold Krecicki# by Sun in the LICENSE file that accompanied this code.
af3770ed93e519d07a4696739d477764c8d5c4b8Witold Krecicki# This code is distributed in the hope that it will be useful, but WITHOUT
59a9cb54c112fd979b772e832b819d8efc83b85dMukund Sivaraman# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
59a9cb54c112fd979b772e832b819d8efc83b85dMukund Sivaraman# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
59a9cb54c112fd979b772e832b819d8efc83b85dMukund Sivaraman# version 2 for more details (a copy is included in the LICENSE file that
59a9cb54c112fd979b772e832b819d8efc83b85dMukund Sivaraman# accompanied this code).
f85deb5154d996978f0fc8455961698bc710ae73Witold Krecicki# You should have received a copy of the GNU General Public License version
29ec74b60fcaef12c16ecb6bdb8c8ecb278d449fEvan Hunt# 2 along with this work; if not, write to the Free Software Foundation,
ecfe29f54b0566d9923b826b2e4a36ee83c9ea3eEvan Hunt# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
8a9bac8dec81997fec38fb880dc81b41eb026c27Mark Andrews# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
8a9bac8dec81997fec38fb880dc81b41eb026c27Mark Andrews# CA 95054 USA or visit www.sun.com if you need additional information or
8a9bac8dec81997fec38fb880dc81b41eb026c27Mark Andrews# have any questions.
eb447eca8847be14e93d7b2d524154433e4ee565Evan Hunt# WARNING: Make sure the OPENJDK plugs are up-to-date, see make/common/internal/BinaryPlugs.gmk
8bb630c7513ecfe224622a3923f0de477c44f2a9Mark Andrews# include defines for sound
e53e202ef3b51c58fb9abe0d15e3829a970b00e7Mark Andrews# support for different mixer provider files on different platforms
598b502695802c3d4e23316b85368e54f39f5cabMark Andrews# Mixer Service Provider Additional path
a32b6291aa5f797e1336869390f99d4a655484c2Evan Hunt# Add use of mapfile
cadf8d687b9719b87c121d5cc8b028b1ddccc642Evan Hunt# add java files
cadf8d687b9719b87c121d5cc8b028b1ddccc642Evan HuntAUTO_FILES_JAVA_DIRS = javax/sound com/sun/media/sound
705cea35a8f798340ac947713ab97791be521b52Mukund Sivaraman# Files that just need cp.
705cea35a8f798340ac947713ab97791be521b52Mukund SivaramanSERVICEDIR = $(CLASSBINDIR)/META-INF/services
72a1c3f1a7ad790ebe13ef6be85c269b2c2dcb95Mukund Sivaraman $(SERVICEDIR)/javax.sound.midi.spi.MidiDeviceProvider \
72a1c3f1a7ad790ebe13ef6be85c269b2c2dcb95Mukund Sivaraman $(SERVICEDIR)/javax.sound.midi.spi.MidiFileWriter \
72a1c3f1a7ad790ebe13ef6be85c269b2c2dcb95Mukund Sivaraman $(SERVICEDIR)/javax.sound.midi.spi.MidiFileReader \
72a1c3f1a7ad790ebe13ef6be85c269b2c2dcb95Mukund Sivaraman $(SERVICEDIR)/javax.sound.midi.spi.SoundbankReader \
72a1c3f1a7ad790ebe13ef6be85c269b2c2dcb95Mukund Sivaraman $(SERVICEDIR)/javax.sound.sampled.spi.AudioFileWriter \
72a1c3f1a7ad790ebe13ef6be85c269b2c2dcb95Mukund Sivaraman $(SERVICEDIR)/javax.sound.sampled.spi.AudioFileReader \
72a1c3f1a7ad790ebe13ef6be85c269b2c2dcb95Mukund Sivaraman $(SERVICEDIR)/javax.sound.sampled.spi.FormatConversionProvider \
19365b43e922fcbaf5caff3f92b87b52cbc1b530Evan Hunt $(SERVICEDIR)/javax.sound.sampled.spi.MixerProvider \
b947e1a521c6931f787d6d1b3604d5b138170c3dMukund Sivaraman# system dependent flags
8f25faf9720a0c2730c4ac80ea4c12ca1f25599fMukund Sivaraman # Windows always provides MIDI and ports
dc877b38a0bdfd7caa0c129d6f5b5cbb1caa6848Evan Hunt # DirectSound handles directaudio (both i586 and amd64)
1c02dd9dd94c95a9a59bb6c10b669fb790853b10Evan Hunt #MXSPP_ADD = $(PLATFORM)-$(ARCH)/
52aa2f94981aa570a37c659b451541171f7537a4Mark Andrews # ALSA handles directaudio, ports, and MIDI
b292230ab8dd33480dabad2b3615dcce5dd70c35Mark Andrews #MXSPP_ADD = $(PLATFORM)-$(ARCH)/
ef1aaab9ed44bcc6b58d85de2673e382dc6a7c1dEvan Hunt # build with ports and direct audio
017cbd4429a16d1b8eb77333c86f022dcc31045dEvan Hunt # build with empty MIDI i/o
ab973ec40cc7a79bbf930085b1293824caf73e7fFrancis Dupont # build with empty ports
f1a261ba2d5e11a106a0a95c46b409a9daf138efMark Andrews # build with empty direct audio
c03fe78ef59b2373233db1a7b568cc2000d6d3b4Evan Hunt# for dynamic inclusion of extra sound libs: these
c03fe78ef59b2373233db1a7b568cc2000d6d3b4Evan Hunt# JNI libs will be loaded from Platform.java
c03fe78ef59b2373233db1a7b568cc2000d6d3b4Evan HuntCPPFLAGS += -DEXTRA_SOUND_JNI_LIBS='"$(EXTRA_SOUND_JNI_LIBS)"'
fc3ed1dbda48d0e832ffc8ad70394cd475986531Evan Hunt# integrate MIDI i/o in jsound lib
e840f92bfba0881039f1cdfb3349ecb03382b7beMark Andrews# integrate port files in jsound lib
ac31adc3b76a3acf61c711d1cd49480a288b1317Mukund Sivaraman# integrate port files in jsound lib
54fe1d05b6d78120452c71023629b35cbe55e97fMark Andrews# Extra cc/linker flags.
f28e5058c33bfb99f8717d94c2525a976897dc91Evan Hunt# Add to the ambient VPATH.
febb020dceab01c12b406eeae6e825aca7411dd6Mark Andrewsvpath %.c $(SHARE_SRC)/native/com/sun/media/sound
febb020dceab01c12b406eeae6e825aca7411dd6Mark Andrewsvpath %.c $(PLATFORM_SRC)/native/com/sun/media/sound
febb020dceab01c12b406eeae6e825aca7411dd6Mark Andrewsvpath %.cpp $(PLATFORM_SRC)/native/com/sun/media/sound
f9f81abff0ea36f19474f3b7a11bf0f17c4f116cMukund Sivaraman# Include rules
9a7532f83618b5abbfd7db59be77e451647ecbf2Mukund Sivaraman# Rules that copy files.
642e4ac70ddc4e7037a515208b30d5cf8d8efc94Mukund Sivaraman#$(SERVICEDIR)/$(MXSP): $(SHARE_SRC)/classes/com/sun/media/sound/services/$(MXSPP_ADD)$(MXSP)
642e4ac70ddc4e7037a515208b30d5cf8d8efc94Mukund Sivaraman# $(install-file)
77b179cbbe7b820b5d838a675200a7b87eb12dacMark Andrews$(SERVICEDIR)/%: $(SHARE_SRC)/classes/com/sun/media/sound/services/%
1b05d22789fd9a17aca4f459639bc2b6848c3160Mark Andrews# Since we build more than the javax.sound (as stated in the
1b05d22789fd9a17aca4f459639bc2b6848c3160Mark Andrews# PACKAGE variable), we need to nuke the extra packages explicitly.
7ae96d882326357448f8f440c52f47ac1b1fa455Evan Hunt $(RM) -r $(CLASSBINDIR)/com/sun/media/sound $(LIBDIR)/audio
7ae96d882326357448f8f440c52f47ac1b1fa455Evan Hunt# Declare extra phony targets.