# SPDX-License-Identifier: GPL-2.0
#
# Makefile for the input core drivers.
#

# Each configuration option enables a list of files.

obj-$(CONFIG_JOYSTICK_A3D)		+= a3d.o
obj-$(CONFIG_JOYSTICK_ADI)		+= adi.o
obj-$(CONFIG_JOYSTICK_AMIGA)		+= amijoy.o
obj-$(CONFIG_JOYSTICK_AS5011)		+= as5011.o
obj-$(CONFIG_JOYSTICK_ANALOG)		+= analog.o
obj-$(CONFIG_JOYSTICK_COBRA)		+= cobra.o
obj-$(CONFIG_JOYSTICK_DB9)		+= db9.o
obj-$(CONFIG_JOYSTICK_GAMECON)		+= gamecon.o
obj-$(CONFIG_JOYSTICK_GF2K)		+= gf2k.o
obj-$(CONFIG_JOYSTICK_GRIP)		+= grip.o
obj-$(CONFIG_JOYSTICK_GRIP_MP)		+= grip_mp.o
obj-$(CONFIG_JOYSTICK_GUILLEMOT)	+= guillemot.o
obj-$(CONFIG_JOYSTICK_IFORCE)		+= iforce/
obj-$(CONFIG_JOYSTICK_INTERACT)		+= interact.o
obj-$(CONFIG_JOYSTICK_JOYDUMP)		+= joydump.o
obj-$(CONFIG_JOYSTICK_MAGELLAN)		+= magellan.o
obj-$(CONFIG_JOYSTICK_MAPLE)		+= maplecontrol.o
obj-$(CONFIG_JOYSTICK_PSXPAD_SPI)	+= psxpad-spi.o
obj-$(CONFIG_JOYSTICK_SIDEWINDER)	+= sidewinder.o
obj-$(CONFIG_JOYSTICK_SPACEBALL)	+= spaceball.o
obj-$(CONFIG_JOYSTICK_SPACEORB)		+= spaceorb.o
obj-$(CONFIG_JOYSTICK_STINGER)		+= stinger.o
obj-$(CONFIG_JOYSTICK_TMDC)		+= tmdc.o
obj-$(CONFIG_JOYSTICK_TURBOGRAFX)	+= turbografx.o
obj-$(CONFIG_JOYSTICK_TWIDJOY)		+= twidjoy.o
obj-$(CONFIG_JOYSTICK_WARRIOR)		+= warrior.o
obj-$(CONFIG_JOYSTICK_XPAD)		+= xpad.o
obj-$(CONFIG_JOYSTICK_ZHENHUA)		+= zhenhua.o
obj-$(CONFIG_JOYSTICK_WALKERA0701)	+= walkera0701.o

