UCLIBCXX_VERSION:=0.2.2 UCLIBCXX_LIB_VERSION:=$(UCLIBCXX_VERSION) UCLIBCXX_SOURCE:=uClibc++-$(UCLIBCXX_VERSION).tar.bz2 UCLIBCXX_SITE:=http://cxx.uclibc.org/src/ UCLIBCXX_MAKE_DIR:=$(MAKE_DIR)/libs UCLIBCXX_DIR:=$(SOURCE_DIR)/uClibc++-$(UCLIBCXX_VERSION) UCLIBCXX_BINARY:=$(UCLIBCXX_DIR)/src/libuClibc++-$(UCLIBCXX_LIB_VERSION).so UCLIBCXX_STAGING_BINARY:=$(TARGET_TOOLCHAIN_STAGING_DIR)/lib/libuClibc++-$(UCLIBCXX_LIB_VERSION).so UCLIBCXX_TARGET_DIR:=root/lib UCLIBCXX_TARGET_BINARY:=$(UCLIBCXX_TARGET_DIR)/libuClibc++-$(UCLIBCXX_LIB_VERSION).so $(DL_DIR)/$(UCLIBCXX_SOURCE): | $(DL_DIR) wget -P $(DL_DIR) $(UCLIBCXX_SITE)/$(UCLIBCXX_SOURCE) $(UCLIBCXX_DIR)/.unpacked: $(DL_DIR)/$(UCLIBCXX_SOURCE) tar -C $(SOURCE_DIR) -xvjf $(DL_DIR)/$(UCLIBCXX_SOURCE) touch $@ $(UCLIBCXX_DIR)/.configured: $(UCLIBCXX_DIR)/.unpacked cp $(UCLIBCXX_MAKE_DIR)/Config.uclibc++ $(UCLIBCXX_DIR)/.config ifeq ($(DS_TARGET_LFS),y) $(SED) -i -e 's,^.*UCLIBCXX_HAS_LFS.*,UCLIBCXX_HAS_LFS=y,g' $(UCLIBCXX_DIR)/.config else $(SED) -i -e 's,^.*UCLIBCXX_HAS_LFS.*,UCLIBCXX_HAS_LFS=n,g' $(UCLIBCXX_DIR)/.config endif touch $@ $(UCLIBCXX_BINARY): $(UCLIBCXX_DIR)/.configured PATH=$(TARGET_TOOLCHAIN_PATH) $(MAKE) \ -C $(UCLIBCXX_DIR) \ ARCH_CFLAGS="$(TARGET_CFLAGS)" \ CROSS="$(TARGET_CROSS)" \ all $(UCLIBCXX_STAGING_BINARY): $(UCLIBCXX_BINARY) PATH=$(TARGET_TOOLCHAIN_PATH) $(MAKE) \ -C $(UCLIBCXX_DIR) \ ARCH_CFLAGS="$(TARGET_CFLAGS)" \ CROSS="$(TARGET_CROSS)" \ DESTDIR="$(TARGET_TOOLCHAIN_STAGING_DIR)" \ install mv $(TARGET_TOOLCHAIN_STAGING_DIR)/bin/g++-uc \ $(TARGET_TOOLCHAIN_STAGING_DIR)/bin/$(REAL_GNU_TARGET_NAME)-g++-uc ln -sf $(REAL_GNU_TARGET_NAME)-g++-uc $(TARGET_TOOLCHAIN_STAGING_DIR)/bin/$(GNU_TARGET_NAME)-g++-uc $(UCLIBCXX_TARGET_BINARY): $(UCLIBCXX_STAGING_BINARY) cp -a $(TARGET_TOOLCHAIN_STAGING_DIR)/lib/libuClibc++*.so* $(UCLIBCXX_TARGET_DIR)/ $(TARGET_STRIP) $@ uclibcxx: $(UCLIBCXX_STAGING_BINARY) uclibcxx-precompiled: uclibc uclibcxx $(UCLIBCXX_TARGET_BINARY) uclibcxx-source: $(UCLIBCXX_DIR)/.unpacked uclibcxx-clean: rm -f $(TARGET_TOOLCHAIN_STAGING_DIR)/bin/$(GNU_TARGET_NAME)-g++-uc rm -f $(TARGET_TOOLCHAIN_STAGING_DIR)/bin/$(REAL_GNU_TARGET_NAME)-g++-uc -$(MAKE) -C $(UCLIBCXX_DIR) clean rm -f $(TARGET_TOOLCHAIN_STAGING_DIR)/lib/libuClibc++* uclibcxx-uninstall: rm -f $(UCLIBCXX_TARGET_DIR)/libuClibc++*.so* uclibcxx-dirclean: rm -rf $(UCLIBCXX_DIR)