#
# Makefile for the kernel ata, atapi, and ide block device drivers.
#
# 12 September 2000, Bartlomiej Zolnierkiewicz <bkz@linux-ide.org>
# Rewritten to use lists instead of if-statements.
#
# Note : at this point, these files are compiled on all systems.
# In the future, some of these should be built conditionally.
#
# First come modules that register themselves with the core

EXTRA_CFLAGS				+= -Idrivers/ide

obj-$(CONFIG_BLK_DEV_IDE)		+= pci/

ide-core-y += ide.o ide-default.o ide-io.o ide-iops.o ide-lib.o ide-probe.o \
	ide-taskfile.o

ide-core-$(CONFIG_BLK_DEV_CMD640)	+= pci/cmd640.o

# Core IDE code - must come before legacy
ide-core-$(CONFIG_BLK_DEV_IDEPCI)	+= setup-pci.o
ide-core-$(CONFIG_BLK_DEV_IDEDMA)	+= ide-dma.o
ide-core-$(CONFIG_BLK_DEV_IDE_TCQ)	+= ide-tcq.o
ide-core-$(CONFIG_PROC_FS)		+= ide-proc.o
ide-core-$(CONFIG_BLK_DEV_IDEPNP)	+= ide-pnp.o

# built-in only drivers from arm/
ide-core-$(CONFIG_IDE_ARM)		+= arm/ide_arm.o

# built-in only drivers from legacy/
ide-core-$(CONFIG_BLK_DEV_BUDDHA)	+= legacy/buddha.o
ide-core-$(CONFIG_BLK_DEV_FALCON_IDE)	+= legacy/falconide.o
ide-core-$(CONFIG_BLK_DEV_GAYLE)	+= legacy/gayle.o
ide-core-$(CONFIG_BLK_DEV_MAC_IDE)	+= legacy/macide.o
ide-core-$(CONFIG_BLK_DEV_Q40IDE)	+= legacy/q40ide.o

# built-in only drivers from ppc/
ide-core-$(CONFIG_BLK_DEV_MPC8xx_IDE)	+= ppc/mpc8xx.o
ide-core-$(CONFIG_BLK_DEV_IDE_PMAC)	+= ppc/pmac.o

# built-in only drivers from h8300/
ide-core-$(CONFIG_H8300)		+= h8300/ide-h8300.o

obj-$(CONFIG_BLK_DEV_IDE)		+= ide-core.o
obj-$(CONFIG_IDE_GENERIC)		+= ide-generic.o

obj-$(CONFIG_BLK_DEV_IDEDISK)		+= ide-disk.o
obj-$(CONFIG_BLK_DEV_IDECD)		+= ide-cd.o
obj-$(CONFIG_BLK_DEV_IDETAPE)		+= ide-tape.o
obj-$(CONFIG_BLK_DEV_IDEFLOPPY)		+= ide-floppy.o

obj-$(CONFIG_BLK_DEV_IDE)		+= legacy/ arm/
obj-$(CONFIG_BLK_DEV_HD)		+= legacy/
obj-$(CONFIG_ETRAX_IDE)		+= cris/
