Kbuild 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI) += dahdi.o
  2. #obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_DUMMY) += dahdi_dummy.o
  3. obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_DYNAMIC) += dahdi_dynamic.o
  4. obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_DYNAMIC_LOC) += dahdi_dynamic_loc.o
  5. obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_DYNAMIC_ETH) += dahdi_dynamic_eth.o
  6. obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_DYNAMIC_ETHMF) += dahdi_dynamic_ethmf.o
  7. obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_TRANSCODE) += dahdi_transcode.o
  8. obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCT4XXP) += wct4xxp/
  9. obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCTC4XXP) += wctc4xxp/
  10. obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCTDM24XXP) += wctdm24xxp/
  11. obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCTE12XP) += wcte12xp/
  12. obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCTDM) += wctdm.o
  13. obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_VOICEBUS) += voicebus/
  14. obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCB4XXP) += wcb4xxp/
  15. obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCT1XXP) += wct1xxp.o
  16. obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCTE11XP) += wcte11xp.o
  17. obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCFXO) += wcfxo.o
  18. obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_TOR2) += tor2.o
  19. obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_PCIRADIO) += pciradio.o
  20. obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_XPP) += xpp/
  21. obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_ECHOCAN_JPAH) += dahdi_echocan_jpah.o
  22. obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_ECHOCAN_STEVE) += dahdi_echocan_sec.o
  23. obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_ECHOCAN_STEVE2) += dahdi_echocan_sec2.o
  24. obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_ECHOCAN_KB1) += dahdi_echocan_kb1.o
  25. obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_ECHOCAN_MG2) += dahdi_echocan_mg2.o
  26. obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_AP400) += ap400/
  27. obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_OPVXD115) += opvxd115/
  28. obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_OPVXA1200) += opvxa1200/
  29. obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCOPENPCI) += wcopenpci.o
  30. obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_ZAPHFC) += zaphfc/
  31. obj-$(DAHDI_BUILD_ALL)$(CONFIG_ECHO) += ../staging/echo/
  32. obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_ECHOCAN_OSLEC) += dahdi_echocan_oslec.o
  33. obj-m += $(DAHDI_MODULES_EXTRA)
  34. # Only enable this if you think you know what you're doing. This is not
  35. # supported yet:
  36. #obj-m += dahdi_echocan_oslec.o
  37. #
  38. # A quick and dirty way to build OSLEC, if you happened to place it
  39. # yourself in the dahdi source tree. This is experimental. See README
  40. # regarding OSLEC.
  41. #obj-m += ../staging/echo/
  42. CFLAGS_MODULE += -I$(DAHDI_INCLUDE) -I$(src)
  43. ifndef HOTPLUG_FIRMWARE
  44. ifneq (,$(filter y m,$(CONFIG_FW_LOADER)))
  45. HOTPLUG_FIRMWARE := yes
  46. else
  47. HOTPLUG_FIRMWARE := no
  48. endif
  49. export HOTPLUG_FIRMWARE
  50. endif
  51. # fix typo present in CentOS and RHEL 2.6.9 kernels
  52. BAD_KERNELS_VERS := 22 34 34.0.1 34.0.2
  53. BAD_KERNELS := $(foreach ver,$(BAD_KERNELS_VERS),2.6.9-$(ver).EL 2.6.9-$(ver).ELsmp)
  54. ifneq (,$(filter $(KVERS),$(BAD_KERNELS)))
  55. EXTRA_CFLAGS+=-Drw_lock_t=rwlock_t
  56. endif
  57. # A number of Fedora 10 (9 also?) kernels backported hrtimer to 2.6.27
  58. # as part of an ALSA backport. TODO: Any better way to detect that?
  59. ifeq (1,$(shell fgrep -q ' hrtimer_set_expires' include/linux/hrtimer.h 2>/dev/null && echo 1))
  60. EXTRA_CFLAGS+=-DHAVE_HRTIMER_ACCESSORS=1
  61. endif
  62. ifeq (1,$(shell fgrep -q 'wait_for_completion_timeout' include/linux/completion.h 2>/dev/null && echo 1))
  63. CFLAGS_MODULE+=-DHAVE_WAIT_FOR_COMPLETION_TIMEOUT=1
  64. endif
  65. # In 2.6.18 skb_linearize changed; however, some distros backported the change
  66. ifneq (,$(wildcard $(srctree)/include/linux/skbuff.h))
  67. ifeq ($(shell grep "skb_linearize.*(.*, .* gfp)" $(srctree)/include/linux/skbuff.h),)
  68. CFLAGS_dahdi_dynamic_eth.o := -DNEW_SKB_LINEARIZE
  69. CFLAGS_dahdi_dynamic_ethmf.o := -DNEW_SKB_LINEARIZE
  70. endif
  71. endif
  72. dahdi-objs := dahdi-base.o
  73. ###############################################################################
  74. # Find appropriate ARCH value for VPMADT032 and HPEC binary modules
  75. ###############################################################################
  76. ifeq ($(ARCH),i386)
  77. DAHDI_ARCH=x86_32
  78. else
  79. ifeq ($(ARCH),x86_64)
  80. DAHDI_ARCH=x86_64
  81. else
  82. ifeq ($(ARCH),x86)
  83. ifeq ($(CONFIG_X86_32),y)
  84. DAHDI_ARCH=x86_32
  85. else
  86. DAHDI_ARCH=x86_64
  87. endif
  88. else
  89. $(warning CPU Architecture '$(ARCH)' does not support VPMADT032 or HPEC. Skipping.)
  90. endif
  91. endif
  92. endif
  93. ###############################################################################
  94. # VPMADT032 Loader
  95. ###############################################################################
  96. dahdi_vpmadt032_loader-objs := vpmadt032_loader/dahdi_vpmadt032_loader.o
  97. ifneq ($(DAHDI_ARCH),)
  98. ifneq ($(wildcard $(src)/vpmadt032_loader/vpmadt032_$(DAHDI_ARCH).o_shipped),)
  99. VPMADT032_LOADER_PRESENT=yes
  100. dahdi_vpmadt032_loader-objs += vpmadt032_loader/vpmadt032_$(DAHDI_ARCH).o
  101. obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_VPMADT032_LOADER) += dahdi_vpmadt032_loader.o
  102. endif
  103. endif
  104. ###############################################################################
  105. # HPEC Support
  106. ###############################################################################
  107. dahdi_echocan_hpec-objs := hpec/dahdi_echocan_hpec.o
  108. CFLAGS_dahdi_echocan_hpec.o := -I$(src)/hpec
  109. ifneq ($(DAHDI_ARCH),)
  110. ifneq ($(wildcard $(src)/hpec/hpec_$(DAHDI_ARCH).o_shipped),)
  111. HPEC_PRESENT=yes
  112. dahdi_echocan_hpec-objs += hpec/hpec_$(DAHDI_ARCH).o
  113. endif
  114. endif
  115. ifeq ($(HPEC_PRESENT),yes)
  116. obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_ECHOCAN_HPEC) += dahdi_echocan_hpec.o
  117. endif
  118. $(obj)/pciradio.o: $(obj)/radfw.h
  119. $(obj)/tor2.o: $(obj)/tor2fw.h
  120. hostprogs-y := $(obj)/makefw
  121. $(obj)/tor2fw.h: $(src)/tormenta2.rbt $(obj)/makefw
  122. $(obj)/makefw $< tor2fw > $@
  123. $(obj)/radfw.h: $(src)/pciradio.rbt $(obj)/makefw
  124. $(obj)/makefw $< radfw > $@
  125. $(obj)/makefw: $(src)/makefw.c
  126. $(HOSTCC) -o $@ $^
  127. clean-files := radfw.h tor2fw.h