ifdef SUBDIRS ZAP_KERNEL = $(SUBDIRS) else ZAP_KERNEL = $(M) endif EXTRA_CFLAGS = $(XPP_LOCAL_CFLAGS) \ -I$(ZAP_KERNEL) \ -DDEBUG \ -DPOLL_DIGITAL_INPUTS \ -DDEBUG_PCMTX \ -DPROTOCOL_DEBUG \ -g # -DOLD_PROC # obj-m += xpp.o xpd_fxs.o xpd_fxo.o xpd_bri.o xpd_pri.o HAS_BRISTUFF := $(shell grep -c '^[[:space:]]*\#[[:space:]]*define[[:space:]]\+CONFIG_ZAPATA_BRI_DCHANS\>' $(ZAP_KERNEL)/zconfig.h) # Build only supported modules ifneq (,$(filter y m,$(CONFIG_USB))) obj-m += xpp_usb.o endif xpp-objs += xbus-core.o xbus-sysfs.o xbus-pcm.o xframe_queue.o xpp_zap.o xproto.o card_global.o zap_debug.o xpd_fxs-objs += card_fxs.o xpd_fxo-objs += card_fxo.o xpd_bri-objs += card_bri.o xpd_pri-objs += card_pri.o ifeq (y,$(PARPORT_DEBUG)) EXTRA_CFLAGS += -DDEBUG_SYNC_PARPORT obj-m += parport_debug.o endif # Handle versioning XPP_VERSION_STR ?= $(shell if [ -r $(obj)/.version ]; then echo "\"`cat $(obj)/.version`\""; else echo '"Unknown"'; fi) clean-files := xpp_version.h $(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 $(obj)/xpp_version.h: FORCE $(Q)echo '#define XPP_VERSION $(XPP_VERSION_STR)' > $@.tmp $(Q)if cmp -s $@.tmp $@ ; then echo; else \ mv $@.tmp $@ ; \ fi $(Q)rm -f $@.tmp # Validations: # - Syntactic verification of perl scripts # - Handle country table validation for init_card_2_* XPP_PROTOCOL_VERSION := $(shell grep XPP_PROTOCOL_VERSION $(src)/xproto.h | sed -e 's/^.*XPP_PROTOCOL_VERSION[ \t]*//') xpp_verifications = \ init_card_1_$(XPP_PROTOCOL_VERSION) \ init_card_2_$(XPP_PROTOCOL_VERSION) \ init_card_3_$(XPP_PROTOCOL_VERSION) \ init_card_4_$(XPP_PROTOCOL_VERSION) xpp_verified = $(foreach file, $(xpp_verifications), $(file).verified) always := $(xpp_verified) clean-files += $(xpp_verified) $(obj)/init_card_%_$(XPP_PROTOCOL_VERSION).verified: $(src)/init_card_%_$(XPP_PROTOCOL_VERSION) @echo ' VERIFY $<' $(Q)perl -c $< 2> $@ || (cat $@; rm -f $@; exit 1) .PHONY: FORCE FORCE: