Makefile
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:9k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

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