summaryrefslogblamecommitdiffstats
path: root/toolchain/elf2flt/elf2flt.mk
blob: 7fecf3ea8be486705c59dcba04948b3e3f56983b (plain) (tree)
1
2
3
4
5
6
7
8
9







                                                             
                                     


                         
                                                                  
                

                                                 
                              
                


                                                   
                             
                                                   
                                                              
                                                                      


                                                                         
                                            
                



                                                            


                                                                                             








                                                                                      
                       

                
#############################################################
#
# 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
	$(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