- someone disabled shared lib support without fixing the libelf rule leading to

useless rebuilds. Add option to install the lib to the target and not only to
  the staging_dir.
This commit is contained in:
Bernhard Reutner-Fischer 2007-04-06 14:21:00 +00:00
parent 1c1167cf7d
commit 2534b2ee79
2 changed files with 20 additions and 4 deletions

View File

@ -7,3 +7,11 @@ config BR2_PACKAGE_LIBELF
library. library.
http://www.stud.uni-hannover.de/~michael/software/ http://www.stud.uni-hannover.de/~michael/software/
config BR2_PACKAGE_LIBELF_HEADERS
bool "headers on the target"
default n
depends on BR2_PACKAGE_LIBELF
help
Whether to copy the lib and the headers to the
target system.

View File

@ -28,6 +28,7 @@ $(LIBELF_DIR)/.configured: $(LIBELF_DIR)/.unpacked
CFLAGS="$(TARGET_CFLAGS)" \ CFLAGS="$(TARGET_CFLAGS)" \
LDFLAGS="$(TARGET_LDFLAGS)" \ LDFLAGS="$(TARGET_LDFLAGS)" \
libelf_cv_working_memmove=yes \ libelf_cv_working_memmove=yes \
mr_cv_target_elf=yes \
./configure \ ./configure \
--target=$(GNU_TARGET_NAME) \ --target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \ --host=$(GNU_TARGET_NAME) \
@ -35,25 +36,32 @@ $(LIBELF_DIR)/.configured: $(LIBELF_DIR)/.unpacked
--prefix=/usr \ --prefix=/usr \
--sysconfdir=/etc \ --sysconfdir=/etc \
$(DISABLE_NLS) \ $(DISABLE_NLS) \
--disable-shared \ --enable-shared \
); );
touch $@ touch $@
$(LIBELF_DIR)/libelf.so.$(LIBELF_VER): $(LIBELF_DIR)/.configured $(LIBELF_DIR)/lib/libelf.so.$(LIBELF_VER): $(LIBELF_DIR)/.configured
$(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(LIBELF_DIR) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(LIBELF_DIR)
$(STAGING_DIR)/usr/lib/libelf.a: $(LIBELF_DIR)/libelf.so.$(LIBELF_VER) $(STAGING_DIR)/usr/lib/libelf.a: $(LIBELF_DIR)/lib/libelf.so.$(LIBELF_VER)
$(MAKE1) $(TARGET_CONFIGURE_OPTS) \ $(MAKE1) $(TARGET_CONFIGURE_OPTS) \
instroot=$(STAGING_DIR) -C $(LIBELF_DIR) install instroot=$(STAGING_DIR) -C $(LIBELF_DIR) install
ifeq ($(BR2_PACKAGE_LIBELF_HEADERS),y)
$(TARGET_DIR)/usr/lib/libelf.so.$(LIBELF_VER): $(STAGING_DIR)/usr/lib/libelf.a $(TARGET_DIR)/usr/lib/libelf.so.$(LIBELF_VER): $(STAGING_DIR)/usr/lib/libelf.a
$(INSTALL) $(STAGING_DIR)/usr/lib/libelf* $(@D)
cp -dpR $(STAGING_DIR)/usr/include/{gelf.h,libelf*} $(TARGET_DIR)/usr/include/
$(STRIP) $@
libelf: uclibc $(TARGET_DIR)/usr/lib/libelf.so.$(LIBELF_VER) libelf: uclibc $(TARGET_DIR)/usr/lib/libelf.so.$(LIBELF_VER)
else
libelf: uclibc $(STAGING_DIR)/usr/lib/libelf.so.$(LIBELF_VER)
endif
libelf-source: $(DL_DIR)/$(LIBELF_SOURCE) libelf-source: $(DL_DIR)/$(LIBELF_SOURCE)
libelf-clean: libelf-clean:
$(MAKE) prefix=$(TARGET_DIR)/usr -C $(LIBELF_DIR) uninstall $(MAKE) prefix=$(TARGET_DIR)/usr -C $(LIBELF_DIR) uninstall
$(MAKE) instroot=$(STAGING_DIR) -C $(LIBELF_DIR) uninstall
-$(MAKE) -C $(LIBELF_DIR) clean -$(MAKE) -C $(LIBELF_DIR) clean
libelf-dirclean: libelf-dirclean: