2 # Makefile for linux/drivers/scsi
4 # 30 May 2000, Christoph Hellwig <chhellwig@gmx.net>
5 # Rewritten to use lists instead of if-statements.
13 ALL_SUB_DIRS
:= $(SUB_DIRS
) pcmcia
15 ifeq ($(CONFIG_PCMCIA
),y
)
17 MOD_IN_SUB_DIRS
+= pcmcia
19 ifeq ($(CONFIG_PCMCIA
),m
)
20 MOD_IN_SUB_DIRS
+= pcmcia
24 export-objs
:= scsi_syms.o
25 list-multi
:= scsi_mod.o sr_mod.o initio.o a100u2w.o
27 CFLAGS_aha152x.o
= -DAHA152X_STAT
-DAUTOCONF
28 CFLAGS_gdth.o
= # -DDEBUG_GDTH=2 -D__SERIAL__ -D__COM2__ -DGDTH_STATISTICS
29 CFLAGS_seagate.o
= -DARBITRATE
-DPARITY
-DSEAGATE_USE_ASM
31 obj-
$(CONFIG_SCSI
) += scsi_mod.o
32 obj-
$(CONFIG_CHR_DEV_ST
) += st.o
33 obj-
$(CONFIG_BLK_DEV_SD
) += sd.o
34 obj-
$(CONFIG_BLK_DEV_SR
) += sr_mod.o
35 obj-
$(CONFIG_CHR_DEV_SG
) += sg.o
37 obj-
$(CONFIG_SCSI_ADVANSYS
) += advansys.o
38 obj-
$(CONFIG_SCSI_PCI2000
) += pci2000.o
39 obj-
$(CONFIG_SCSI_PCI2220I
) += pci2220i.o
40 obj-
$(CONFIG_SCSI_PSI240I
) += psi240i.o
41 obj-
$(CONFIG_MVME16x_SCSI
) += mvme16x.o
53c7xx.o
42 obj-
$(CONFIG_BVME6000_SCSI
) += bvme6000.o
53c7xx.o
43 obj-
$(CONFIG_SCSI_SIM710
) += sim710.o
44 obj-
$(CONFIG_A4000T_SCSI
) += amiga7xx.o
53c7xx.o
45 obj-
$(CONFIG_A4091_SCSI
) += amiga7xx.o
53c7xx.o
46 obj-
$(CONFIG_BLZ603EPLUS_SCSI
) += amiga7xx.o
53c7xx.o
47 obj-
$(CONFIG_WARPENGINE_SCSI
) += amiga7xx.o
53c7xx.o
48 obj-
$(CONFIG_A3000_SCSI
) += a3000.o wd33c93.o
49 obj-
$(CONFIG_A2091_SCSI
) += a2091.o wd33c93.o
50 obj-
$(CONFIG_GVP11_SCSI
) += gvp11.o wd33c93.o
51 obj-
$(CONFIG_SCSI_SGIWD93
) += sgiwd93.o wd33c93.o
52 obj-
$(CONFIG_SCSI_MCA_53C9X
) += NCR53C9x.o mca_53c9x.o
53 obj-
$(CONFIG_CYBERSTORM_SCSI
) += NCR53C9x.o cyberstorm.o
54 obj-
$(CONFIG_CYBERSTORMII_SCSI
) += NCR53C9x.o cyberstormII.o
55 obj-
$(CONFIG_BLZ2060_SCSI
) += NCR53C9x.o blz2060.o
56 obj-
$(CONFIG_BLZ1230_SCSI
) += NCR53C9x.o blz1230.o
57 obj-
$(CONFIG_FASTLANE_SCSI
) += NCR53C9x.o fastlane.o
58 obj-
$(CONFIG_OKTAGON_SCSI
) += NCR53C9x.o oktagon_esp.o oktagon_io.o
59 obj-
$(CONFIG_ATARI_SCSI
) += atari_scsi.o
60 obj-
$(CONFIG_MAC_SCSI
) += mac_scsi.o
61 obj-
$(CONFIG_SUN3_SCSI
) += sun3_scsi.o
62 obj-
$(CONFIG_SCSI_MAC_ESP
) += mac_esp.o NCR53C9x.o
63 obj-
$(CONFIG_SCSI_PPA
) += ppa.o
64 obj-
$(CONFIG_SCSI_IMM
) += imm.o
65 obj-
$(CONFIG_SCSI_QLOGIC_FAS
) += qlogicfas.o
66 obj-
$(CONFIG_SCSI_QLOGIC_ISP
) += qlogicisp.o
67 obj-
$(CONFIG_SCSI_QLOGIC_1280
) += qla1280.o
68 obj-
$(CONFIG_SCSI_ACARD
) += atp870u.o
69 obj-
$(CONFIG_SCSI_INITIO
) += initio.o
70 obj-
$(CONFIG_SCSI_INIA100
) += a100u2w.o
71 obj-
$(CONFIG_SCSI_QLOGIC_FC
) += qlogicfc.o
72 obj-
$(CONFIG_SCSI_AHA152X
) += aha152x.o
73 obj-
$(CONFIG_SCSI_AHA1542
) += aha1542.o
74 obj-
$(CONFIG_SCSI_AHA1740
) += aha1740.o
75 obj-
$(CONFIG_SCSI_AIC7XXX
) += aic7xxx.o
76 obj-
$(CONFIG_SCSI_IPS
) += ips.o
77 obj-
$(CONFIG_SCSI_DC390T
) += tmscsim.o
78 obj-
$(CONFIG_SCSI_AM53C974
) += AM53C974.o
79 obj-
$(CONFIG_SCSI_BUSLOGIC
) += BusLogic.o
80 obj-
$(CONFIG_SCSI_EATA_DMA
) += eata_dma.o
81 obj-
$(CONFIG_SCSI_EATA_PIO
) += eata_pio.o
82 obj-
$(CONFIG_SCSI_U14_34F
) += u14-34f.o
83 obj-
$(CONFIG_SCSI_SUNESP
) += esp.o
84 obj-
$(CONFIG_SCSI_QLOGICPTI
) += qlogicpti.o
85 obj-
$(CONFIG_SCSI_MESH
) += mesh.o
86 obj-
$(CONFIG_SCSI_MAC53C94
) += mac53c94.o
87 obj-
$(CONFIG_SCSI_GDTH
) += gdth.o
89 obj-
$(CONFIG_SCSI_DEBUG
) += scsi_debug.o
91 obj-
$(CONFIG_SCSI_FUTURE_DOMAIN
)+= fdomain.o
92 obj-
$(CONFIG_SCSI_IN2000
) += in2000.o
93 obj-
$(CONFIG_SCSI_GENERIC_NCR5380
) += g_NCR5380.o
94 obj-
$(CONFIG_SCSI_NCR53C7xx
) += 53c7
,8xx.o
95 obj-
$(CONFIG_SCSI_NCR53C8XX
) += ncr53c8xx.o
96 obj-
$(CONFIG_SCSI_SYM53C8XX
) += sym53c8xx.o
97 obj-
$(CONFIG_SCSI_PAS16
) += pas16.o
98 obj-
$(CONFIG_SCSI_SEAGATE
) += seagate.o
99 obj-
$(CONFIG_SCSI_FD_8xx
) += seagate.o
100 obj-
$(CONFIG_SCSI_7000FASST
) += wd7000.o
101 obj-
$(CONFIG_SCSI_IBMMCA
) += ibmmca.o
102 obj-
$(CONFIG_SCSI_FD_MCS
) += fd_mcs.o
103 obj-
$(CONFIG_SCSI_T128
) += t128.o
104 obj-
$(CONFIG_SCSI_DMX3191D
) += dmx3191d.o
105 obj-
$(CONFIG_SCSI_DTC3280
) += dtc.o
106 obj-
$(CONFIG_SCSI_ULTRASTOR
) += ultrastor.o
107 obj-
$(CONFIG_SCSI_PLUTO
) += pluto.o
108 obj-
$(CONFIG_SCSI_FCAL
) += fcal.o
109 obj-
$(CONFIG_SCSI_EATA
) += eata.o
110 obj-
$(CONFIG_SCSI_NCR53C406A
) += NCR53c406a.o
111 obj-
$(CONFIG_SCSI_MEGARAID
) += megaraid.o
112 obj-
$(CONFIG_SCSI_SYM53C416
) += sym53c416.o
113 obj-
$(CONFIG_BLK_DEV_IDESCSI
) += ide-scsi.o
114 obj-
$(CONFIG_JAZZ_ESP
) += NCR53C9x.o jazz_esp.o
115 obj-
$(CONFIG_SCSI_DECNCR
) += NCR53C9x.o dec_esp.o
116 obj-
$(CONFIG_SUN3X_ESP
) += NCR53C9x.o sun3x_esp.o
117 obj-
$(CONFIG_BLK_DEV_3W_XXXX_RAID
) += 3w-xxxx.o
119 scsi_mod-objs
:= hosts.o scsi.o scsi_ioctl.o constants.o \
120 scsicam.o scsi_proc.o scsi_error.o \
121 scsi_obsolete.o scsi_queue.o scsi_lib.o \
122 scsi_merge.o scsi_dma.o scsi_scan.o \
124 sr_mod-objs
:= sr.o sr_ioctl.o sr_vendor.o
125 initio-objs
:= ini9100u.o i91uscsi.o
126 a100u2w-objs
:= inia100.o i60uscsi.o
128 # Extract lists of the multi-part drivers.
129 # The 'int-*' lists are the intermediate files used to build the multi's.
130 multi-y
:= $(filter $(list-multi
), $(obj-y
))
131 multi-m
:= $(filter $(list-multi
), $(obj-m
))
132 int-y
:= $(sort $(foreach m
, $(multi-y
), $($(basename $(m
))-objs
)))
133 int-m
:= $(sort $(foreach m
, $(multi-m
), $($(basename $(m
))-objs
)))
135 # Files that are both resident and modular: remove from modular.
136 obj-m
:= $(filter-out $(obj-y
), $(obj-m
))
137 int-m
:= $(filter-out $(int-y
), $(int-m
))
139 # Take multi-part drivers out of obj-y and put components in.
140 obj-y
:= $(filter-out $(list-multi
), $(obj-y
)) $(int-y
)
142 O_OBJS
:= $(filter-out $(export-objs
), $(obj-y
))
143 OX_OBJS
:= $(filter $(export-objs
), $(obj-y
))
144 M_OBJS
:= $(sort $(filter-out $(export-objs
), $(obj-m
)))
145 MX_OBJS
:= $(sort $(filter $(export-objs
), $(obj-m
)))
146 MI_OBJS
:= $(sort $(filter-out $(export-objs
), $(int-m
)))
147 MIX_OBJS
:= $(sort $(filter $(export-objs
), $(int-m
)))
149 include $(TOPDIR
)/Rules.make
152 scsi_mod.o
: $(scsi_mod-objs
)
153 $(LD
) -r
-o
$@
$(scsi_mod-objs
)
155 sr_mod.o
: $(sr_mod-objs
)
156 $(LD
) -r
-o
$@
$(sr_mod-objs
)
158 initio.o
: $(initio-objs
)
159 $(LD
) -r
-o
$@
$(initio-objs
)
161 a100u2w.o
: $(a100u2w-objs
)
162 $(LD
) -r
-o
$@
$(a100u2w-objs
)
165 53c8xx_d.h
: 53c7
,8xx.scr script_asm.pl
166 ln
-sf
53c7
,8xx.scr fake8.c
167 $(CPP
) $(CPPFLAGS
) -traditional
-DCHIP
=810 fake8.c | grep
-v
'^#' |
$(PERL
) script_asm.pl
168 mv script.h
53c8xx_d.h
169 mv scriptu.h
53c8xx_u.h
172 53c8xx_u.h
: 53c8xx_d.h
174 53c7xx_d.h
: 53c7xx.scr script_asm.pl
175 ln
-sf
53c7xx.scr fake7.c
176 $(CPP
) $(CPPFLAGS
) -traditional
-DCHIP
=710 fake7.c | grep
-v
'^#' |
$(PERL
) -s script_asm.pl
-ncr7x0_family
177 mv script.h
53c7xx_d.h
178 mv scriptu.h
53c7xx_u.h
181 53c7xx_u.h
: 53c7xx_d.h
183 53c7xx.o
: 53c7xx_d.h
185 sim710_d.h
: sim710.scr script_asm.pl
186 ln
-sf sim710.scr fake7.c
187 $(CPP
) $(CPPFLAGS
) -traditional
-DCHIP
=710 fake7.c | grep
-v
'^#' |
$(PERL
) -s script_asm.pl
-ncr7x0_family
188 mv script.h sim710_d.h
189 mv scriptu.h sim710_u.h
192 sim710_u.h
: sim710_d.h
194 sim710.o
: sim710_d.h