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