Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 |