# Makefile for the kernel ISDN subsystem and device drivers.

# Object files in subdirectories

obj-$(CONFIG_ISDN_I4L)			+= i4l/
obj-$(CONFIG_ISDN_CAPI)			+= capi/
obj-$(CONFIG_MISDN)			+= mISDN/
obj-$(CONFIG_ISDN_CAPI)			+= hardware/
obj-$(CONFIG_ISDN_DIVERSION)		+= divert/
obj-$(CONFIG_ISDN_DRV_HISAX)		+= hisax/
obj-$(CONFIG_ISDN_DRV_ICN)		+= icn/
obj-$(CONFIG_ISDN_DRV_PCBIT)		+= pcbit/
obj-$(CONFIG_ISDN_DRV_SC)		+= sc/
obj-$(CONFIG_ISDN_DRV_LOOP)		+= isdnloop/
obj-$(CONFIG_ISDN_DRV_ACT2000)		+= act2000/
obj-$(CONFIG_HYSDN)			+= hysdn/
obj-$(CONFIG_ISDN_DRV_GIGASET)		+= gigaset/
