0cf4e05832
efivar for Nios II also has to be linked with shared libgcc to avoid an error due to FDE encoding in static libgcc when linking libefiboot.so. Fixes: http://autobuild.buildroot.net/results/0c9/0c90e3e7ad41d21dd832f6f266af35fc19185170/ Signed-off-by: Erico Nunes <nunes.erico@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
58 lines
1.7 KiB
Makefile
58 lines
1.7 KiB
Makefile
################################################################################
|
|
#
|
|
# efivar
|
|
#
|
|
################################################################################
|
|
|
|
EFIVAR_VERSION = 0.23
|
|
EFIVAR_SITE = $(call github,rhinstaller,efivar,$(EFIVAR_VERSION))
|
|
EFIVAR_LICENSE = LGPLv2.1
|
|
EFIVAR_LICENSE_FILES = COPYING
|
|
EFIVAR_DEPENDENCIES = popt
|
|
EFIVAR_INSTALL_STAGING = YES
|
|
|
|
# BINTARGETS is set to skip efivar-static which requires static popt,
|
|
# and since we depend on glibc, we will never be built in a
|
|
# static-only environment.
|
|
# -fPIC is needed at least on MIPS, otherwise fails to build shared
|
|
# -library.
|
|
EFIVAR_MAKE_OPTS = \
|
|
libdir=/usr/lib \
|
|
BINTARGETS=efivar \
|
|
LDFLAGS="$(TARGET_LDFLAGS) -fPIC"
|
|
|
|
# Explicitly linking with shared libgcc is required on MicroBlaze and
|
|
# Nios II, otherwise it fails due to FDE encoding in static libgcc.
|
|
ifeq ($(BR2_microblaze)$(BR2_nios2),y)
|
|
EFIVAR_MAKE_OPTS += SOFLAGS="-shared -shared-libgcc"
|
|
endif
|
|
|
|
define EFIVAR_BUILD_CMDS
|
|
# makeguids is an internal host tool and must be built separately with
|
|
# $(HOST_CC), otherwise it gets cross-built.
|
|
$(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) \
|
|
CFLAGS="$(HOST_CFLAGS) -std=gnu99" \
|
|
$(MAKE) -C $(@D)/src gcc_cflags= makeguids
|
|
|
|
$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE1) -C $(@D) \
|
|
AR=$(TARGET_AR) NM=$(TARGET_NM) RANLIB=$(TARGET_RANLIB) \
|
|
$(EFIVAR_MAKE_OPTS) \
|
|
all
|
|
endef
|
|
|
|
define EFIVAR_INSTALL_STAGING_CMDS
|
|
$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE1) -C $(@D) \
|
|
$(EFIVAR_MAKE_OPTS) \
|
|
DESTDIR="$(STAGING_DIR)" \
|
|
install
|
|
endef
|
|
|
|
define EFIVAR_INSTALL_TARGET_CMDS
|
|
$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE1) -C $(@D) \
|
|
$(EFIVAR_MAKE_OPTS) \
|
|
DESTDIR="$(TARGET_DIR)" \
|
|
install
|
|
endef
|
|
|
|
$(eval $(generic-package))
|