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
7 # All of the (potential) objects that export symbols.
8 # This list comes from 'grep -l EXPORT_SYMBOL *.[hc]'.
9
10 export-objs := ad1848.o audio_syms.o midi_syms.o mpu401.o \
11 msnd.o opl3.o sb_common.o sequencer_syms.o \
12 sound_core.o sound_syms.o uart401.o \
13 nm256_audio.o ac97.o ac97_codec.o
14
15 # Each configuration option enables a list of files.
16
17 obj-$(CONFIG_SOUND) += soundcore.o
18 obj-$(CONFIG_SOUND_OSS) += sound.o
19 obj-$(CONFIG_SOUND_CS4232) += cs4232.o ad1848.o
20
21 # Please leave it as is, cause the link order is significant !
22
23 obj-$(CONFIG_SOUND_AEDSP16) += aedsp16.o
24 obj-$(CONFIG_SOUND_PSS) += pss.o ad1848.o mpu401.o
25 obj-$(CONFIG_SOUND_TRIX) += trix.o ad1848.o sb_lib.o uart401.o
26 obj-$(CONFIG_SOUND_OPL3SA1) += opl3sa.o ad1848.o uart401.o
27 obj-$(CONFIG_SOUND_SSCAPE) += sscape.o ad1848.o mpu401.o
28 obj-$(CONFIG_SOUND_MAD16) += mad16.o ad1848.o sb_lib.o uart401.o
29 obj-$(CONFIG_SOUND_CS4232) += cs4232.o uart401.o
30 obj-$(CONFIG_SOUND_OPL3SA2) += opl3sa2.o ad1848.o mpu401.o
31 obj-$(CONFIG_SOUND_MSS) += ad1848.o
32 obj-$(CONFIG_SOUND_PAS) += pas2.o sb_lib.o uart401.o
33 obj-$(CONFIG_SOUND_SB) += sb.o sb_lib.o uart401.o
34 obj-$(CONFIG_SOUND_WAVEFRONT) += wavefront.o
35 obj-$(CONFIG_SOUND_MAUI) += maui.o mpu401.o
36 obj-$(CONFIG_SOUND_MPU401) += mpu401.o
37 obj-$(CONFIG_SOUND_UART6850) += uart6850.o
38 obj-$(CONFIG_SOUND_GUS) += gus.o ad1848.o
39 obj-$(CONFIG_SOUND_ADLIB) += adlib_card.o opl3.o
40 obj-$(CONFIG_SOUND_YM3812) += opl3.o
41 obj-$(CONFIG_SOUND_VMIDI) += v_midi.o
42 obj-$(CONFIG_SOUND_VIDC) += vidc_mod.o
43 obj-$(CONFIG_SOUND_WAVEARTIST) += waveartist.o
44 obj-$(CONFIG_SOUND_SGALAXY) += sgalaxy.o ad1848.o
45 obj-$(CONFIG_SOUND_AD1816) += ad1816.o
46 obj-$(CONFIG_SOUND_ACI_MIXER) += aci.o
47 obj-$(CONFIG_SOUND_AWE32_SYNTH) += awe_wave.o
48
49 obj-$(CONFIG_SOUND_VIA82CXXX) += via82cxxx_audio.o ac97_codec.o
50 obj-$(CONFIG_SOUND_YMPCI) += ymf_sb.o sb_lib.o uart401.o
51 obj-$(CONFIG_SOUND_YMFPCI) += ymfpci.o ac97_codec.o
52 obj-$(CONFIG_SOUND_MSNDCLAS) += msnd.o msnd_classic.o
53 obj-$(CONFIG_SOUND_MSNDPIN) += msnd.o msnd_pinnacle.o
54 obj-$(CONFIG_SOUND_VWSND) += vwsnd.o
55 obj-$(CONFIG_SOUND_NM256) += nm256_audio.o ac97.o
56 obj-$(CONFIG_SOUND_ICH) += i810_audio.o ac97_codec.o
57 obj-$(CONFIG_SOUND_SONICVIBES) += sonicvibes.o
58 obj-$(CONFIG_SOUND_CMPCI) += cmpci.o
59 obj-$(CONFIG_SOUND_ES1370) += es1370.o
60 obj-$(CONFIG_SOUND_ES1371) += es1371.o ac97_codec.o
61 obj-$(CONFIG_SOUND_ESSSOLO1) += esssolo1.o
62 obj-$(CONFIG_SOUND_FUSION) += cs46xx.o ac97_codec.o
63 obj-$(CONFIG_SOUND_CS4281) += cs4281.o
64 obj-$(CONFIG_SOUND_MAESTRO) += maestro.o
65 obj-$(CONFIG_SOUND_TRIDENT) += trident.o ac97_codec.o
66
67 subdir-$(CONFIG_SOUND_EMU10K1) += emu10k1
68
69 ifeq ($(CONFIG_SOUND_EMU10K1),y)
70 obj-y += emu10k1/emu10k1.o
71 endif
72
73 subdir-$(CONFIG_DMASOUND) += dmasound
74
75 ifeq ($(CONFIG_DMASOUND),y)
76 obj-y += dmasound/dmasound.o
77 endif
78
79
80 # Declare multi-part drivers.
81
82 list-multi := sound.o gus.o pas2.o sb.o sb_lib.o vidc_mod.o \
83 soundcore.o wavefront.o
84
85 sound-objs := \
86 dev_table.o soundcard.o sound_syms.o \
87 audio.o audio_syms.o dmabuf.o \
88 midi_syms.o midi_synth.o midibuf.o \
89 sequencer.o sequencer_syms.o sound_timer.o sys_timer.o
90
91 soundcore-objs := sound_core.o sound_firmware.o
92
93 gus-objs := gus_card.o gus_midi.o gus_vol.o gus_wave.o ics2101.o
94 pas2-objs := pas2_card.o pas2_midi.o pas2_mixer.o pas2_pcm.o
95 sb-objs := sb_card.o
96 sb_lib-objs := sb_common.o sb_audio.o sb_midi.o sb_mixer.o sb_ess.o
97 vidc_mod-objs := vidc.o vidc_fill.o
98 wavefront-objs := wavfront.o wf_midi.o yss225.o
99
100
101 O_TARGET := sounddrivers.o
102
103 include $(TOPDIR)/Rules.make
104
105
106
107 # Link rules for multi-part drivers.
108
109 sound.o: $(sound-objs)
110 $(LD) -r -o $@ $(sound-objs)
111
112 soundcore.o: $(soundcore-objs)
113 $(LD) -r -o $@ $(soundcore-objs)
114
115 gus.o: $(gus-objs)
116 $(LD) -r -o $@ $(gus-objs)
117
118 pas2.o: $(pas2-objs)
119 $(LD) -r -o $@ $(pas2-objs)
120
121 sb.o: $(sb-objs)
122 $(LD) -r -o $@ $(sb-objs)
123
124 sb_lib.o: $(sb_lib-objs)
125 $(LD) -r -o $@ $(sb_lib-objs)
126
127 vidc_mod.o: $(vidc_mod-objs)
128 $(LD) -r -o $@ $(vidc_mod-objs)
129
130 wavefront.o: $(wavefront-objs)
131 $(LD) -r -o $@ $(wavefront-objs)
132
133 # Firmware files that need translation
134 #
135 # The translated files are protected by a file that keeps track
136 # of what name was used to build them. If the name changes, they
137 # will be forced to be remade.
138 #
139 # First make the utilities.
140
141 bin2hex: bin2hex.c
142 $(HOSTCC) $(HOSTCFLAGS) -o bin2hex bin2hex.c
143
144 hex2hex: hex2hex.c
145 $(HOSTCC) $(HOSTCFLAGS) -o hex2hex hex2hex.c
146
147
148
149
150 # Turtle Beach Maui / Tropez
151
152 maui.o: maui_boot.h
153
154 ifeq ($(CONFIG_MAUI_HAVE_BOOT),y)
155 maui_boot.h: $(patsubst "%", %, $(CONFIG_MAUI_BOOT_FILE)) bin2hex
156 ./bin2hex -i maui_os < $(CONFIG_MAUI_BOOT_FILE) > $@
157 else
158 maui_boot.h:
159 ( \
160 echo 'static unsigned char * maui_os = NULL;'; \
161 echo 'static int maui_osLen = 0;'; \
162 ) > $@
163 endif
164 @ ( \
165 echo 'ifeq ($(strip $(CONFIG_MAUI_HAVE_BOOT) $(CONFIG_MAUI_BOOT_FILE)),$$(strip $$(CONFIG_MAUI_HAVE_BOOT) $$(CONFIG_MAUI_BOOT_FILE)))'; \
166 echo 'FILES_BOOT_UP_TO_DATE += $@'; \
167 echo 'endif' \
168 ) > .$@.boot
169
170
171
172 # Turtle Beach MultiSound
173
174 ifeq ($(CONFIG_MSNDCLAS_HAVE_BOOT),y)
175 msnd_classic.o: msndperm.c msndinit.c
176
177 msndperm.c: $(patsubst "%", %, $(CONFIG_MSNDCLAS_PERM_FILE)) bin2hex
178 ./bin2hex msndperm < $(CONFIG_MSNDCLAS_PERM_FILE) > $@
179 @ ( \
180 echo 'ifeq ($(strip $(CONFIG_MSNDCLAS_HAVE_BOOT) $(CONFIG_MSNDCLAS_PERM_FILE)),$$(strip $$(CONFIG_MSNDCLAS_HAVE_BOOT) $$(CONFIG_MSNDCLAS_PERM_FILE)))'; \
181 echo 'FILES_BOOT_UP_TO_DATE += $@'; \
182 echo 'endif' \
183 ) > .$@.boot
184
185 msndinit.c: $(patsubst "%", %, $(CONFIG_MSNDCLAS_INIT_FILE)) bin2hex
186 ./bin2hex msndinit < $(CONFIG_MSNDCLAS_INIT_FILE) > $@
187 @ ( \
188 echo 'ifeq ($(strip $(CONFIG_MSNDCLAS_HAVE_BOOT) $(CONFIG_MSNDCLAS_INIT_FILE)),$$(strip $$(CONFIG_MSNDCLAS_HAVE_BOOT) $$(CONFIG_MSNDCLAS_INIT_FILE)))'; \
189 echo 'FILES_BOOT_UP_TO_DATE += $@'; \
190 echo 'endif' \
191 ) > .$@.boot
192 endif
193
194 ifeq ($(CONFIG_MSNDPIN_HAVE_BOOT),y)
195 msnd_pinnacle.o: pndsperm.c pndspini.c
196
197 pndsperm.c: $(patsubst "%", %, $(CONFIG_MSNDPIN_PERM_FILE)) bin2hex
198 ./bin2hex pndsperm < $(CONFIG_MSNDPIN_PERM_FILE) > $@
199 @ ( \
200 echo 'ifeq ($(strip $(CONFIG_MSNDPIN_HAVE_BOOT) $(CONFIG_MSNDPIN_PERM_FILE)),$$(strip $$(CONFIG_MSNDPIN_HAVE_BOOT) $$(CONFIG_MSNDPIN_PERM_FILE)))'; \
201 echo 'FILES_BOOT_UP_TO_DATE += $@'; \
202 echo 'endif' \
203 ) > .$@.boot
204
205 pndspini.c: $(patsubst "%", %, $(CONFIG_MSNDPIN_INIT_FILE)) bin2hex
206 ./bin2hex pndspini < $(CONFIG_MSNDPIN_INIT_FILE) > $@
207 @ ( \
208 echo 'ifeq ($(strip $(CONFIG_MSNDPIN_HAVE_BOOT) $(CONFIG_MSNDPIN_INIT_FILE)),$$(strip $$(CONFIG_MSNDPIN_HAVE_BOOT) $$(CONFIG_MSNDPIN_INIT_FILE)))'; \
209 echo 'FILES_BOOT_UP_TO_DATE += $@'; \
210 echo 'endif' \
211 ) > .$@.boot
212 endif
213
214
215
216 # PSS (ECHO-ADI2111)
217
218 pss.o: pss_boot.h
219
220 ifeq ($(CONFIG_PSS_HAVE_BOOT),y)
221 pss_boot.h: $(patsubst "%", %, $(CONFIG_PSS_BOOT_FILE)) bin2hex
222 ./bin2hex pss_synth < $(CONFIG_PSS_BOOT_FILE) > $@
223 else
224 pss_boot.h:
225 ( \
226 echo 'static unsigned char * pss_synth = NULL;'; \
227 echo 'static int pss_synthLen = 0;'; \
228 ) > $@
229 endif
230 @ ( \
231 echo 'ifeq ($(strip $(CONFIG_PSS_HAVE_BOOT) $(CONFIG_PSS_BOOT_FILE)),$$(strip $$(CONFIG_PSS_HAVE_BOOT) $$(CONFIG_PSS_BOOT_FILE)))'; \
232 echo 'FILES_BOOT_UP_TO_DATE += $@'; \
233 echo 'endif' \
234 ) > .$@.boot
235
236
237
238 # MediaTrix AudioTrix Pro
239
240 trix.o: trix_boot.h
241
242 ifeq ($(CONFIG_TRIX_HAVE_BOOT),y)
243 trix_boot.h: $(patsubst "%", %, $(CONFIG_TRIX_BOOT_FILE)) hex2hex
244 ./hex2hex -i trix_boot < $(CONFIG_TRIX_BOOT_FILE) > $@
245 else
246 trix_boot.h:
247 ( \
248 echo 'static unsigned char * trix_boot = NULL;'; \
249 echo 'static int trix_boot_len = 0;'; \
250 ) > $@
251 endif
252 @ ( \
253 echo 'ifeq ($(strip $(CONFIG_TRIX_HAVE_BOOT) $(CONFIG_TRIX_BOOT_FILE)),$$(strip $$(CONFIG_TRIX_HAVE_BOOT) $$(CONFIG_TRIX_BOOT_FILE)))'; \
254 echo 'FILES_BOOT_UP_TO_DATE += $@'; \
255 echo 'endif' \
256 ) > .$@.boot
257
258
259
260 # Find boot files whose source file names have changed and force rebuild.
261
262 FILES_BOOT_UP_TO_DATE :=
263
264 FILES_BOOT_EXIST := $(wildcard .*.boot)
265 ifneq ($(FILES_BOOT_EXIST),)
266 include $(FILES_BOOT_EXIST)
267 endif
268
269 FILES_BOOT_CHANGED := $(strip \
270 $(filter-out $(FILES_BOOT_UP_TO_DATE), \
271 maui_boot.h pss_boot.h trix_boot.h))
272
273 ifneq ($(FILES_BOOT_CHANGED),)
274 $(FILES_BOOT_CHANGED): dummy
275 endif
This page was automatically generated by the
LXR engine.
Visit the LXR main site for more
information.