# Makefile for the lirc drivers.
#

# Each configuration option enables a list of files.

obj-$(CONFIG_LIRC_BT829)	+= lirc_bt829.o
obj-$(CONFIG_LIRC_IGORPLUGUSB)	+= lirc_igorplugusb.o
obj-$(CONFIG_LIRC_IMON)		+= lirc_imon.o
obj-$(CONFIG_LIRC_IT87)		+= lirc_it87.o
obj-$(CONFIG_LIRC_ITE8709)	+= lirc_ite8709.o
obj-$(CONFIG_LIRC_PARALLEL)	+= lirc_parallel.o
obj-$(CONFIG_LIRC_SASEM)	+= lirc_sasem.o
obj-$(CONFIG_LIRC_SERIAL)	+= lirc_serial.o
obj-$(CONFIG_LIRC_SIR)		+= lirc_sir.o
obj-$(CONFIG_LIRC_TTUSBIR)	+= lirc_ttusbir.o
obj-$(CONFIG_LIRC_ZILOG)	+= lirc_zilog.o
