1# 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_SSCAPE)	+= sscape.o ad1848.o mpu401.o
19obj-$(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
25obj-$(CONFIG_SOUND_MPU401)	+= mpu401.o
26obj-$(CONFIG_SOUND_UART6850)	+= uart6850.o
27obj-$(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
32obj-$(CONFIG_SOUND_AD1816)	+= ad1816.o
33obj-$(CONFIG_SOUND_AD1889)	+= ad1889.o ac97_codec.o
34obj-$(CONFIG_SOUND_ACI_MIXER)	+= aci.o
35
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
40obj-$(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
45obj-$(CONFIG_SOUND_ES1371)	+= es1371.o ac97_codec.o
46obj-$(CONFIG_SOUND_VRC5477)	+= nec_vrc5477.o ac97_codec.o
47obj-$(CONFIG_SOUND_AU1550_AC97)	+= au1550_ac97.o ac97_codec.o
48obj-$(CONFIG_SOUND_AU1550_I2S)	+= au1550_i2s.o
49obj-$(CONFIG_SOUND_FUSION)	+= cs46xx.o ac97_codec.o
50obj-$(CONFIG_SOUND_TRIDENT)	+= trident.o ac97_codec.o
51obj-$(CONFIG_SOUND_EMU10K1)	+= ac97_codec.o
52obj-$(CONFIG_SOUND_BCM_CS4297A)	+= swarm_cs4297a.o
53obj-$(CONFIG_SOUND_BT878)	+= btaudio.o
54
55obj-$(CONFIG_SOUND_WM97XX)	+= ac97_plugin_wm97xx.o
56
57ifeq ($(CONFIG_MIDI_EMU10K1),y)
58  obj-$(CONFIG_SOUND_EMU10K1)	+= sound.o
59endif
60
61obj-$(CONFIG_SOUND_EMU10K1)	+= emu10k1/
62obj-$(CONFIG_DMASOUND)		+= dmasound/
63
64# Declare multi-part drivers.
65
66sound-objs	:= 							\
67    dev_table.o soundcard.o 		\
68    audio.o dmabuf.o					\
69    midi_synth.o midibuf.o					\
70    sequencer.o sound_timer.o sys_timer.o
71
72pas2-objs	:= pas2_card.o pas2_midi.o pas2_mixer.o pas2_pcm.o
73sb-objs		:= sb_card.o
74sb_lib-objs	:= sb_common.o sb_audio.o sb_midi.o sb_mixer.o sb_ess.o
75vidc_mod-objs	:= vidc.o vidc_fill.o
76
77hostprogs-y	:= bin2hex hex2hex
78
79# Files generated that shall be removed upon make clean
80clean-files := msndperm.c msndinit.c pndsperm.c pndspini.c \
81               pss_boot.h trix_boot.h
82
83# Firmware files that need translation
84#
85# The translated files are protected by a file that keeps track
86# of what name was used to build them.  If the name changes, they
87# will be forced to be remade.
88#
89
90# Turtle Beach MultiSound
91
92ifeq ($(CONFIG_MSNDCLAS_HAVE_BOOT),y)
93    $(obj)/msnd_classic.o: $(obj)/msndperm.c $(obj)/msndinit.c
94
95    $(obj)/msndperm.c: $(patsubst "%", %, $(CONFIG_MSNDCLAS_PERM_FILE)) $(obj)/bin2hex
96	$(obj)/bin2hex msndperm < $< > $@
97
98    $(obj)/msndinit.c: $(patsubst "%", %, $(CONFIG_MSNDCLAS_INIT_FILE)) $(obj)/bin2hex
99	$(obj)/bin2hex msndinit < $< > $@
100endif
101
102ifeq ($(CONFIG_MSNDPIN_HAVE_BOOT),y)
103    $(obj)/msnd_pinnacle.o: $(obj)/pndsperm.c $(obj)/pndspini.c
104
105    $(obj)/pndsperm.c: $(patsubst "%", %, $(CONFIG_MSNDPIN_PERM_FILE)) $(obj)/bin2hex
106	$(obj)/bin2hex pndsperm < $< > $@
107
108    $(obj)/pndspini.c: $(patsubst "%", %, $(CONFIG_MSNDPIN_INIT_FILE)) $(obj)/bin2hex
109	$(obj)/bin2hex pndspini < $< > $@
110endif
111
112# PSS (ECHO-ADI2111)
113
114$(obj)/pss.o: $(obj)/pss_boot.h
115
116ifeq ($(CONFIG_PSS_HAVE_BOOT),y)
117    $(obj)/pss_boot.h: $(patsubst "%", %, $(CONFIG_PSS_BOOT_FILE)) $(obj)/bin2hex
118	$(obj)/bin2hex pss_synth < $< > $@
119else
120    $(obj)/pss_boot.h:
121	(							\
122	    echo 'static unsigned char * pss_synth = NULL;';	\
123	    echo 'static int pss_synthLen = 0;';		\
124	) > $@
125endif
126
127# MediaTrix AudioTrix Pro
128
129$(obj)/trix.o: $(obj)/trix_boot.h
130
131ifeq ($(CONFIG_TRIX_HAVE_BOOT),y)
132    $(obj)/trix_boot.h: $(patsubst "%", %, $(CONFIG_TRIX_BOOT_FILE)) $(obj)/hex2hex
133	$(obj)/hex2hex -i trix_boot < $< > $@
134else
135    $(obj)/trix_boot.h:
136	(							\
137	    echo 'static unsigned char * trix_boot = NULL;';	\
138	    echo 'static int trix_boot_len = 0;';		\
139	) > $@
140endif
141