blob: 2489bd6bb08561ab5e8cc296eca87d20427a354b [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001# Makefile for the Linux sound card driver
2#
3# 18 Apr 1998, Michael Elizabeth Chastain, <mailto:mec@shout.net>
4# Rewritten to use lists instead of if-statements.
5
6# Each configuration option enables a list of files.
7
8obj-$(CONFIG_SOUND_OSS) += sound.o
9obj-$(CONFIG_SOUND_CS4232) += cs4232.o ad1848.o
10
11# Please leave it as is, cause the link order is significant !
12
13obj-$(CONFIG_SOUND_SH_DAC_AUDIO) += sh_dac_audio.o
14obj-$(CONFIG_SOUND_HAL2) += hal2.o
15obj-$(CONFIG_SOUND_AEDSP16) += aedsp16.o
16obj-$(CONFIG_SOUND_PSS) += pss.o ad1848.o mpu401.o
17obj-$(CONFIG_SOUND_TRIX) += trix.o ad1848.o sb_lib.o uart401.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070018obj-$(CONFIG_SOUND_SSCAPE) += sscape.o ad1848.o mpu401.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070019obj-$(CONFIG_SOUND_CS4232) += cs4232.o uart401.o
20obj-$(CONFIG_SOUND_MSS) += ad1848.o
21obj-$(CONFIG_SOUND_OPL3SA2) += opl3sa2.o ad1848.o mpu401.o
22obj-$(CONFIG_SOUND_PAS) += pas2.o sb.o sb_lib.o uart401.o
23obj-$(CONFIG_SOUND_SB) += sb.o sb_lib.o uart401.o
24obj-$(CONFIG_SOUND_KAHLUA) += kahlua.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070025obj-$(CONFIG_SOUND_MPU401) += mpu401.o
26obj-$(CONFIG_SOUND_UART6850) += uart6850.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070027obj-$(CONFIG_SOUND_ADLIB) += adlib_card.o opl3.o
28obj-$(CONFIG_SOUND_YM3812) += opl3.o
29obj-$(CONFIG_SOUND_VMIDI) += v_midi.o
30obj-$(CONFIG_SOUND_VIDC) += vidc_mod.o
31obj-$(CONFIG_SOUND_WAVEARTIST) += waveartist.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070032obj-$(CONFIG_SOUND_AD1816) += ad1816.o
33obj-$(CONFIG_SOUND_AD1889) += ad1889.o ac97_codec.o
34obj-$(CONFIG_SOUND_ACI_MIXER) += aci.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070035
36obj-$(CONFIG_SOUND_VIA82CXXX) += via82cxxx_audio.o ac97_codec.o
37ifeq ($(CONFIG_MIDI_VIA82CXXX),y)
38 obj-$(CONFIG_SOUND_VIA82CXXX) += sound.o uart401.o
39endif
Linus Torvalds1da177e2005-04-16 15:20:36 -070040obj-$(CONFIG_SOUND_MSNDCLAS) += msnd.o msnd_classic.o
41obj-$(CONFIG_SOUND_MSNDPIN) += msnd.o msnd_pinnacle.o
42obj-$(CONFIG_SOUND_VWSND) += vwsnd.o
43obj-$(CONFIG_SOUND_NM256) += nm256_audio.o ac97.o
44obj-$(CONFIG_SOUND_ICH) += i810_audio.o ac97_codec.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070045obj-$(CONFIG_SOUND_ES1371) += es1371.o ac97_codec.o
46obj-$(CONFIG_SOUND_VRC5477) += nec_vrc5477.o ac97_codec.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070047obj-$(CONFIG_SOUND_AU1550_AC97) += au1550_ac97.o ac97_codec.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070048obj-$(CONFIG_SOUND_FUSION) += cs46xx.o ac97_codec.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070049obj-$(CONFIG_SOUND_TRIDENT) += trident.o ac97_codec.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070050obj-$(CONFIG_SOUND_EMU10K1) += ac97_codec.o
51obj-$(CONFIG_SOUND_BCM_CS4297A) += swarm_cs4297a.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070052obj-$(CONFIG_SOUND_BT878) += btaudio.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070053
Linus Torvalds1da177e2005-04-16 15:20:36 -070054obj-$(CONFIG_SOUND_WM97XX) += ac97_plugin_wm97xx.o
55
56ifeq ($(CONFIG_MIDI_EMU10K1),y)
57 obj-$(CONFIG_SOUND_EMU10K1) += sound.o
58endif
59
60obj-$(CONFIG_SOUND_EMU10K1) += emu10k1/
Linus Torvalds1da177e2005-04-16 15:20:36 -070061obj-$(CONFIG_DMASOUND) += dmasound/
62
63# Declare multi-part drivers.
64
65sound-objs := \
Adrian Bunkece7f772006-10-04 02:17:31 -070066 dev_table.o soundcard.o \
67 audio.o dmabuf.o \
68 midi_synth.o midibuf.o \
69 sequencer.o sound_timer.o sys_timer.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070070
Linus Torvalds1da177e2005-04-16 15:20:36 -070071pas2-objs := pas2_card.o pas2_midi.o pas2_mixer.o pas2_pcm.o
72sb-objs := sb_card.o
73sb_lib-objs := sb_common.o sb_audio.o sb_midi.o sb_mixer.o sb_ess.o
74vidc_mod-objs := vidc.o vidc_fill.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070075
76hostprogs-y := bin2hex hex2hex
77
78# Files generated that shall be removed upon make clean
Adrian Bunkd56b9b92006-10-04 02:17:22 -070079clean-files := msndperm.c msndinit.c pndsperm.c pndspini.c \
Linus Torvalds1da177e2005-04-16 15:20:36 -070080 pss_boot.h trix_boot.h
81
82# Firmware files that need translation
83#
84# The translated files are protected by a file that keeps track
85# of what name was used to build them. If the name changes, they
86# will be forced to be remade.
87#
88
Linus Torvalds1da177e2005-04-16 15:20:36 -070089# Turtle Beach MultiSound
90
91ifeq ($(CONFIG_MSNDCLAS_HAVE_BOOT),y)
92 $(obj)/msnd_classic.o: $(obj)/msndperm.c $(obj)/msndinit.c
93
94 $(obj)/msndperm.c: $(patsubst "%", %, $(CONFIG_MSNDCLAS_PERM_FILE)) $(obj)/bin2hex
95 $(obj)/bin2hex msndperm < $< > $@
96
97 $(obj)/msndinit.c: $(patsubst "%", %, $(CONFIG_MSNDCLAS_INIT_FILE)) $(obj)/bin2hex
98 $(obj)/bin2hex msndinit < $< > $@
99endif
100
101ifeq ($(CONFIG_MSNDPIN_HAVE_BOOT),y)
102 $(obj)/msnd_pinnacle.o: $(obj)/pndsperm.c $(obj)/pndspini.c
103
104 $(obj)/pndsperm.c: $(patsubst "%", %, $(CONFIG_MSNDPIN_PERM_FILE)) $(obj)/bin2hex
105 $(obj)/bin2hex pndsperm < $< > $@
106
107 $(obj)/pndspini.c: $(patsubst "%", %, $(CONFIG_MSNDPIN_INIT_FILE)) $(obj)/bin2hex
108 $(obj)/bin2hex pndspini < $< > $@
109endif
110
111# PSS (ECHO-ADI2111)
112
113$(obj)/pss.o: $(obj)/pss_boot.h
114
115ifeq ($(CONFIG_PSS_HAVE_BOOT),y)
116 $(obj)/pss_boot.h: $(patsubst "%", %, $(CONFIG_PSS_BOOT_FILE)) $(obj)/bin2hex
117 $(obj)/bin2hex pss_synth < $< > $@
118else
119 $(obj)/pss_boot.h:
120 ( \
121 echo 'static unsigned char * pss_synth = NULL;'; \
122 echo 'static int pss_synthLen = 0;'; \
123 ) > $@
124endif
125
126# MediaTrix AudioTrix Pro
127
128$(obj)/trix.o: $(obj)/trix_boot.h
129
130ifeq ($(CONFIG_TRIX_HAVE_BOOT),y)
131 $(obj)/trix_boot.h: $(patsubst "%", %, $(CONFIG_TRIX_BOOT_FILE)) $(obj)/hex2hex
132 $(obj)/hex2hex -i trix_boot < $< > $@
133else
134 $(obj)/trix_boot.h:
135 ( \
136 echo 'static unsigned char * trix_boot = NULL;'; \
137 echo 'static int trix_boot_len = 0;'; \
138 ) > $@
139endif