blob: 9a6ce19a40304f6483d7cbfd711cf38d4d5ec0c7 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#
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
8subdir- += aicasm
9
10obj-$(CONFIG_SCSI_AIC7XXX) += aic7xxx.o
11obj-$(CONFIG_SCSI_AIC79XX) += aic79xx.o
12
13# Core Fast -> U160 files
14aic7xxx-y += aic7xxx_core.o \
15 aic7xxx_93cx6.o
16aic7xxx-$(CONFIG_EISA) += aic7770.o
17aic7xxx-$(CONFIG_PCI) += aic7xxx_pci.o
18aic7xxx-$(CONFIG_AIC7XXX_REG_PRETTY_PRINT) += aic7xxx_reg_print.o
19
20# Platform Specific Fast -> U160 Files
21aic7xxx-y += aic7xxx_osm.o \
22 aic7xxx_proc.o
23aic7xxx-$(CONFIG_EISA) += aic7770_osm.o
24aic7xxx-$(CONFIG_PCI) += aic7xxx_osm_pci.o
25
26# Core U320 files
27aic79xx-y += aic79xx_core.o \
28 aic79xx_pci.o
29aic79xx-$(CONFIG_AIC79XX_REG_PRETTY_PRINT) += aic79xx_reg_print.o
30
31# Platform Specific U320 Files
32aic79xx-y += aic79xx_osm.o \
33 aic79xx_proc.o \
34 aic79xx_osm_pci.o
35
36EXTRA_CFLAGS += -Idrivers/scsi
37ifdef WARNINGS_BECOME_ERRORS
38EXTRA_CFLAGS += -Werror
39endif
40#EXTRA_CFLAGS += -g
41
42# Files generated that shall be removed upon make clean
43clean-files := aic7xxx_seq.h aic7xxx_reg.h aic7xxx_reg_print.c
44clean-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
56aic7xxx-gen-$(CONFIG_AIC7XXX_BUILD_FIRMWARE) := $(obj)/aic7xxx_seq.h \
57 $(obj)/aic7xxx_reg.h
58aic7xxx-gen-$(CONFIG_AIC7XXX_REG_PRETTY_PRINT) += $(obj)/aic7xxx_reg_print.c
59
60aicasm-7xxx-opts-$(CONFIG_AIC7XXX_REG_PRETTY_PRINT) := \
61 -p $(obj)/aic7xxx_reg_print.c -i aic7xxx_osm.h
62
63ifeq ($(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.
67aic7xxx_seq.h: aic7xxx_reg.h
68ifeq ($(CONFIG_AIC7XXX_REG_PRETTY_PRINT),y)
69aic7xxx_reg.h: aic7xxx_reg_print.c
70endif
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
75endif
76
77aic79xx-gen-$(CONFIG_AIC79XX_BUILD_FIRMWARE) := $(obj)/aic79xx_seq.h \
78 $(obj)/aic79xx_reg.h
79aic79xx-gen-$(CONFIG_AIC79XX_REG_PRETTY_PRINT) += $(obj)/aic79xx_reg_print.c
80
81aicasm-79xx-opts-$(CONFIG_AIC79XX_REG_PRETTY_PRINT) := \
82 -p $(obj)/aic79xx_reg_print.c -i aic79xx_osm.h
83
84ifeq ($(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.
88aic79xx_seq.h: aic79xx_reg.h
89ifeq ($(CONFIG_AIC79XX_REG_PRETTY_PRINT),y)
90aic79xx_reg.h: aic79xx_reg_print.c
91endif
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
96endif
97
98$(obj)/aicasm/aicasm: $(src)/aicasm/*.[chyl]
99 $(MAKE) -C $(src)/aicasm