Pull 5165 into release branch
[linux-2.6] / drivers / scsi / aic7xxx / Makefile
1 #
2 # Makefile for the Linux aic7xxx SCSI driver.
3 #
4 # $Id: //depot/linux-aic79xx-2.5.0/drivers/scsi/aic7xxx/Makefile#8 $
5 #
6
7 # Let kbuild descend into aicasm when cleaning
8 subdir-                         += aicasm
9
10 obj-$(CONFIG_SCSI_AIC7XXX)      += aic7xxx.o
11 obj-$(CONFIG_SCSI_AIC79XX)      += aic79xx.o
12
13 # Core Fast -> U160 files
14 aic7xxx-y                                       += aic7xxx_core.o       \
15                                                    aic7xxx_93cx6.o
16 aic7xxx-$(CONFIG_EISA)                          += aic7770.o
17 aic7xxx-$(CONFIG_PCI)                           += aic7xxx_pci.o
18 aic7xxx-$(CONFIG_AIC7XXX_REG_PRETTY_PRINT)      += aic7xxx_reg_print.o
19
20 # Platform Specific Fast -> U160 Files
21 aic7xxx-y                                       += aic7xxx_osm.o        \
22                                                    aic7xxx_proc.o
23 aic7xxx-$(CONFIG_EISA)                          += aic7770_osm.o
24 aic7xxx-$(CONFIG_PCI)                           += aic7xxx_osm_pci.o
25
26 # Core U320 files
27 aic79xx-y                                       += aic79xx_core.o       \
28                                                    aic79xx_pci.o
29 aic79xx-$(CONFIG_AIC79XX_REG_PRETTY_PRINT)      += aic79xx_reg_print.o
30
31 # Platform Specific U320 Files
32 aic79xx-y                                       += aic79xx_osm.o        \
33                                                    aic79xx_proc.o       \
34                                                    aic79xx_osm_pci.o
35
36 EXTRA_CFLAGS += -Idrivers/scsi
37 ifdef WARNINGS_BECOME_ERRORS
38 EXTRA_CFLAGS += -Werror
39 endif
40 #EXTRA_CFLAGS += -g
41
42 # Files generated that shall be removed upon make clean
43 clean-files := aic7xxx_seq.h aic7xxx_reg.h aic7xxx_reg_print.c
44 clean-files += aic79xx_seq.h aic79xx_reg.h aic79xx_reg_print.c
45
46 # Dependencies for generated files need to be listed explicitly
47
48 $(obj)/aic7xxx_core.o: $(obj)/aic7xxx_seq.h
49 $(obj)/aic79xx_core.o: $(obj)/aic79xx_seq.h
50 $(obj)/aic79xx_reg_print.c: $(src)/aic79xx_reg_print.c_shipped
51 $(obj)/aic7xxx_reg_print.c: $(src)/aic7xxx_reg_print.c_shipped
52
53 $(addprefix $(obj)/,$(aic7xxx-y)): $(obj)/aic7xxx_reg.h
54 $(addprefix $(obj)/,$(aic79xx-y)): $(obj)/aic79xx_reg.h
55
56 aic7xxx-gen-$(CONFIG_AIC7XXX_BUILD_FIRMWARE)    := $(obj)/aic7xxx_seq.h \
57                                                    $(obj)/aic7xxx_reg.h
58 aic7xxx-gen-$(CONFIG_AIC7XXX_REG_PRETTY_PRINT)  += $(obj)/aic7xxx_reg_print.c
59
60 aicasm-7xxx-opts-$(CONFIG_AIC7XXX_REG_PRETTY_PRINT) := \
61         -p $(obj)/aic7xxx_reg_print.c -i aic7xxx_osm.h
62
63 ifeq ($(CONFIG_AIC7XXX_BUILD_FIRMWARE),y)
64 # Create a dependency chain in generated files
65 # to avoid concurrent invocations of the single
66 # rule that builds them all.
67 aic7xxx_seq.h: aic7xxx_reg.h
68 ifeq ($(CONFIG_AIC7XXX_REG_PRETTY_PRINT),y)
69 aic7xxx_reg.h: aic7xxx_reg_print.c
70 endif
71 $(aic7xxx-gen-y): $(src)/aic7xxx.seq $(src)/aic7xxx.reg $(obj)/aicasm/aicasm
72         $(obj)/aicasm/aicasm -I$(src) -r $(obj)/aic7xxx_reg.h \
73                               $(aicasm-7xxx-opts-y) -o $(obj)/aic7xxx_seq.h \
74                               $(src)/aic7xxx.seq
75 endif
76
77 aic79xx-gen-$(CONFIG_AIC79XX_BUILD_FIRMWARE)    := $(obj)/aic79xx_seq.h \
78                                                    $(obj)/aic79xx_reg.h
79 aic79xx-gen-$(CONFIG_AIC79XX_REG_PRETTY_PRINT)  += $(obj)/aic79xx_reg_print.c
80
81 aicasm-79xx-opts-$(CONFIG_AIC79XX_REG_PRETTY_PRINT) := \
82         -p $(obj)/aic79xx_reg_print.c -i aic79xx_osm.h
83
84 ifeq ($(CONFIG_AIC79XX_BUILD_FIRMWARE),y)
85 # Create a dependency chain in generated files
86 # to avoid concurrent invocations of the single
87 # rule that builds them all.
88 aic79xx_seq.h: aic79xx_reg.h
89 ifeq ($(CONFIG_AIC79XX_REG_PRETTY_PRINT),y)
90 aic79xx_reg.h: aic79xx_reg_print.c
91 endif
92 $(aic79xx-gen-y): $(src)/aic79xx.seq $(src)/aic79xx.reg $(obj)/aicasm/aicasm
93         $(obj)/aicasm/aicasm -I$(src) -r $(obj)/aic79xx_reg.h \
94                               $(aicasm-79xx-opts-y) -o $(obj)/aic79xx_seq.h \
95                               $(src)/aic79xx.seq
96 endif
97
98 $(obj)/aicasm/aicasm: $(src)/aicasm/*.[chyl]
99         $(MAKE) -C $(src)/aicasm