Kbuild ----纯属讨论
有没有人写过 Kbuild 逻辑规则和实现的,最近在写,求交流 目前主要在写 /scripts/kconfig 目录下的 C 文件逻辑。有写过的一起来讨论 之前正好做过一个简单的模拟(仅Makefile部分),仅供参考。# @ ksrc/Makefile
ifeq ($(V),1)
quiet =
Q =
else
quiet = quiet_
Q = @
endif
# @ ksrc/script/Kbuild.include
echo-cmd = $(if $($(quiet)cmd_$(1)), echo '$($(quiet)cmd_$(1))';)
cmd = @$(echo-cmd) $(cmd_$(1))
if_changed_rule = @set -e; $(rule_$(1))
# @ ksrc/script/Makefile.kbuild
quiet_cmd_cc_o_c = CC $@
cmd_cc_o_c = printf "%s\n" 'gcc -c -o $@ $<'
define rule_cc_o_c
$(call echo-cmd,not_exist) $(cmd_not_exist) \
$(call echo-cmd,cc_o_c) $(cmd_cc_o_c); \
echo aaa; \
# echo bbb; \
echo ccc;
endef
%.o : %.c
$(call if_changed_rule,cc_o_c)
上面在模拟make V=1和make V=0的时候,显式方式的不同 2楼的问题太泛化了,可以分解为一些具体的问题,比如那个程序起到什么作用之类的。 回复 5# nswcfd
等我把那部分源码 debug 完之后 Release 一下文档说明一下。
那部分源码主要功能就是当我们在源码中使用 make menuconfig 之后,对内核进行配置,生成 .config 过程。
是指scripts/kbuild/conf.c?
那应该是的,make XXXconfig就是对这个程序的一个包装。
页:
[1]