blob: 77f21b68bf0f32cc5d7f362330a2cd554539ca20 [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
Linus Torvalds1da177e2005-04-16 15:20:36 -07009
10# Please leave it as is, cause the link order is significant !
11
Linus Torvalds1da177e2005-04-16 15:20:36 -070012obj-$(CONFIG_SOUND_AEDSP16) += aedsp16.o
13obj-$(CONFIG_SOUND_PSS) += pss.o ad1848.o mpu401.o
14obj-$(CONFIG_SOUND_TRIX) += trix.o ad1848.o sb_lib.o uart401.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070015obj-$(CONFIG_SOUND_MSS) += ad1848.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070016obj-$(CONFIG_SOUND_PAS) += pas2.o sb.o sb_lib.o uart401.o
17obj-$(CONFIG_SOUND_SB) += sb.o sb_lib.o uart401.o
18obj-$(CONFIG_SOUND_KAHLUA) += kahlua.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070019obj-$(CONFIG_SOUND_MPU401) += mpu401.o
20obj-$(CONFIG_SOUND_UART6850) += uart6850.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070021obj-$(CONFIG_SOUND_YM3812) += opl3.o
22obj-$(CONFIG_SOUND_VMIDI) += v_midi.o
23obj-$(CONFIG_SOUND_VIDC) += vidc_mod.o
24obj-$(CONFIG_SOUND_WAVEARTIST) += waveartist.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070025obj-$(CONFIG_SOUND_MSNDCLAS) += msnd.o msnd_classic.o
26obj-$(CONFIG_SOUND_MSNDPIN) += msnd.o msnd_pinnacle.o
27obj-$(CONFIG_SOUND_VWSND) += vwsnd.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070028obj-$(CONFIG_SOUND_BCM_CS4297A) += swarm_cs4297a.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070029
Linus Torvalds1da177e2005-04-16 15:20:36 -070030obj-$(CONFIG_DMASOUND) += dmasound/
31
32# Declare multi-part drivers.
33
34sound-objs := \
Adrian Bunkece7f772006-10-04 02:17:31 -070035 dev_table.o soundcard.o \
36 audio.o dmabuf.o \
37 midi_synth.o midibuf.o \
38 sequencer.o sound_timer.o sys_timer.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070039
Linus Torvalds1da177e2005-04-16 15:20:36 -070040pas2-objs := pas2_card.o pas2_midi.o pas2_mixer.o pas2_pcm.o
41sb-objs := sb_card.o
42sb_lib-objs := sb_common.o sb_audio.o sb_midi.o sb_mixer.o sb_ess.o
43vidc_mod-objs := vidc.o vidc_fill.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070044
45hostprogs-y := bin2hex hex2hex
46
47# Files generated that shall be removed upon make clean
Adrian Bunkd56b9b92006-10-04 02:17:22 -070048clean-files := msndperm.c msndinit.c pndsperm.c pndspini.c \
Linus Torvalds1da177e2005-04-16 15:20:36 -070049 pss_boot.h trix_boot.h
50
51# Firmware files that need translation
52#
53# The translated files are protected by a file that keeps track
54# of what name was used to build them. If the name changes, they
55# will be forced to be remade.
56#
57
Linus Torvalds1da177e2005-04-16 15:20:36 -070058# Turtle Beach MultiSound
59
60ifeq ($(CONFIG_MSNDCLAS_HAVE_BOOT),y)
61 $(obj)/msnd_classic.o: $(obj)/msndperm.c $(obj)/msndinit.c
62
63 $(obj)/msndperm.c: $(patsubst "%", %, $(CONFIG_MSNDCLAS_PERM_FILE)) $(obj)/bin2hex
64 $(obj)/bin2hex msndperm < $< > $@
65
66 $(obj)/msndinit.c: $(patsubst "%", %, $(CONFIG_MSNDCLAS_INIT_FILE)) $(obj)/bin2hex
67 $(obj)/bin2hex msndinit < $< > $@
68endif
69
70ifeq ($(CONFIG_MSNDPIN_HAVE_BOOT),y)
71 $(obj)/msnd_pinnacle.o: $(obj)/pndsperm.c $(obj)/pndspini.c
72
73 $(obj)/pndsperm.c: $(patsubst "%", %, $(CONFIG_MSNDPIN_PERM_FILE)) $(obj)/bin2hex
74 $(obj)/bin2hex pndsperm < $< > $@
75
76 $(obj)/pndspini.c: $(patsubst "%", %, $(CONFIG_MSNDPIN_INIT_FILE)) $(obj)/bin2hex
77 $(obj)/bin2hex pndspini < $< > $@
78endif
79
80# PSS (ECHO-ADI2111)
81
82$(obj)/pss.o: $(obj)/pss_boot.h
83
84ifeq ($(CONFIG_PSS_HAVE_BOOT),y)
85 $(obj)/pss_boot.h: $(patsubst "%", %, $(CONFIG_PSS_BOOT_FILE)) $(obj)/bin2hex
86 $(obj)/bin2hex pss_synth < $< > $@
87else
88 $(obj)/pss_boot.h:
Amerigo Wangfdbc5d12011-01-28 16:52:00 +080089 $(Q)( \
Linus Torvalds1da177e2005-04-16 15:20:36 -070090 echo 'static unsigned char * pss_synth = NULL;'; \
91 echo 'static int pss_synthLen = 0;'; \
92 ) > $@
93endif
94
95# MediaTrix AudioTrix Pro
96
97$(obj)/trix.o: $(obj)/trix_boot.h
98
99ifeq ($(CONFIG_TRIX_HAVE_BOOT),y)
100 $(obj)/trix_boot.h: $(patsubst "%", %, $(CONFIG_TRIX_BOOT_FILE)) $(obj)/hex2hex
101 $(obj)/hex2hex -i trix_boot < $< > $@
102else
103 $(obj)/trix_boot.h:
Amerigo Wangfdbc5d12011-01-28 16:52:00 +0800104 $(Q)( \
Linus Torvalds1da177e2005-04-16 15:20:36 -0700105 echo 'static unsigned char * trix_boot = NULL;'; \
106 echo 'static int trix_boot_len = 0;'; \
107 ) > $@
108endif