blob: db9afb61d6ffb49e02ff3bf78c6dec67c664e618 [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
18obj-$(CONFIG_SOUND_OPL3SA1) += opl3sa.o ad1848.o uart401.o
19obj-$(CONFIG_SOUND_SSCAPE) += sscape.o ad1848.o mpu401.o
20obj-$(CONFIG_SOUND_MAD16) += mad16.o ad1848.o sb_lib.o uart401.o
21obj-$(CONFIG_SOUND_CS4232) += cs4232.o uart401.o
22obj-$(CONFIG_SOUND_MSS) += ad1848.o
23obj-$(CONFIG_SOUND_OPL3SA2) += opl3sa2.o ad1848.o mpu401.o
24obj-$(CONFIG_SOUND_PAS) += pas2.o sb.o sb_lib.o uart401.o
25obj-$(CONFIG_SOUND_SB) += sb.o sb_lib.o uart401.o
26obj-$(CONFIG_SOUND_KAHLUA) += kahlua.o
27obj-$(CONFIG_SOUND_WAVEFRONT) += wavefront.o
28obj-$(CONFIG_SOUND_MAUI) += maui.o mpu401.o
29obj-$(CONFIG_SOUND_MPU401) += mpu401.o
30obj-$(CONFIG_SOUND_UART6850) += uart6850.o
31obj-$(CONFIG_SOUND_GUS) += gus.o ad1848.o
32obj-$(CONFIG_SOUND_ADLIB) += adlib_card.o opl3.o
33obj-$(CONFIG_SOUND_YM3812) += opl3.o
34obj-$(CONFIG_SOUND_VMIDI) += v_midi.o
35obj-$(CONFIG_SOUND_VIDC) += vidc_mod.o
36obj-$(CONFIG_SOUND_WAVEARTIST) += waveartist.o
37obj-$(CONFIG_SOUND_SGALAXY) += sgalaxy.o ad1848.o
38obj-$(CONFIG_SOUND_AD1816) += ad1816.o
39obj-$(CONFIG_SOUND_AD1889) += ad1889.o ac97_codec.o
40obj-$(CONFIG_SOUND_ACI_MIXER) += aci.o
41obj-$(CONFIG_SOUND_AWE32_SYNTH) += awe_wave.o
42
43obj-$(CONFIG_SOUND_VIA82CXXX) += via82cxxx_audio.o ac97_codec.o
44ifeq ($(CONFIG_MIDI_VIA82CXXX),y)
45 obj-$(CONFIG_SOUND_VIA82CXXX) += sound.o uart401.o
46endif
47obj-$(CONFIG_SOUND_YMFPCI) += ymfpci.o ac97_codec.o
48ifeq ($(CONFIG_SOUND_YMFPCI_LEGACY),y)
49 obj-$(CONFIG_SOUND_YMFPCI) += opl3.o uart401.o
50endif
51obj-$(CONFIG_SOUND_MSNDCLAS) += msnd.o msnd_classic.o
52obj-$(CONFIG_SOUND_MSNDPIN) += msnd.o msnd_pinnacle.o
53obj-$(CONFIG_SOUND_VWSND) += vwsnd.o
54obj-$(CONFIG_SOUND_NM256) += nm256_audio.o ac97.o
55obj-$(CONFIG_SOUND_ICH) += i810_audio.o ac97_codec.o
56obj-$(CONFIG_SOUND_SONICVIBES) += sonicvibes.o
57obj-$(CONFIG_SOUND_CMPCI) += cmpci.o
58ifeq ($(CONFIG_SOUND_CMPCI_FM),y)
59 obj-$(CONFIG_SOUND_CMPCI) += sound.o opl3.o
60endif
61ifeq ($(CONFIG_SOUND_CMPCI_MIDI),y)
62 obj-$(CONFIG_SOUND_CMPCI) += sound.o mpu401.o
63endif
64obj-$(CONFIG_SOUND_ES1370) += es1370.o
65obj-$(CONFIG_SOUND_ES1371) += es1371.o ac97_codec.o
66obj-$(CONFIG_SOUND_VRC5477) += nec_vrc5477.o ac97_codec.o
67obj-$(CONFIG_SOUND_AU1000) += au1000.o ac97_codec.o
68obj-$(CONFIG_SOUND_AU1550_AC97) += au1550_ac97.o ac97_codec.o
69obj-$(CONFIG_SOUND_ESSSOLO1) += esssolo1.o
70obj-$(CONFIG_SOUND_FUSION) += cs46xx.o ac97_codec.o
71obj-$(CONFIG_SOUND_MAESTRO) += maestro.o
72obj-$(CONFIG_SOUND_MAESTRO3) += maestro3.o ac97_codec.o
73obj-$(CONFIG_SOUND_TRIDENT) += trident.o ac97_codec.o
74obj-$(CONFIG_SOUND_HARMONY) += harmony.o
75obj-$(CONFIG_SOUND_EMU10K1) += ac97_codec.o
76obj-$(CONFIG_SOUND_BCM_CS4297A) += swarm_cs4297a.o
77obj-$(CONFIG_SOUND_RME96XX) += rme96xx.o
78obj-$(CONFIG_SOUND_BT878) += btaudio.o
79obj-$(CONFIG_SOUND_ALI5455) += ali5455.o ac97_codec.o
80obj-$(CONFIG_SOUND_IT8172) += ite8172.o ac97_codec.o
81obj-$(CONFIG_SOUND_FORTE) += forte.o ac97_codec.o
82
83obj-$(CONFIG_SOUND_AD1980) += ac97_plugin_ad1980.o
84obj-$(CONFIG_SOUND_WM97XX) += ac97_plugin_wm97xx.o
85
86ifeq ($(CONFIG_MIDI_EMU10K1),y)
87 obj-$(CONFIG_SOUND_EMU10K1) += sound.o
88endif
89
90obj-$(CONFIG_SOUND_EMU10K1) += emu10k1/
91obj-$(CONFIG_SOUND_CS4281) += cs4281/
92obj-$(CONFIG_DMASOUND) += dmasound/
93
94# Declare multi-part drivers.
95
96sound-objs := \
97 dev_table.o soundcard.o sound_syms.o \
98 audio.o audio_syms.o dmabuf.o \
99 midi_syms.o midi_synth.o midibuf.o \
100 sequencer.o sequencer_syms.o sound_timer.o sys_timer.o
101
102gus-objs := gus_card.o gus_midi.o gus_vol.o gus_wave.o ics2101.o
103pas2-objs := pas2_card.o pas2_midi.o pas2_mixer.o pas2_pcm.o
104sb-objs := sb_card.o
105sb_lib-objs := sb_common.o sb_audio.o sb_midi.o sb_mixer.o sb_ess.o
106vidc_mod-objs := vidc.o vidc_fill.o
107wavefront-objs := wavfront.o wf_midi.o yss225.o
108
109hostprogs-y := bin2hex hex2hex
110
111# Files generated that shall be removed upon make clean
112clean-files := maui_boot.h msndperm.c msndinit.c pndsperm.c pndspini.c \
113 pss_boot.h trix_boot.h
114
115# Firmware files that need translation
116#
117# The translated files are protected by a file that keeps track
118# of what name was used to build them. If the name changes, they
119# will be forced to be remade.
120#
121
122# Turtle Beach Maui / Tropez
123
124$(obj)/maui.o: $(obj)/maui_boot.h
125
126ifeq ($(CONFIG_MAUI_HAVE_BOOT),y)
127 $(obj)/maui_boot.h: $(patsubst "%", %, $(CONFIG_MAUI_BOOT_FILE)) $(obj)/bin2hex
128 $(obj)/bin2hex -i maui_os < $< > $@
129else
130 $(obj)/maui_boot.h:
131 ( \
132 echo 'static unsigned char * maui_os = NULL;'; \
133 echo 'static int maui_osLen = 0;'; \
134 ) > $@
135endif
136
137# Turtle Beach MultiSound
138
139ifeq ($(CONFIG_MSNDCLAS_HAVE_BOOT),y)
140 $(obj)/msnd_classic.o: $(obj)/msndperm.c $(obj)/msndinit.c
141
142 $(obj)/msndperm.c: $(patsubst "%", %, $(CONFIG_MSNDCLAS_PERM_FILE)) $(obj)/bin2hex
143 $(obj)/bin2hex msndperm < $< > $@
144
145 $(obj)/msndinit.c: $(patsubst "%", %, $(CONFIG_MSNDCLAS_INIT_FILE)) $(obj)/bin2hex
146 $(obj)/bin2hex msndinit < $< > $@
147endif
148
149ifeq ($(CONFIG_MSNDPIN_HAVE_BOOT),y)
150 $(obj)/msnd_pinnacle.o: $(obj)/pndsperm.c $(obj)/pndspini.c
151
152 $(obj)/pndsperm.c: $(patsubst "%", %, $(CONFIG_MSNDPIN_PERM_FILE)) $(obj)/bin2hex
153 $(obj)/bin2hex pndsperm < $< > $@
154
155 $(obj)/pndspini.c: $(patsubst "%", %, $(CONFIG_MSNDPIN_INIT_FILE)) $(obj)/bin2hex
156 $(obj)/bin2hex pndspini < $< > $@
157endif
158
159# PSS (ECHO-ADI2111)
160
161$(obj)/pss.o: $(obj)/pss_boot.h
162
163ifeq ($(CONFIG_PSS_HAVE_BOOT),y)
164 $(obj)/pss_boot.h: $(patsubst "%", %, $(CONFIG_PSS_BOOT_FILE)) $(obj)/bin2hex
165 $(obj)/bin2hex pss_synth < $< > $@
166else
167 $(obj)/pss_boot.h:
168 ( \
169 echo 'static unsigned char * pss_synth = NULL;'; \
170 echo 'static int pss_synthLen = 0;'; \
171 ) > $@
172endif
173
174# MediaTrix AudioTrix Pro
175
176$(obj)/trix.o: $(obj)/trix_boot.h
177
178ifeq ($(CONFIG_TRIX_HAVE_BOOT),y)
179 $(obj)/trix_boot.h: $(patsubst "%", %, $(CONFIG_TRIX_BOOT_FILE)) $(obj)/hex2hex
180 $(obj)/hex2hex -i trix_boot < $< > $@
181else
182 $(obj)/trix_boot.h:
183 ( \
184 echo 'static unsigned char * trix_boot = NULL;'; \
185 echo 'static int trix_boot_len = 0;'; \
186 ) > $@
187endif