Kbuild 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. EXTRA_CFLAGS = $(XPP_LOCAL_CFLAGS) \
  2. -DDEBUG \
  3. -DPOLL_DIGITAL_INPUTS \
  4. -DDEBUG_PCMTX \
  5. -DPROTOCOL_DEBUG \
  6. -g # -DOLD_PROC
  7. #
  8. WITH_BRISTUFF := $(shell grep -c '^[[:space:]]*\#[[:space:]]*define[[:space:]]\+CONFIG_DAHDI_BRI_DCHANS\>' $(src)/../../../include/dahdi/dahdi_config.h)
  9. obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_XPP) += xpp.o
  10. obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_XPD_FXS) += xpd_fxs.o
  11. obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_XPD_FXO) += xpd_fxo.o
  12. obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_XPD_PRI) += xpd_pri.o
  13. obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_XPD_BRI) += xpd_bri.o
  14. # Build only supported modules
  15. ifneq (,$(filter y m,$(CONFIG_USB)))
  16. obj-$(DAHDI_BUILD_ALL)$(CONFIG_XPP_USB) += xpp_usb.o
  17. endif
  18. ifneq (,$(filter y m,$(CONFIG_BF537)))
  19. obj-$(DAHDI_BUILD_ALL)$(CONFIG_XPP_MMAP) += xpp_mmap.o
  20. endif
  21. xpp-objs += xbus-core.o xbus-sysfs.o xbus-pcm.o xframe_queue.o xpp_dahdi.o xproto.o card_global.o dahdi_debug.o
  22. xpd_fxs-objs += card_fxs.o
  23. xpd_fxo-objs += card_fxo.o
  24. xpd_bri-objs += card_bri.o
  25. xpd_pri-objs += card_pri.o
  26. xpp_mmap-objs += mmapbus.o mmapdrv.o
  27. ifeq (y,$(PARPORT_DEBUG))
  28. EXTRA_CFLAGS += -DDEBUG_SYNC_PARPORT
  29. obj-m += parport_debug.o
  30. endif
  31. # Handle versioning
  32. XPP_VERSION_STR ?= $(shell if [ -r $(obj)/.version ]; then echo "\"`cat $(obj)/.version`\""; else echo '"Unknown"'; fi)
  33. clean-files += xpp_version.h
  34. $(obj)/card_fxs.o $(obj)/card_fxo.o $(obj)/card_bri.o $(obj)/card_pri.o $(obj)/xpp_usb.o $(obj)/xpp.o: $(obj)/xpp_version.h
  35. $(obj)/xpp_version.h: FORCE
  36. $(Q)echo '#define XPP_VERSION $(XPP_VERSION_STR)' > $@.tmp
  37. $(Q)if cmp -s $@.tmp $@ ; then echo; else \
  38. mv $@.tmp $@ ; \
  39. fi
  40. $(Q)rm -f $@.tmp
  41. # Validations:
  42. # - Syntactic verification of perl scripts
  43. # - Handle country table validation for init_card_2_*
  44. XPP_PROTOCOL_VERSION := $(shell grep XPP_PROTOCOL_VERSION $(src)/xproto.h | sed -e 's/^.*XPP_PROTOCOL_VERSION[ \t]*//')
  45. xpp_verifications = \
  46. init_card_1_$(XPP_PROTOCOL_VERSION) \
  47. init_card_2_$(XPP_PROTOCOL_VERSION) \
  48. init_card_3_$(XPP_PROTOCOL_VERSION) \
  49. init_card_4_$(XPP_PROTOCOL_VERSION) \
  50. init_fxo_modes
  51. xpp_verified = $(foreach file, $(xpp_verifications), $(file).verified)
  52. FXO_MODES = $(src)/../fxo_modes.h
  53. FXO_VERIFY = $(obj)/init_card_2_$(XPP_PROTOCOL_VERSION) -v $(obj)/init_fxo_modes
  54. hostprogs-y := print_fxo_modes
  55. always := $(xpp_verified)
  56. print_fxo_modes-objs := print_fxo_modes.o
  57. HOSTCFLAGS_print_fxo_modes.o += -include $(FXO_MODES)
  58. clean-files += print_fxo_modes init_fxo_modes $(xpp_verified)
  59. $(obj)/init_fxo_modes: $(obj)/print_fxo_modes
  60. @echo ' GEN $@'
  61. $(Q)$(obj)/print_fxo_modes >$@ || (rm -f $@; exit 1)
  62. $(obj)/init_fxo_modes.verified: $(obj)/init_card_2_$(XPP_PROTOCOL_VERSION) $(obj)/init_fxo_modes
  63. @echo ' CHECK $(obj)/init_card_2_$(XPP_PROTOCOL_VERSION)'
  64. $(Q)$(FXO_VERIFY) || (rm -f $@; exit 1)
  65. touch $@
  66. $(obj)/init_card_%_$(XPP_PROTOCOL_VERSION).verified: $(src)/init_card_%_$(XPP_PROTOCOL_VERSION)
  67. @echo ' VERIFY $<'
  68. $(Q)perl -c $< 2> $@ || (cat $@; rm -f $@; exit 1)
  69. .PHONY: FORCE
  70. FORCE: