xref: /openbmc/linux/drivers/scsi/aic7xxx/Makefile (revision 93a38fa2)
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
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
36ccflags-y += -Idrivers/scsi
37ifdef WARNINGS_BECOME_ERRORS
38ccflags-y += -Werror
39endif
40
41# Files generated that shall be removed upon make clean
42clean-files := aic7xxx_seq.h aic7xxx_reg.h aic7xxx_reg_print.c
43clean-files += aic79xx_seq.h aic79xx_reg.h aic79xx_reg_print.c
44
45# Dependencies for generated files need to be listed explicitly
46
47$(obj)/aic7xxx_core.o: $(obj)/aic7xxx_seq.h
48$(obj)/aic7xxx_core.o: $(obj)/aic7xxx_reg.h
49$(obj)/aic79xx_core.o: $(obj)/aic79xx_seq.h
50$(obj)/aic79xx_core.o: $(obj)/aic79xx_reg.h
51
52$(addprefix $(obj)/,$(aic7xxx-y)): $(obj)/aic7xxx_seq.h
53$(addprefix $(obj)/,$(aic79xx-y)): $(obj)/aic79xx_seq.h
54
55aic7xxx-gen-$(CONFIG_AIC7XXX_BUILD_FIRMWARE)	:= $(obj)/aic7xxx_reg.h
56aic7xxx-gen-$(CONFIG_AIC7XXX_REG_PRETTY_PRINT)	+= $(obj)/aic7xxx_reg_print.c
57
58aicasm-7xxx-opts-$(CONFIG_AIC7XXX_REG_PRETTY_PRINT) := \
59	-p $(obj)/aic7xxx_reg_print.c -i aic7xxx_osm.h
60
61ifeq ($(CONFIG_AIC7XXX_BUILD_FIRMWARE),y)
62$(obj)/aic7xxx_seq.h: $(src)/aic7xxx.seq $(src)/aic7xxx.reg $(obj)/aicasm/aicasm
63	$(obj)/aicasm/aicasm -I$(src) -r $(obj)/aic7xxx_reg.h \
64			      $(aicasm-7xxx-opts-y) -o $(obj)/aic7xxx_seq.h \
65			      $(src)/aic7xxx.seq
66
67$(aic7xxx-gen-y): $(obj)/aic7xxx_seq.h
68else
69$(obj)/aic7xxx_reg_print.c: $(src)/aic7xxx_reg_print.c_shipped
70endif
71
72aic79xx-gen-$(CONFIG_AIC79XX_BUILD_FIRMWARE)	:= $(obj)/aic79xx_reg.h
73aic79xx-gen-$(CONFIG_AIC79XX_REG_PRETTY_PRINT)	+= $(obj)/aic79xx_reg_print.c
74
75aicasm-79xx-opts-$(CONFIG_AIC79XX_REG_PRETTY_PRINT) := \
76	-p $(obj)/aic79xx_reg_print.c -i aic79xx_osm.h
77
78ifeq ($(CONFIG_AIC79XX_BUILD_FIRMWARE),y)
79$(obj)/aic79xx_seq.h: $(src)/aic79xx.seq $(src)/aic79xx.reg $(obj)/aicasm/aicasm
80	$(obj)/aicasm/aicasm -I$(src) -r $(obj)/aic79xx_reg.h \
81			      $(aicasm-79xx-opts-y) -o $(obj)/aic79xx_seq.h \
82			      $(src)/aic79xx.seq
83
84$(aic79xx-gen-y): $(obj)/aic79xx_seq.h
85else
86$(obj)/aic79xx_reg_print.c: $(src)/aic79xx_reg_print.c_shipped
87endif
88
89$(obj)/aicasm/aicasm: $(src)/aicasm/*.[chyl]
90	$(MAKE) -C $(src)/aicasm
91