linux内核Mikefile 中$(obj)的含义

obj-$(CONFIG_SND_ASOC_INGENIC_PHOENIX_ICDC) += snd-soc-phoenix-icdc.o
$(obj)/asoc-board/phoenix_icdc.o:include/generated/autoconf.h
obj-$(CONFIG_SND_ASOC_INGENIC_RatCharm_ICDC) += snd-soc-RatCharm-icdc.o
$(obj)/asoc-board/RatCharm_icdc.o:include/generated/autoconf.h

 在内核中看到过$(obj)的东西。它是啥? 靠谱的方法是用Source Insight 全局搜素(快捷键“Ctrl+shift+f”) 

针对我本人的问题

在内核顶层(kernel  你们的有可能是linux xx)

linux内核Mikefile 中$(obj)的含义_第1张图片

有下面的定义

srctree		:= $(if $(KBUILD_SRC),$(KBUILD_SRC),$(CURDIR))
objtree		:= $(CURDIR)
src		:= $(srctree)
obj		:= $(objtree)

很直观  CURDIR 当前文件夹  

$(obj)/asoc-board/RatCharm_icdc.o:include/generated/autoconf.h

了解过Mikefile就很好理解了 

有可能会问 CURDIR  为什么是当前文件夹?

CURDIR 其实是make 的内嵌变量,自动设置位当前目录

动手测试一下

all:

    echo $(CURDIR)

参考这里点击打开链接











你可能感兴趣的:(Mikefile)