Commit 2534b2ee authored by Bernhard Reutner-Fischer's avatar Bernhard Reutner-Fischer
Browse files

- 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.
parent 1c1167cf
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -7,3 +7,11 @@ config BR2_PACKAGE_LIBELF
	  library.

	  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.
+12 −4
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ $(LIBELF_DIR)/.configured: $(LIBELF_DIR)/.unpacked
		CFLAGS="$(TARGET_CFLAGS)" \
		LDFLAGS="$(TARGET_LDFLAGS)" \
		libelf_cv_working_memmove=yes \
		mr_cv_target_elf=yes \
		./configure \
		--target=$(GNU_TARGET_NAME) \
		--host=$(GNU_TARGET_NAME) \
@@ -35,25 +36,32 @@ $(LIBELF_DIR)/.configured: $(LIBELF_DIR)/.unpacked
		--prefix=/usr \
		--sysconfdir=/etc \
		$(DISABLE_NLS) \
		--disable-shared \
		--enable-shared \
	);
	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)

$(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) \
		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
	$(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)

else
libelf: uclibc $(STAGING_DIR)/usr/lib/libelf.so.$(LIBELF_VER)
endif
libelf-source: $(DL_DIR)/$(LIBELF_SOURCE)

libelf-clean:
	$(MAKE) prefix=$(TARGET_DIR)/usr -C $(LIBELF_DIR) uninstall
	$(MAKE) instroot=$(STAGING_DIR) -C $(LIBELF_DIR) uninstall
	-$(MAKE) -C $(LIBELF_DIR) clean

libelf-dirclean: