162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci#
362306a36Sopenharmony_ci# Makefile for the Linux aic7xxx SCSI driver.
462306a36Sopenharmony_ci#
562306a36Sopenharmony_ci# $Id: //depot/linux-aic79xx-2.5.0/drivers/scsi/aic7xxx/Makefile#8 $
662306a36Sopenharmony_ci#
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci# Let kbuild descend into aicasm when cleaning
962306a36Sopenharmony_cisubdir-				+= aicasm
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ciobj-$(CONFIG_SCSI_AIC7XXX)	+= aic7xxx.o
1262306a36Sopenharmony_ciobj-$(CONFIG_SCSI_AIC79XX)	+= aic79xx.o
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci# Core Fast -> U160 files
1562306a36Sopenharmony_ciaic7xxx-y					+= aic7xxx_core.o	\
1662306a36Sopenharmony_ci						   aic7xxx_93cx6.o
1762306a36Sopenharmony_ciaic7xxx-$(CONFIG_EISA)				+= aic7770.o
1862306a36Sopenharmony_ciaic7xxx-$(CONFIG_PCI)				+= aic7xxx_pci.o
1962306a36Sopenharmony_ciaic7xxx-$(CONFIG_AIC7XXX_REG_PRETTY_PRINT)	+= aic7xxx_reg_print.o
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci# Platform Specific Fast -> U160 Files
2262306a36Sopenharmony_ciaic7xxx-y					+= aic7xxx_osm.o	\
2362306a36Sopenharmony_ci						   aic7xxx_proc.o
2462306a36Sopenharmony_ciaic7xxx-$(CONFIG_EISA)				+= aic7770_osm.o
2562306a36Sopenharmony_ciaic7xxx-$(CONFIG_PCI)				+= aic7xxx_osm_pci.o
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci# Core U320 files
2862306a36Sopenharmony_ciaic79xx-y					+= aic79xx_core.o	\
2962306a36Sopenharmony_ci						   aic79xx_pci.o
3062306a36Sopenharmony_ciaic79xx-$(CONFIG_AIC79XX_REG_PRETTY_PRINT)	+= aic79xx_reg_print.o
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci# Platform Specific U320 Files
3362306a36Sopenharmony_ciaic79xx-y					+= aic79xx_osm.o	\
3462306a36Sopenharmony_ci						   aic79xx_proc.o	\
3562306a36Sopenharmony_ci						   aic79xx_osm_pci.o
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ciifdef WARNINGS_BECOME_ERRORS
3862306a36Sopenharmony_ciccflags-y += -Werror
3962306a36Sopenharmony_ciendif
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci# Files generated that shall be removed upon make clean
4262306a36Sopenharmony_ciclean-files := aic7xxx_seq.h aic7xxx_reg.h aic7xxx_reg_print.c
4362306a36Sopenharmony_ciclean-files += aic79xx_seq.h aic79xx_reg.h aic79xx_reg_print.c
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci# Dependencies for generated files need to be listed explicitly
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci$(addprefix $(obj)/,$(aic7xxx-y)): $(obj)/aic7xxx_seq.h $(obj)/aic7xxx_reg.h
4862306a36Sopenharmony_ci$(addprefix $(obj)/,$(aic79xx-y)): $(obj)/aic79xx_seq.h $(obj)/aic79xx_reg.h
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ciaic7xxx-gen-$(CONFIG_AIC7XXX_BUILD_FIRMWARE)	:= $(obj)/aic7xxx_reg.h
5162306a36Sopenharmony_ciaic7xxx-gen-$(CONFIG_AIC7XXX_REG_PRETTY_PRINT)	+= $(obj)/aic7xxx_reg_print.c
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ciaicasm-7xxx-opts-$(CONFIG_AIC7XXX_REG_PRETTY_PRINT) := \
5462306a36Sopenharmony_ci	-p $(obj)/aic7xxx_reg_print.c -i aic7xxx_osm.h
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ciifeq ($(CONFIG_AIC7XXX_BUILD_FIRMWARE),y)
5762306a36Sopenharmony_ci$(obj)/aic7xxx_seq.h: $(src)/aic7xxx.seq $(src)/aic7xxx.reg $(obj)/aicasm/aicasm
5862306a36Sopenharmony_ci	$(obj)/aicasm/aicasm -I$(srctree)/$(src) -r $(obj)/aic7xxx_reg.h \
5962306a36Sopenharmony_ci			      $(aicasm-7xxx-opts-y) -o $(obj)/aic7xxx_seq.h \
6062306a36Sopenharmony_ci			      $(srctree)/$(src)/aic7xxx.seq
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ci$(aic7xxx-gen-y): $(objtree)/$(obj)/aic7xxx_seq.h
6362306a36Sopenharmony_ci	@true
6462306a36Sopenharmony_cielse
6562306a36Sopenharmony_ci$(obj)/aic7xxx_reg_print.c: $(src)/aic7xxx_reg_print.c_shipped
6662306a36Sopenharmony_ciendif
6762306a36Sopenharmony_ci
6862306a36Sopenharmony_ciaic79xx-gen-$(CONFIG_AIC79XX_BUILD_FIRMWARE)	:= $(obj)/aic79xx_reg.h
6962306a36Sopenharmony_ciaic79xx-gen-$(CONFIG_AIC79XX_REG_PRETTY_PRINT)	+= $(obj)/aic79xx_reg_print.c
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ciaicasm-79xx-opts-$(CONFIG_AIC79XX_REG_PRETTY_PRINT) := \
7262306a36Sopenharmony_ci	-p $(obj)/aic79xx_reg_print.c -i aic79xx_osm.h
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_ciifeq ($(CONFIG_AIC79XX_BUILD_FIRMWARE),y)
7562306a36Sopenharmony_ci$(obj)/aic79xx_seq.h: $(src)/aic79xx.seq $(src)/aic79xx.reg $(obj)/aicasm/aicasm
7662306a36Sopenharmony_ci	$(obj)/aicasm/aicasm -I$(srctree)/$(src) -r $(obj)/aic79xx_reg.h \
7762306a36Sopenharmony_ci			      $(aicasm-79xx-opts-y) -o $(obj)/aic79xx_seq.h \
7862306a36Sopenharmony_ci			      $(srctree)/$(src)/aic79xx.seq
7962306a36Sopenharmony_ci
8062306a36Sopenharmony_ci$(aic79xx-gen-y): $(objtree)/$(obj)/aic79xx_seq.h
8162306a36Sopenharmony_ci	@true
8262306a36Sopenharmony_cielse
8362306a36Sopenharmony_ci$(obj)/aic79xx_reg_print.c: $(src)/aic79xx_reg_print.c_shipped
8462306a36Sopenharmony_ciendif
8562306a36Sopenharmony_ci
8662306a36Sopenharmony_ci$(obj)/aicasm/aicasm: $(srctree)/$(src)/aicasm/*.[chyl]
8762306a36Sopenharmony_ci	$(MAKE) -C $(srctree)/$(src)/aicasm OUTDIR=$(shell pwd)/$(obj)/aicasm/
88