kumquat-buildroot/package/liblinear/liblinear.mk
Baruch Siach a7bae7f5b3 liblinear: fix shared library build when -fPIC is required
Some architectures require building with -fPIC for shared libraries. -fPIC is
present in upstream Makefile but we override CFLAGS when running make. Add
-fPIC back when building shared libraries.

Fixes:
http://autobuild.buildroot.net/results/5d6/5d63bf2f1af7977ff81116e767b399d4d0a30a99/
http://autobuild.buildroot.net/results/47d/47d62d66c65cc77da9d48981ca6612257e616a90/
http://autobuild.buildroot.net/results/c81/c816a0982733595438ed7ad90ae1231001c285cc/

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-12-23 11:32:59 +01:00

47 lines
1.4 KiB
Makefile

################################################################################
#
# liblinear
#
################################################################################
LIBLINEAR_VERSION = 1.96
LIBLINEAR_SITE = http://www.csie.ntu.edu.tw/~cjlin/liblinear/$(LIBLINEAR_VERSION_MAJOR)
LIBLINEAR_LICENSE = BSD-3c
LIBLINEAR_LICENSE_FILES = COPYING
LIBLINEAR_INSTALL_STAGING = YES
LIBLINEAR_CFLAGS = $(TARGET_CFLAGS)
ifeq ($(BR2_SHARED_LIBS)$(BR2_SHARED_STATIC_LIBS),y)
# $1: destination directory
define LIBLINEAR_INSTALL_SHARED
$(INSTALL) -m 0644 -D $(@D)/liblinear.so.2 $(1)/usr/lib/liblinear.so.2
ln -sf liblinear.so.2 $(1)/usr/lib/liblinear.so
endef
LIBLINEAR_CFLAGS += -fPIC
endif
ifeq ($(BR2_STATIC_LIBS)$(BR2_SHARED_STATIC_LIBS),y)
# $1: destination directory
define LIBLINEAR_INSTALL_STATIC
$(INSTALL) -m 0644 -D $(@D)/liblinear.a $(1)/usr/lib/liblinear.a
endef
endif
define LIBLINEAR_BUILD_CMDS
$(MAKE) $(TARGET_CONFIGURE_OPTS) CFLAGS="$(LIBLINEAR_CFLAGS)" -C $(@D) \
$(if $(BR2_SHARED_LIBS)$(BR2_SHARED_STATIC_LIBS),lib) \
$(if $(BR2_STATIC_LIBS)$(BR2_SHARED_STATIC_LIBS),static-lib)
endef
define LIBLINEAR_INSTALL_STAGING_CMDS
$(INSTALL) -m 0644 -D $(@D)/linear.h $(STAGING_DIR)/usr/include/linear.h
$(call LIBLINEAR_INSTALL_SHARED,$(STAGING_DIR))
$(call LIBLINEAR_INSTALL_STATIC,$(STAGING_DIR))
endef
define LIBLINEAR_INSTALL_TARGET_CMDS
$(call LIBLINEAR_INSTALL_SHARED,$(TARGET_DIR))
endef
$(eval $(generic-package))