xref: /linux/drivers/scsi/aic7xxx/Makefile (revision bd628c1bed7902ec1f24ba0fe70758949146abbe)
1# SPDX-License-Identifier: GPL-2.0
2#
3# Makefile for the Linux aic7xxx SCSI driver.
4#
5# $Id: //depot/linux-aic79xx-2.5.0/drivers/scsi/aic7xxx/Makefile#8 $
6#
7
8# Let kbuild descend into aicasm when cleaning
9subdir-				+= aicasm
10
11obj-$(CONFIG_SCSI_AIC7XXX)	+= aic7xxx.o
12obj-$(CONFIG_SCSI_AIC79XX)	+= aic79xx.o
13
14# Core Fast -> U160 files
15aic7xxx-y					+= aic7xxx_core.o	\
16						   aic7xxx_93cx6.o
17aic7xxx-$(CONFIG_EISA)				+= aic7770.o
18aic7xxx-$(CONFIG_PCI)				+= aic7xxx_pci.o
19aic7xxx-$(CONFIG_AIC7XXX_REG_PRETTY_PRINT)	+= aic7xxx_reg_print.o
20
21# Platform Specific Fast -> U160 Files
22aic7xxx-y					+= aic7xxx_osm.o	\
23						   aic7xxx_proc.o
24aic7xxx-$(CONFIG_EISA)				+= aic7770_osm.o
25aic7xxx-$(CONFIG_PCI)				+= aic7xxx_osm_pci.o
26
27# Core U320 files
28aic79xx-y					+= aic79xx_core.o	\
29						   aic79xx_pci.o
30aic79xx-$(CONFIG_AIC79XX_REG_PRETTY_PRINT)	+= aic79xx_reg_print.o
31
32# Platform Specific U320 Files
33aic79xx-y					+= aic79xx_osm.o	\
34						   aic79xx_proc.o	\
35						   aic79xx_osm_pci.o
36
37ccflags-y += -Idrivers/scsi
38ifdef WARNINGS_BECOME_ERRORS
39ccflags-y += -Werror
40endif
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$(addprefix $(obj)/,$(aic7xxx-y)): $(obj)/aic7xxx_seq.h $(obj)/aic7xxx_reg.h
49$(addprefix $(obj)/,$(aic79xx-y)): $(obj)/aic79xx_seq.h $(obj)/aic79xx_reg.h
50
51aic7xxx-gen-$(CONFIG_AIC7XXX_BUILD_FIRMWARE)	:= $(obj)/aic7xxx_reg.h
52aic7xxx-gen-$(CONFIG_AIC7XXX_REG_PRETTY_PRINT)	+= $(obj)/aic7xxx_reg_print.c
53
54aicasm-7xxx-opts-$(CONFIG_AIC7XXX_REG_PRETTY_PRINT) := \
55	-p $(obj)/aic7xxx_reg_print.c -i aic7xxx_osm.h
56
57ifeq ($(CONFIG_AIC7XXX_BUILD_FIRMWARE),y)
58$(obj)/aic7xxx_seq.h: $(src)/aic7xxx.seq $(src)/aic7xxx.reg $(obj)/aicasm/aicasm
59	$(obj)/aicasm/aicasm -I$(srctree)/$(src) -r $(obj)/aic7xxx_reg.h \
60			      $(aicasm-7xxx-opts-y) -o $(obj)/aic7xxx_seq.h \
61			      $(srctree)/$(src)/aic7xxx.seq
62
63$(aic7xxx-gen-y): $(objtree)/$(obj)/aic7xxx_seq.h
64	@true
65else
66$(obj)/aic7xxx_reg_print.c: $(src)/aic7xxx_reg_print.c_shipped
67endif
68
69aic79xx-gen-$(CONFIG_AIC79XX_BUILD_FIRMWARE)	:= $(obj)/aic79xx_reg.h
70aic79xx-gen-$(CONFIG_AIC79XX_REG_PRETTY_PRINT)	+= $(obj)/aic79xx_reg_print.c
71
72aicasm-79xx-opts-$(CONFIG_AIC79XX_REG_PRETTY_PRINT) := \
73	-p $(obj)/aic79xx_reg_print.c -i aic79xx_osm.h
74
75ifeq ($(CONFIG_AIC79XX_BUILD_FIRMWARE),y)
76$(obj)/aic79xx_seq.h: $(src)/aic79xx.seq $(src)/aic79xx.reg $(obj)/aicasm/aicasm
77	$(obj)/aicasm/aicasm -I$(srctree)/$(src) -r $(obj)/aic79xx_reg.h \
78			      $(aicasm-79xx-opts-y) -o $(obj)/aic79xx_seq.h \
79			      $(srctree)/$(src)/aic79xx.seq
80
81$(aic79xx-gen-y): $(objtree)/$(obj)/aic79xx_seq.h
82	@true
83else
84$(obj)/aic79xx_reg_print.c: $(src)/aic79xx_reg_print.c_shipped
85endif
86
87$(obj)/aicasm/aicasm: $(srctree)/$(src)/aicasm/*.[chyl]
88	$(MAKE) -C $(srctree)/$(src)/aicasm OUTDIR=$(shell pwd)/$(obj)/aicasm/
89