Kbuild 3.1 KB

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