mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-04 09:34:12 +08:00
b1992c3772
Kbuild conventionally uses $(obj)/ for generated files, and $(src)/ for checked-in source files. It is merely a convention without any functional difference. In fact, $(obj) and $(src) are exactly the same, as defined in scripts/Makefile.build: src := $(obj) When the kernel is built in a separate output directory, $(src) does not accurately reflect the source directory location. While Kbuild resolves this discrepancy by specifying VPATH=$(srctree) to search for source files, it does not cover all cases. For example, when adding a header search path for local headers, -I$(srctree)/$(src) is typically passed to the compiler. This introduces inconsistency between upstream and downstream Makefiles because $(src) is used instead of $(srctree)/$(src) for the latter. To address this inconsistency, this commit changes the semantics of $(src) so that it always points to the directory in the source tree. Going forward, the variables used in Makefiles will have the following meanings: $(obj) - directory in the object tree $(src) - directory in the source tree (changed by this commit) $(objtree) - the top of the kernel object tree $(srctree) - the top of the kernel source tree Consequently, $(srctree)/$(src) in upstream Makefiles need to be replaced with $(src). Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Reviewed-by: Nicolas Schier <nicolas@fjasle.eu>
88 lines
2.8 KiB
Makefile
88 lines
2.8 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
#
|
|
# Makefile for the Linux aic7xxx SCSI driver.
|
|
#
|
|
# $Id: //depot/linux-aic79xx-2.5.0/drivers/scsi/aic7xxx/Makefile#8 $
|
|
#
|
|
|
|
# Let kbuild descend into aicasm when cleaning
|
|
subdir- += aicasm
|
|
|
|
obj-$(CONFIG_SCSI_AIC7XXX) += aic7xxx.o
|
|
obj-$(CONFIG_SCSI_AIC79XX) += aic79xx.o
|
|
|
|
# Core Fast -> U160 files
|
|
aic7xxx-y += aic7xxx_core.o \
|
|
aic7xxx_93cx6.o
|
|
aic7xxx-$(CONFIG_EISA) += aic7770.o
|
|
aic7xxx-$(CONFIG_PCI) += aic7xxx_pci.o
|
|
aic7xxx-$(CONFIG_AIC7XXX_REG_PRETTY_PRINT) += aic7xxx_reg_print.o
|
|
|
|
# Platform Specific Fast -> U160 Files
|
|
aic7xxx-y += aic7xxx_osm.o \
|
|
aic7xxx_proc.o
|
|
aic7xxx-$(CONFIG_EISA) += aic7770_osm.o
|
|
aic7xxx-$(CONFIG_PCI) += aic7xxx_osm_pci.o
|
|
|
|
# Core U320 files
|
|
aic79xx-y += aic79xx_core.o \
|
|
aic79xx_pci.o
|
|
aic79xx-$(CONFIG_AIC79XX_REG_PRETTY_PRINT) += aic79xx_reg_print.o
|
|
|
|
# Platform Specific U320 Files
|
|
aic79xx-y += aic79xx_osm.o \
|
|
aic79xx_proc.o \
|
|
aic79xx_osm_pci.o
|
|
|
|
ifdef WARNINGS_BECOME_ERRORS
|
|
ccflags-y += -Werror
|
|
endif
|
|
|
|
# Files generated that shall be removed upon make clean
|
|
clean-files := aic7xxx_seq.h aic7xxx_reg.h aic7xxx_reg_print.c
|
|
clean-files += aic79xx_seq.h aic79xx_reg.h aic79xx_reg_print.c
|
|
|
|
# Dependencies for generated files need to be listed explicitly
|
|
|
|
$(addprefix $(obj)/,$(aic7xxx-y)): $(obj)/aic7xxx_seq.h $(obj)/aic7xxx_reg.h
|
|
$(addprefix $(obj)/,$(aic79xx-y)): $(obj)/aic79xx_seq.h $(obj)/aic79xx_reg.h
|
|
|
|
aic7xxx-gen-$(CONFIG_AIC7XXX_BUILD_FIRMWARE) := $(obj)/aic7xxx_reg.h
|
|
aic7xxx-gen-$(CONFIG_AIC7XXX_REG_PRETTY_PRINT) += $(obj)/aic7xxx_reg_print.c
|
|
|
|
aicasm-7xxx-opts-$(CONFIG_AIC7XXX_REG_PRETTY_PRINT) := \
|
|
-p $(obj)/aic7xxx_reg_print.c -i aic7xxx_osm.h
|
|
|
|
ifeq ($(CONFIG_AIC7XXX_BUILD_FIRMWARE),y)
|
|
$(obj)/aic7xxx_seq.h: $(src)/aic7xxx.seq $(src)/aic7xxx.reg $(obj)/aicasm/aicasm
|
|
$(obj)/aicasm/aicasm -I $(src) -r $(obj)/aic7xxx_reg.h \
|
|
$(aicasm-7xxx-opts-y) -o $(obj)/aic7xxx_seq.h \
|
|
$(src)/aic7xxx.seq
|
|
|
|
$(aic7xxx-gen-y): $(objtree)/$(obj)/aic7xxx_seq.h
|
|
@true
|
|
else
|
|
$(obj)/aic7xxx_reg_print.c: $(src)/aic7xxx_reg_print.c_shipped
|
|
endif
|
|
|
|
aic79xx-gen-$(CONFIG_AIC79XX_BUILD_FIRMWARE) := $(obj)/aic79xx_reg.h
|
|
aic79xx-gen-$(CONFIG_AIC79XX_REG_PRETTY_PRINT) += $(obj)/aic79xx_reg_print.c
|
|
|
|
aicasm-79xx-opts-$(CONFIG_AIC79XX_REG_PRETTY_PRINT) := \
|
|
-p $(obj)/aic79xx_reg_print.c -i aic79xx_osm.h
|
|
|
|
ifeq ($(CONFIG_AIC79XX_BUILD_FIRMWARE),y)
|
|
$(obj)/aic79xx_seq.h: $(src)/aic79xx.seq $(src)/aic79xx.reg $(obj)/aicasm/aicasm
|
|
$(obj)/aicasm/aicasm -I $(src) -r $(obj)/aic79xx_reg.h \
|
|
$(aicasm-79xx-opts-y) -o $(obj)/aic79xx_seq.h \
|
|
$(src)/aic79xx.seq
|
|
|
|
$(aic79xx-gen-y): $(objtree)/$(obj)/aic79xx_seq.h
|
|
@true
|
|
else
|
|
$(obj)/aic79xx_reg_print.c: $(src)/aic79xx_reg_print.c_shipped
|
|
endif
|
|
|
|
$(obj)/aicasm/aicasm: $(src)/aicasm/*.[chyl]
|
|
$(MAKE) -C $(src)/aicasm OUTDIR=$(shell pwd)/$(obj)/aicasm/
|