blob: e74a6553bf2dfa60c4a8cf13e01078e1387e5018 [file] [log] [blame]
#############################################################
#
# elf2flt
#
#############################################################
# we keep a local checkout of uClinux CVS
ELF2FLT_SOURCE:=$(ELF2FLT_DIR)/elf2flt
ELF2FLT_DIR:=$(TOOLCHAIN_DIR)/elf2flt
ELF2FLT_BINARY:=elf2flt
$(ELF2FLT_DIR)/.unpacked:
cp -r toolchain/elf2flt/elf2flt "$(TOOLCHAIN_DIR)/elf2flt"
touch $@
$(ELF2FLT_DIR)/.patched: $(ELF2FLT_DIR)/.unpacked
$(call CONFIG_UPDATE,$(@D))
touch $@
$(ELF2FLT_DIR)/.configured: $(ELF2FLT_DIR)/.patched
(cd $(ELF2FLT_DIR); rm -rf config.cache; \
LDFLAGS=-lz \
$(ELF2FLT_DIR)/configure $(QUIET) \
--with-bfd-include-dir=$(BINUTILS_DIR1)/bfd/ \
--with-binutils-include-dir=$(BINUTILS_DIR)/include/ \
--target=$(REAL_GNU_TARGET_NAME) \
--with-libbfd=$(BINUTILS_DIR1)/bfd/libbfd.a \
--with-libiberty=$(BINUTILS_DIR1)/libiberty/libiberty.a \
--prefix=$(STAGING_DIR)/usr)
touch $@
$(ELF2FLT_DIR)/$(ELF2FLT_BINARY): $(ELF2FLT_DIR)/.configured
$(MAKE) -C $(ELF2FLT_DIR) all
$(MAKE) -C $(ELF2FLT_DIR) install
ln -snf $(REAL_GNU_TARGET_NAME)-elf2flt $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-elf2flt
ln -snf $(REAL_GNU_TARGET_NAME)-flthdr $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-flthdr
ln -snf $(REAL_GNU_TARGET_NAME)-ld.real $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-ld.real
elf2flt: uclibc_target uclibc-configured binutils gcc $(ELF2FLT_DIR)/$(ELF2FLT_BINARY)
elf2flt-clean:
rm -rf $(ELF2FLT_SOURCE)
elf2flt-dirclean:
rm -rf $(ELF2FLT_SOURCE)
ifeq ($(BR2_ELF2FLT),y)
TARGETS+=elf2flt
endif