xref: /linux/drivers/scsi/Makefile (revision ca55b2fef3a9373fcfc30f82fd26bc7fccbda732)
1#
2# Makefile for linux/drivers/scsi
3#
4# 30 May 2000, Christoph Hellwig <hch@infradead.org>
5# Rewritten to use lists instead of if-statements.
6#
7# 20 Sep 2000, Torben Mathiasen <tmm@image.dk>
8# Changed link order to reflect new scsi initialization.
9#
10# *!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!
11# The link order must be, SCSI Core, SCSI HBA drivers, and
12# lastly SCSI peripheral drivers (disk/tape/cdrom/etc.) to
13# satisfy certain initialization assumptions in the SCSI layer.
14# *!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!
15
16
17CFLAGS_aha152x.o =   -DAHA152X_STAT -DAUTOCONF
18CFLAGS_gdth.o    = # -DDEBUG_GDTH=2 -D__SERIAL__ -D__COM2__ -DGDTH_STATISTICS
19
20obj-$(CONFIG_PCMCIA)		+= pcmcia/
21
22obj-$(CONFIG_SCSI)		+= scsi_mod.o
23
24obj-$(CONFIG_RAID_ATTRS)	+= raid_class.o
25
26# --- NOTE ORDERING HERE ---
27# For kernel non-modular link, transport attributes need to
28# be initialised before drivers
29# --------------------------
30obj-$(CONFIG_SCSI_SPI_ATTRS)	+= scsi_transport_spi.o
31obj-$(CONFIG_SCSI_FC_ATTRS) 	+= scsi_transport_fc.o
32obj-$(CONFIG_SCSI_ISCSI_ATTRS)	+= scsi_transport_iscsi.o
33obj-$(CONFIG_SCSI_SAS_ATTRS)	+= scsi_transport_sas.o
34obj-$(CONFIG_SCSI_SAS_LIBSAS)	+= libsas/
35obj-$(CONFIG_SCSI_SRP_ATTRS)	+= scsi_transport_srp.o
36obj-$(CONFIG_SCSI_DH)		+= device_handler/
37
38obj-$(CONFIG_LIBFC)		+= libfc/
39obj-$(CONFIG_LIBFCOE)		+= fcoe/
40obj-$(CONFIG_FCOE)		+= fcoe/
41obj-$(CONFIG_FCOE_FNIC)		+= fnic/
42obj-$(CONFIG_SCSI_SNIC)		+= snic/
43obj-$(CONFIG_SCSI_BNX2X_FCOE)	+= libfc/ fcoe/ bnx2fc/
44obj-$(CONFIG_ISCSI_TCP) 	+= libiscsi.o	libiscsi_tcp.o iscsi_tcp.o
45obj-$(CONFIG_INFINIBAND_ISER) 	+= libiscsi.o
46obj-$(CONFIG_ISCSI_BOOT_SYSFS)	+= iscsi_boot_sysfs.o
47obj-$(CONFIG_SCSI_A4000T)	+= 53c700.o	a4000t.o
48obj-$(CONFIG_SCSI_ZORRO7XX)	+= 53c700.o	zorro7xx.o
49obj-$(CONFIG_A3000_SCSI)	+= a3000.o	wd33c93.o
50obj-$(CONFIG_A2091_SCSI)	+= a2091.o	wd33c93.o
51obj-$(CONFIG_GVP11_SCSI)	+= gvp11.o	wd33c93.o
52obj-$(CONFIG_MVME147_SCSI)	+= mvme147.o	wd33c93.o
53obj-$(CONFIG_SGIWD93_SCSI)	+= sgiwd93.o	wd33c93.o
54obj-$(CONFIG_ATARI_SCSI)	+= atari_scsi.o
55obj-$(CONFIG_MAC_SCSI)		+= mac_scsi.o
56obj-$(CONFIG_SCSI_MAC_ESP)	+= esp_scsi.o	mac_esp.o
57obj-$(CONFIG_SUN3_SCSI)		+= sun3_scsi.o  sun3_scsi_vme.o
58obj-$(CONFIG_MVME16x_SCSI)	+= 53c700.o	mvme16x_scsi.o
59obj-$(CONFIG_BVME6000_SCSI)	+= 53c700.o	bvme6000_scsi.o
60obj-$(CONFIG_SCSI_SIM710)	+= 53c700.o	sim710.o
61obj-$(CONFIG_SCSI_ADVANSYS)	+= advansys.o
62obj-$(CONFIG_SCSI_BUSLOGIC)	+= BusLogic.o
63obj-$(CONFIG_SCSI_DPT_I2O)	+= dpt_i2o.o
64obj-$(CONFIG_SCSI_U14_34F)	+= u14-34f.o
65obj-$(CONFIG_SCSI_ARCMSR)	+= arcmsr/
66obj-$(CONFIG_SCSI_ULTRASTOR)	+= ultrastor.o
67obj-$(CONFIG_SCSI_AHA152X)	+= aha152x.o
68obj-$(CONFIG_SCSI_AHA1542)	+= aha1542.o
69obj-$(CONFIG_SCSI_AHA1740)	+= aha1740.o
70obj-$(CONFIG_SCSI_AIC7XXX)	+= aic7xxx/
71obj-$(CONFIG_SCSI_AIC79XX)	+= aic7xxx/
72obj-$(CONFIG_SCSI_AACRAID)	+= aacraid/
73obj-$(CONFIG_SCSI_AIC94XX)	+= aic94xx/
74obj-$(CONFIG_SCSI_PM8001)	+= pm8001/
75obj-$(CONFIG_SCSI_ISCI)		+= isci/
76obj-$(CONFIG_SCSI_IPS)		+= ips.o
77obj-$(CONFIG_SCSI_FUTURE_DOMAIN)+= fdomain.o
78obj-$(CONFIG_SCSI_IN2000)	+= in2000.o
79obj-$(CONFIG_SCSI_GENERIC_NCR5380) += g_NCR5380.o
80obj-$(CONFIG_SCSI_GENERIC_NCR5380_MMIO) += g_NCR5380_mmio.o
81obj-$(CONFIG_SCSI_NCR53C406A)	+= NCR53c406a.o
82obj-$(CONFIG_SCSI_NCR_D700)	+= 53c700.o NCR_D700.o
83obj-$(CONFIG_SCSI_NCR_Q720)	+= NCR_Q720_mod.o
84obj-$(CONFIG_SCSI_SYM53C416)	+= sym53c416.o
85obj-$(CONFIG_SCSI_QLOGIC_FAS)	+= qlogicfas408.o	qlogicfas.o
86obj-$(CONFIG_PCMCIA_QLOGIC)	+= qlogicfas408.o
87obj-$(CONFIG_SCSI_QLOGIC_1280)	+= qla1280.o
88obj-$(CONFIG_SCSI_QLA_FC)	+= qla2xxx/
89obj-$(CONFIG_SCSI_QLA_ISCSI)	+= libiscsi.o qla4xxx/
90obj-$(CONFIG_SCSI_LPFC)		+= lpfc/
91obj-$(CONFIG_SCSI_BFA_FC)	+= bfa/
92obj-$(CONFIG_SCSI_CHELSIO_FCOE)	+= csiostor/
93obj-$(CONFIG_SCSI_PAS16)	+= pas16.o
94obj-$(CONFIG_SCSI_T128)		+= t128.o
95obj-$(CONFIG_SCSI_DMX3191D)	+= dmx3191d.o
96obj-$(CONFIG_SCSI_HPSA)		+= hpsa.o
97obj-$(CONFIG_SCSI_DTC3280)	+= dtc.o
98obj-$(CONFIG_SCSI_SYM53C8XX_2)	+= sym53c8xx_2/
99obj-$(CONFIG_SCSI_ZALON)	+= zalon7xx.o
100obj-$(CONFIG_SCSI_EATA_PIO)	+= eata_pio.o
101obj-$(CONFIG_SCSI_7000FASST)	+= wd7000.o
102obj-$(CONFIG_SCSI_EATA)		+= eata.o
103obj-$(CONFIG_SCSI_DC395x)	+= dc395x.o
104obj-$(CONFIG_SCSI_AM53C974)	+= esp_scsi.o	am53c974.o
105obj-$(CONFIG_CXLFLASH)		+= cxlflash/
106obj-$(CONFIG_MEGARAID_LEGACY)	+= megaraid.o
107obj-$(CONFIG_MEGARAID_NEWGEN)	+= megaraid/
108obj-$(CONFIG_MEGARAID_SAS)	+= megaraid/
109obj-$(CONFIG_SCSI_MPT2SAS)	+= mpt2sas/
110obj-$(CONFIG_SCSI_MPT3SAS)	+= mpt3sas/
111obj-$(CONFIG_SCSI_UFSHCD)	+= ufs/
112obj-$(CONFIG_SCSI_ACARD)	+= atp870u.o
113obj-$(CONFIG_SCSI_SUNESP)	+= esp_scsi.o	sun_esp.o
114obj-$(CONFIG_SCSI_GDTH)		+= gdth.o
115obj-$(CONFIG_SCSI_INITIO)	+= initio.o
116obj-$(CONFIG_SCSI_INIA100)	+= a100u2w.o
117obj-$(CONFIG_SCSI_QLOGICPTI)	+= qlogicpti.o
118obj-$(CONFIG_SCSI_MESH)		+= mesh.o
119obj-$(CONFIG_SCSI_MAC53C94)	+= mac53c94.o
120obj-$(CONFIG_BLK_DEV_3W_XXXX_RAID) += 3w-xxxx.o
121obj-$(CONFIG_SCSI_3W_9XXX)	+= 3w-9xxx.o
122obj-$(CONFIG_SCSI_3W_SAS)	+= 3w-sas.o
123obj-$(CONFIG_SCSI_PPA)		+= ppa.o
124obj-$(CONFIG_SCSI_IMM)		+= imm.o
125obj-$(CONFIG_JAZZ_ESP)		+= esp_scsi.o	jazz_esp.o
126obj-$(CONFIG_SUN3X_ESP)		+= esp_scsi.o	sun3x_esp.o
127obj-$(CONFIG_SCSI_LASI700)	+= 53c700.o lasi700.o
128obj-$(CONFIG_SCSI_SNI_53C710)	+= 53c700.o sni_53c710.o
129obj-$(CONFIG_SCSI_NSP32)	+= nsp32.o
130obj-$(CONFIG_SCSI_IPR)		+= ipr.o
131obj-$(CONFIG_SCSI_IBMVSCSI)	+= ibmvscsi/
132obj-$(CONFIG_SCSI_IBMVFC)	+= ibmvscsi/
133obj-$(CONFIG_SCSI_HPTIOP)	+= hptiop.o
134obj-$(CONFIG_SCSI_STEX)		+= stex.o
135obj-$(CONFIG_SCSI_MVSAS)	+= mvsas/
136obj-$(CONFIG_SCSI_MVUMI)	+= mvumi.o
137obj-$(CONFIG_PS3_ROM)		+= ps3rom.o
138obj-$(CONFIG_SCSI_CXGB3_ISCSI)	+= libiscsi.o libiscsi_tcp.o cxgbi/
139obj-$(CONFIG_SCSI_CXGB4_ISCSI)	+= libiscsi.o libiscsi_tcp.o cxgbi/
140obj-$(CONFIG_SCSI_BNX2_ISCSI)	+= libiscsi.o bnx2i/
141obj-$(CONFIG_BE2ISCSI)		+= libiscsi.o be2iscsi/
142obj-$(CONFIG_SCSI_ESAS2R)	+= esas2r/
143obj-$(CONFIG_SCSI_PMCRAID)	+= pmcraid.o
144obj-$(CONFIG_SCSI_VIRTIO)	+= virtio_scsi.o
145obj-$(CONFIG_VMWARE_PVSCSI)	+= vmw_pvscsi.o
146obj-$(CONFIG_XEN_SCSI_FRONTEND)	+= xen-scsifront.o
147obj-$(CONFIG_HYPERV_STORAGE)	+= hv_storvsc.o
148obj-$(CONFIG_SCSI_WD719X)	+= wd719x.o
149
150obj-$(CONFIG_ARM)		+= arm/
151
152obj-$(CONFIG_CHR_DEV_ST)	+= st.o
153obj-$(CONFIG_CHR_DEV_OSST)	+= osst.o
154obj-$(CONFIG_BLK_DEV_SD)	+= sd_mod.o
155obj-$(CONFIG_BLK_DEV_SR)	+= sr_mod.o
156obj-$(CONFIG_CHR_DEV_SG)	+= sg.o
157obj-$(CONFIG_CHR_DEV_SCH)	+= ch.o
158obj-$(CONFIG_SCSI_ENCLOSURE)	+= ses.o
159
160obj-$(CONFIG_SCSI_OSD_INITIATOR) += osd/
161
162# This goes last, so that "real" scsi devices probe earlier
163obj-$(CONFIG_SCSI_DEBUG)	+= scsi_debug.o
164scsi_mod-y			+= scsi.o hosts.o scsi_ioctl.o \
165				   scsicam.o scsi_error.o scsi_lib.o
166scsi_mod-y			+= scsi_common.o
167scsi_mod-$(CONFIG_SCSI_CONSTANTS) += constants.o
168scsi_mod-$(CONFIG_SCSI_DMA)	+= scsi_lib_dma.o
169scsi_mod-y			+= scsi_scan.o scsi_sysfs.o scsi_devinfo.o
170scsi_mod-$(CONFIG_SCSI_NETLINK)	+= scsi_netlink.o
171scsi_mod-$(CONFIG_SYSCTL)	+= scsi_sysctl.o
172scsi_mod-$(CONFIG_SCSI_PROC_FS)	+= scsi_proc.o
173scsi_mod-y			+= scsi_trace.o scsi_logging.o
174scsi_mod-$(CONFIG_PM)		+= scsi_pm.o
175scsi_mod-$(CONFIG_SCSI_DH)	+= scsi_dh.o
176
177hv_storvsc-y			:= storvsc_drv.o
178
179sd_mod-objs	:= sd.o
180sd_mod-$(CONFIG_BLK_DEV_INTEGRITY) += sd_dif.o
181
182sr_mod-objs	:= sr.o sr_ioctl.o sr_vendor.o
183ncr53c8xx-flags-$(CONFIG_SCSI_ZALON) \
184		:= -DCONFIG_NCR53C8XX_PREFETCH -DSCSI_NCR_BIG_ENDIAN \
185			-DCONFIG_SCSI_NCR53C8XX_NO_WORD_TRANSFERS
186CFLAGS_ncr53c8xx.o	:= $(ncr53c8xx-flags-y) $(ncr53c8xx-flags-m)
187zalon7xx-objs	:= zalon.o ncr53c8xx.o
188NCR_Q720_mod-objs	:= NCR_Q720.o ncr53c8xx.o
189oktagon_esp_mod-objs	:= oktagon_esp.o oktagon_io.o
190
191# Files generated that shall be removed upon make clean
192clean-files :=	53c700_d.h 53c700_u.h
193
194$(obj)/53c700.o $(MODVERDIR)/$(obj)/53c700.ver: $(obj)/53c700_d.h
195
196# If you want to play with the firmware, uncomment
197# GENERATE_FIRMWARE := 1
198
199ifdef GENERATE_FIRMWARE
200
201$(obj)/53c700_d.h: $(src)/53c700.scr $(src)/script_asm.pl
202	$(PERL) -s $(src)/script_asm.pl -ncr7x0_family $@ $(@:_d.h=_u.h) < $<
203
204endif
205