user2719735
user2719735

Reputation: 107

GRUB2 Makefile (Makefile.core.def)

In grub2/grub-core's 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)'
};

What does ldadd do? Where does libgnulib.a live? I tried to search for libgnulib.a in the grub directory but I couldn't find it. I also tried to search online but couldn't find any info.

Thanks, Matt

Upvotes: 0

Views: 508

Answers (1)

unixsmurf
unixsmurf

Reputation: 6234

The construct you are referring to actually went away in the upstream project last November, with this commit. The regexp module now simply includes gnulib/regex.c directly.

Before then, it was a library generated as part of the build, and put into the grub-core directory. The ldadd directive simply causes the generated Makefile to add the specified library to the link step for the current module.

Upvotes: 1

Related Questions