在grub2/grub-core的Makefile.core.def中,
module = {
name = regexp;
common = commands/regexp.c;
common = commands/wildcard.c
ldadd = libgnulib.a;
cflags = '$(CFLAGS_POSIX) $(CFLAGS_GNULIB)';
cppflags = '$(CPPFLAGS_POSIX) $(CPPFLAGS_GNULIB)'
};
ldadd做什么?libgnulib.a住在哪里?我试着在grub目录中搜索libgnulib.a,但找不到。我也试着在网上搜索,但没有找到任何信息。
谢谢,Matt
您所指的构造实际上在去年11月的上游项目中随着这次提交而消失。regexp
模块现在简单地直接包括gnulib/regex.c
。
在此之前,它是作为构建的一部分生成的库,并放入grub-core
目录中。ldadd
指令只是使生成的Makefile将指定的库添加到当前模块的链接步骤中。