xref: /linux/drivers/scsi/Makefile (revision 2e3fcbcc3b0eb9b96d2912cdac920f0ae8d1c8f2)
1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0
21da177e4SLinus Torvalds#
31da177e4SLinus Torvalds# Makefile for linux/drivers/scsi
41da177e4SLinus Torvalds#
51da177e4SLinus Torvalds# 30 May 2000, Christoph Hellwig <hch@infradead.org>
61da177e4SLinus Torvalds# Rewritten to use lists instead of if-statements.
71da177e4SLinus Torvalds#
81da177e4SLinus Torvalds# 20 Sep 2000, Torben Mathiasen <tmm@image.dk>
91da177e4SLinus Torvalds# Changed link order to reflect new scsi initialization.
101da177e4SLinus Torvalds#
111da177e4SLinus Torvalds# *!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!
121da177e4SLinus Torvalds# The link order must be, SCSI Core, SCSI HBA drivers, and
131da177e4SLinus Torvalds# lastly SCSI peripheral drivers (disk/tape/cdrom/etc.) to
141da177e4SLinus Torvalds# satisfy certain initialization assumptions in the SCSI layer.
151da177e4SLinus Torvalds# *!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!
161da177e4SLinus Torvalds
171da177e4SLinus Torvalds
181da177e4SLinus TorvaldsCFLAGS_aha152x.o =   -DAHA152X_STAT -DAUTOCONF
191da177e4SLinus Torvalds
208ae732a9STejun Heoobj-$(CONFIG_PCMCIA)		+= pcmcia/
211da177e4SLinus Torvalds
221da177e4SLinus Torvaldsobj-$(CONFIG_SCSI)		+= scsi_mod.o
2333ff4ce4SChristoph Hellwigobj-$(CONFIG_SCSI_COMMON)	+= scsi_common.o
241da177e4SLinus Torvalds
2561a7afa2SJames Bottomleyobj-$(CONFIG_RAID_ATTRS)	+= raid_class.o
2661a7afa2SJames Bottomley
27*4977c0f4SBart Van Asscheobj-$(CONFIG_SCSI_PROTO_TEST)	+= scsi_proto_test.o
28*4977c0f4SBart Van Assche
291da177e4SLinus Torvalds# --- NOTE ORDERING HERE ---
301da177e4SLinus Torvalds# For kernel non-modular link, transport attributes need to
311da177e4SLinus Torvalds# be initialised before drivers
321da177e4SLinus Torvalds# --------------------------
331da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_SPI_ATTRS)	+= scsi_transport_spi.o
341da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_FC_ATTRS) 	+= scsi_transport_fc.o
351da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_ISCSI_ATTRS)	+= scsi_transport_iscsi.o
36c7ebbbceSChristoph Hellwigobj-$(CONFIG_SCSI_SAS_ATTRS)	+= scsi_transport_sas.o
372908d778SJames Bottomleyobj-$(CONFIG_SCSI_SAS_LIBSAS)	+= libsas/
3809345f65SFUJITA Tomonoriobj-$(CONFIG_SCSI_SRP_ATTRS)	+= scsi_transport_srp.o
39a6a8d9f8SChandra Seetharamanobj-$(CONFIG_SCSI_DH)		+= device_handler/
401da177e4SLinus Torvalds
4142e9a92fSRobert Loveobj-$(CONFIG_LIBFC)		+= libfc/
429b34ecffSVasu Devobj-$(CONFIG_LIBFCOE)		+= fcoe/
4385b4aa49SRobert Loveobj-$(CONFIG_FCOE)		+= fcoe/
445df6d737SAbhijeet Joglekarobj-$(CONFIG_FCOE_FNIC)		+= fnic/
45c8806b6cSNarsimhulu Musiniobj-$(CONFIG_SCSI_SNIC)		+= snic/
46853e2bd2SBhanu Gollapudiobj-$(CONFIG_SCSI_BNX2X_FCOE)	+= libfc/ fcoe/ bnx2fc/
4761d8658bSDupuis, Chadobj-$(CONFIG_QEDF)		+= qedf/
4838e1a8f5SMike Christieobj-$(CONFIG_ISCSI_TCP) 	+= libiscsi.o	libiscsi_tcp.o iscsi_tcp.o
493f1244a2SOr Gerlitzobj-$(CONFIG_INFINIBAND_ISER) 	+= libiscsi.o
50aab7a8fdSMike Christieobj-$(CONFIG_ISCSI_BOOT_SYSFS)	+= iscsi_boot_sysfs.o
51a16efc1cSKars de Jongobj-$(CONFIG_SCSI_A4000T)	+= 53c700.o	a4000t.o
5245804fbbSKars de Jongobj-$(CONFIG_SCSI_ZORRO7XX)	+= 53c700.o	zorro7xx.o
533109e5aeSMichael Schmitzobj-$(CONFIG_SCSI_ZORRO_ESP)	+= esp_scsi.o	zorro_esp.o
541da177e4SLinus Torvaldsobj-$(CONFIG_A3000_SCSI)	+= a3000.o	wd33c93.o
551da177e4SLinus Torvaldsobj-$(CONFIG_A2091_SCSI)	+= a2091.o	wd33c93.o
561da177e4SLinus Torvaldsobj-$(CONFIG_GVP11_SCSI)	+= gvp11.o	wd33c93.o
571da177e4SLinus Torvaldsobj-$(CONFIG_MVME147_SCSI)	+= mvme147.o	wd33c93.o
581da177e4SLinus Torvaldsobj-$(CONFIG_SGIWD93_SCSI)	+= sgiwd93.o	wd33c93.o
591da177e4SLinus Torvaldsobj-$(CONFIG_ATARI_SCSI)	+= atari_scsi.o
601da177e4SLinus Torvaldsobj-$(CONFIG_MAC_SCSI)		+= mac_scsi.o
616fe07aafSFinn Thainobj-$(CONFIG_SCSI_MAC_ESP)	+= esp_scsi.o	mac_esp.o
621da177e4SLinus Torvaldsobj-$(CONFIG_SUN3_SCSI)		+= sun3_scsi.o  sun3_scsi_vme.o
63506c7bbcSKars de Jongobj-$(CONFIG_MVME16x_SCSI)	+= 53c700.o	mvme16x_scsi.o
648276b58aSKars de Jongobj-$(CONFIG_BVME6000_SCSI)	+= 53c700.o	bvme6000_scsi.o
651da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_SIM710)	+= 53c700.o	sim710.o
661da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_ADVANSYS)	+= advansys.o
671da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_BUSLOGIC)	+= BusLogic.o
681c57e86dSErich Chenobj-$(CONFIG_SCSI_ARCMSR)	+= arcmsr/
691da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_AHA152X)	+= aha152x.o
701da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_AHA1542)	+= aha1542.o
711da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_AHA1740)	+= aha1740.o
721da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_AIC7XXX)	+= aic7xxx/
731da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_AIC79XX)	+= aic7xxx/
741da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_AACRAID)	+= aacraid/
752908d778SJames Bottomleyobj-$(CONFIG_SCSI_AIC94XX)	+= aic94xx/
76dbf9bfe6Sjack wangobj-$(CONFIG_SCSI_PM8001)	+= pm8001/
776f231ddaSDan Williamsobj-$(CONFIG_SCSI_ISCI)		+= isci/
781da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_IPS)		+= ips.o
79ebeb4665SOndrej Zaryobj-$(CONFIG_SCSI_FDOMAIN)	+= fdomain.o
8068046d50SOndrej Zaryobj-$(CONFIG_SCSI_FDOMAIN_PCI)	+= fdomain_pci.o
81e5207cf0SOndrej Zaryobj-$(CONFIG_SCSI_FDOMAIN_ISA)	+= fdomain_isa.o
821da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_GENERIC_NCR5380) += g_NCR5380.o
831da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_QLOGIC_FAS)	+= qlogicfas408.o	qlogicfas.o
841da177e4SLinus Torvaldsobj-$(CONFIG_PCMCIA_QLOGIC)	+= qlogicfas408.o
851da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_QLOGIC_1280)	+= qla1280.o
868e0df4a7SAndrew Vasquezobj-$(CONFIG_SCSI_QLA_FC)	+= qla2xxx/
873538a001SRandy Dunlapobj-$(CONFIG_SCSI_QLA_ISCSI)	+= libiscsi.o qla4xxx/
88dea3101eSobj-$(CONFIG_SCSI_LPFC)		+= lpfc/
89ebc076b3SJames Smartobj-$(CONFIG_SCSI_EFCT)		+= elx/
907725ccfdSJing Huangobj-$(CONFIG_SCSI_BFA_FC)	+= bfa/
91a3667aaeSNaresh Kumar Innaobj-$(CONFIG_SCSI_CHELSIO_FCOE)	+= csiostor/
921da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_DMX3191D)	+= dmx3191d.o
93edd16368SStephen M. Cameronobj-$(CONFIG_SCSI_HPSA)		+= hpsa.o
946c223761SKevin Barnettobj-$(CONFIG_SCSI_SMARTPQI)	+= smartpqi/
951da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_SYM53C8XX_2)	+= sym53c8xx_2/
961da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_ZALON)	+= zalon7xx.o
971da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_DC395x)	+= dc395x.o
983a7e7be2SHannes Reineckeobj-$(CONFIG_SCSI_AM53C974)	+= esp_scsi.o	am53c974.o
991da177e4SLinus Torvaldsobj-$(CONFIG_MEGARAID_LEGACY)	+= megaraid.o
1001da177e4SLinus Torvaldsobj-$(CONFIG_MEGARAID_NEWGEN)	+= megaraid/
101c4a3e0a5SBagalkote, Sreenivasobj-$(CONFIG_MEGARAID_SAS)	+= megaraid/
102f92363d1SSreekanth Reddyobj-$(CONFIG_SCSI_MPT3SAS)	+= mpt3sas/
103c4f7ac64SKashyap Desaiobj-$(CONFIG_SCSI_MPI3MR)	+= mpi3mr/
1041da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_ACARD)	+= atp870u.o
10589a4063eSDavid S. Millerobj-$(CONFIG_SCSI_SUNESP)	+= esp_scsi.o	sun_esp.o
1061da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_INITIO)	+= initio.o
1071da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_INIA100)	+= a100u2w.o
1081da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_QLOGICPTI)	+= qlogicpti.o
1091da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_MESH)		+= mesh.o
1101da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_MAC53C94)	+= mac53c94.o
111081ff398SHannes Reineckeobj-$(CONFIG_SCSI_MYRB)		+= myrb.o
11277266186SHannes Reineckeobj-$(CONFIG_SCSI_MYRS)		+= myrs.o
1131da177e4SLinus Torvaldsobj-$(CONFIG_BLK_DEV_3W_XXXX_RAID) += 3w-xxxx.o
1141da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_3W_9XXX)	+= 3w-9xxx.o
115f619106bSadam radfordobj-$(CONFIG_SCSI_3W_SAS)	+= 3w-sas.o
1161da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_PPA)		+= ppa.o
1171da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_IMM)		+= imm.o
118352e921fSThomas Bogendoerferobj-$(CONFIG_JAZZ_ESP)		+= esp_scsi.o	jazz_esp.o
1190bb67f18SThomas Bogendoerferobj-$(CONFIG_SUN3X_ESP)		+= esp_scsi.o	sun3x_esp.o
1201da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_LASI700)	+= 53c700.o lasi700.o
121c27d85f3SThomas Bogendoerferobj-$(CONFIG_SCSI_SNI_53C710)	+= 53c700.o sni_53c710.o
1221da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_NSP32)	+= nsp32.o
1231da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_IPR)		+= ipr.o
1241da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_IBMVSCSI)	+= ibmvscsi/
12588a678bbSBryant G. Lyobj-$(CONFIG_SCSI_IBMVSCSIS)	+= ibmvscsi_tgt/
126072b91f9SBrian Kingobj-$(CONFIG_SCSI_IBMVFC)	+= ibmvscsi/
127ede1e6f8SHighPoint Linux Teamobj-$(CONFIG_SCSI_HPTIOP)	+= hptiop.o
1285a25ba16SJeff Garzikobj-$(CONFIG_SCSI_STEX)		+= stex.o
1292ad52f47SJeff Garzikobj-$(CONFIG_SCSI_MVSAS)	+= mvsas/
130f0c568a4SJianyun Liobj-$(CONFIG_SCSI_MVUMI)	+= mvumi.o
1319aea8cbfSGeert Uytterhoevenobj-$(CONFIG_PS3_ROM)		+= ps3rom.o
1326f7efaabSkxie@chelsio.comobj-$(CONFIG_SCSI_CXGB3_ISCSI)	+= libiscsi.o libiscsi_tcp.o cxgbi/
1337b36b6e0Skxie@chelsio.comobj-$(CONFIG_SCSI_CXGB4_ISCSI)	+= libiscsi.o libiscsi_tcp.o cxgbi/
134cf4e6363SMichael Chanobj-$(CONFIG_SCSI_BNX2_ISCSI)	+= libiscsi.o bnx2i/
135ace7f46bSManish Rangankarobj-$(CONFIG_QEDI)          += libiscsi.o qedi/
1366733b39aSJayamohan Kallickalobj-$(CONFIG_BE2ISCSI)		+= libiscsi.o be2iscsi/
13726780d9eSBradley Groveobj-$(CONFIG_SCSI_ESAS2R)	+= esas2r/
13889a36810SAnil Ravindranathobj-$(CONFIG_SCSI_PMCRAID)	+= pmcraid.o
1394fe74b1cSPaolo Bonziniobj-$(CONFIG_SCSI_VIRTIO)	+= virtio_scsi.o
140851b1642SAlok Katariaobj-$(CONFIG_VMWARE_PVSCSI)	+= vmw_pvscsi.o
1418beb8d4cSJuergen Grossobj-$(CONFIG_XEN_SCSI_FRONTEND)	+= xen-scsifront.o
14289ae7d70SK. Y. Srinivasanobj-$(CONFIG_HYPERV_STORAGE)	+= hv_storvsc.o
14348a31030SOndrej Zaryobj-$(CONFIG_SCSI_WD719X)	+= wd719x.o
1441da177e4SLinus Torvalds
1451da177e4SLinus Torvaldsobj-$(CONFIG_ARM)		+= arm/
1461da177e4SLinus Torvalds
1471da177e4SLinus Torvaldsobj-$(CONFIG_CHR_DEV_ST)	+= st.o
1481da177e4SLinus Torvaldsobj-$(CONFIG_BLK_DEV_SD)	+= sd_mod.o
1491da177e4SLinus Torvaldsobj-$(CONFIG_BLK_DEV_SR)	+= sr_mod.o
1501da177e4SLinus Torvaldsobj-$(CONFIG_CHR_DEV_SG)	+= sg.o
151daa6eda6SGerd Knorr obj-$(CONFIG_CHR_DEV_SCH)	+= ch.o
1529927c688SJames Bottomleyobj-$(CONFIG_SCSI_ENCLOSURE)	+= ses.o
1531da177e4SLinus Torvalds
154e8899fadSJohn Garryobj-$(CONFIG_SCSI_HISI_SAS) += hisi_sas/
15568274794SBoaz Harrosh
1560caab23eSLinus Torvalds# This goes last, so that "real" scsi devices probe earlier
1570caab23eSLinus Torvaldsobj-$(CONFIG_SCSI_DEBUG)	+= scsi_debug.o
1582dd951ecSHannes Reineckescsi_mod-y			+= scsi.o hosts.o scsi_ioctl.o \
1597689e82eSCornelia Huck				   scsicam.o scsi_error.o scsi_lib.o
1602dd951ecSHannes Reineckescsi_mod-$(CONFIG_SCSI_CONSTANTS) += constants.o
1617689e82eSCornelia Huckscsi_mod-$(CONFIG_SCSI_DMA)	+= scsi_lib_dma.o
1627689e82eSCornelia Huckscsi_mod-y			+= scsi_scan.o scsi_sysfs.o scsi_devinfo.o
16384314fd4SJames Smartscsi_mod-$(CONFIG_SCSI_NETLINK)	+= scsi_netlink.o
1641da177e4SLinus Torvaldsscsi_mod-$(CONFIG_SYSCTL)	+= scsi_sysctl.o
1651da177e4SLinus Torvaldsscsi_mod-$(CONFIG_SCSI_PROC_FS)	+= scsi_proc.o
1660eebd005SBart Van Asschescsi_mod-$(CONFIG_BLK_DEBUG_FS)	+= scsi_debugfs.o
167ded85c19SHannes Reineckescsi_mod-y			+= scsi_trace.o scsi_logging.o
168aa338601SRafael J. Wysockiscsi_mod-$(CONFIG_PM)		+= scsi_pm.o
169086b91d0SChristoph Hellwigscsi_mod-$(CONFIG_SCSI_DH)	+= scsi_dh.o
17078011042SChristoph Hellwigscsi_mod-$(CONFIG_BLK_DEV_BSG)	+= scsi_bsg.o
1711da177e4SLinus Torvalds
17289ae7d70SK. Y. Srinivasanhv_storvsc-y			:= storvsc_drv.o
17389ae7d70SK. Y. Srinivasan
1741da177e4SLinus Torvaldssd_mod-objs	:= sd.o
175af55ff67SMartin K. Petersensd_mod-$(CONFIG_BLK_DEV_INTEGRITY) += sd_dif.o
17689d94756SHannes Reineckesd_mod-$(CONFIG_BLK_DEV_ZONED) += sd_zbc.o
177af55ff67SMartin K. Petersen
1781da177e4SLinus Torvaldssr_mod-objs	:= sr.o sr_ioctl.o sr_vendor.o
1791da177e4SLinus Torvaldsncr53c8xx-flags-$(CONFIG_SCSI_ZALON) \
1801da177e4SLinus Torvalds		:= -DCONFIG_NCR53C8XX_PREFETCH -DSCSI_NCR_BIG_ENDIAN \
1811da177e4SLinus Torvalds			-DCONFIG_SCSI_NCR53C8XX_NO_WORD_TRANSFERS
1821da177e4SLinus TorvaldsCFLAGS_ncr53c8xx.o	:= $(ncr53c8xx-flags-y) $(ncr53c8xx-flags-m)
1831da177e4SLinus Torvaldszalon7xx-objs	:= zalon.o ncr53c8xx.o
1841da177e4SLinus Torvalds
1851da177e4SLinus Torvalds# Files generated that shall be removed upon make clean
18698079418SMasahiro Yamadaclean-files :=	53c700_d.h 53c700_u.h
1871da177e4SLinus Torvalds
1880e5d8b7fSMasahiro Yamada$(obj)/53c700.o: $(obj)/53c700_d.h
1891da177e4SLinus Torvalds
190345e2960SHannes Reinecke$(obj)/scsi_sysfs.o: $(obj)/scsi_devinfo_tbl.c
191345e2960SHannes Reinecke
192345e2960SHannes Reineckequiet_cmd_bflags = GEN     $@
193358fda5fSMartin Wilck	cmd_bflags = sed -n 's/.*define *BLIST_\([A-Z0-9_]*\) *.*/BLIST_FLAG_NAME(\1),/p' $< > $@
194345e2960SHannes Reinecke
19598079418SMasahiro Yamada$(obj)/scsi_devinfo_tbl.c: include/scsi/scsi_devinfo.h FORCE
196345e2960SHannes Reinecke	$(call if_changed,bflags)
197345e2960SHannes Reinecke
19898079418SMasahiro Yamadatargets +=  scsi_devinfo_tbl.c
19998079418SMasahiro Yamada
2001da177e4SLinus Torvalds# If you want to play with the firmware, uncomment
2011da177e4SLinus Torvalds# GENERATE_FIRMWARE := 1
2021da177e4SLinus Torvalds
2031da177e4SLinus Torvaldsifdef GENERATE_FIRMWARE
2041da177e4SLinus Torvalds
2051da177e4SLinus Torvalds$(obj)/53c700_d.h: $(src)/53c700.scr $(src)/script_asm.pl
2061da177e4SLinus Torvalds	$(PERL) -s $(src)/script_asm.pl -ncr7x0_family $@ $(@:_d.h=_u.h) < $<
2071da177e4SLinus Torvalds
2081da177e4SLinus Torvaldsendif
209