# MicroBlaze toolchain from git.xilinx.com
MB_XLNX_VERSION  ?= v1.0
MB_XLNX_BASE_URL ?= http://git.xilinx.com
MB_XLNX_NAME     := microblaze_$(MB_XLNX_VERSION)_le
MB_XLNX_SHA1     ?= e43ce25f13975214edfae33d2d9a35402fdcacf9
MB_XLNX_AR       := tar.gz
MB_XLNX_URL      := '$(MB_XLNX_BASE_URL)/?p=xldk/$(MB_XLNX_NAME).git;a=snapshot;h=$(MB_XLNX_SHA1);sf=tgz'
MB_XLNX_ORIG     := $(MB_XLNX_NAME)
MB_XLNX_PATH     := $(TOOLS_PATH)/$(MB_XLNX_NAME)
MB_XLNX_CROSS    := microblazeel-unknown-linux-gnu-
TOOLCHAIN_ID     := MB_XLNX

MB_XLNX_GCC-v2.0 := microblazeel-unknown-linux-gnu.tgz
MB_XLNX_GCC-v1.0 := mb_gnu_tools_bin.tar.bz
MB_XLNX_GCCTAR   := $(MB_XLNX_GCC-$(MB_XLNX_VERSION))
MB_XLNX_ENDIAN = le
MB_XLNX_PREFIX-le := microblazeel-unknown-linux-gnu
MB_XLNX_PREFIX = $(MB_XLNX_PREFIX-$(MB_XLNX_ENDIAN))
MB_XLNX_LIBS      = $(MB_XLNX_PATH)/$(MB_XLNX_PREFIX)/lib

download-mb-xlnx: $(call download-path,MB_XLNX)
$(call download-path,MB_XLNX):
	$(Q) $(call download,MB_XLNX)

unpack-mb-xlnx: download-mb-xlnx $(MB_XLNX_PATH)
$(MB_XLNX_PATH):
	$(Q) $(call unpack-tmp,MB_XLNX)
	$(Q) cd $(TMP_PATH)/$(MB_XLNX_ORIG) && tar -xf $(MB_XLNX_GCCTAR)
	$(Q) mv $(TMP_PATH)/$(MB_XLNX_ORIG)/microblazeel-unknown-linux-gnu $(MB_XLNX_PATH)
	$(Q) rm -Rf $(TMP_PATH)/$(MB_XLNX_ORIG)

download: download-mb-xlnx
download-fini: unpack-mb-xlnx

install-mb-xlnx-libs:
	$(Q) mkdir -p $(GENRAMFS_PATH)/lib
	$(Q) cp -v $(MB_XLNX_LIBS)/ld-2.3.6.so $(GENRAMFS_PATH)/lib
	$(Q) cp -v $(MB_XLNX_LIBS)/libc-2.3.6.so $(GENRAMFS_PATH)/lib
	$(Q) cp -v $(MB_XLNX_LIBS)/libcrypt-2.3.6.so $(GENRAMFS_PATH)/lib
#	$(Q) cp -v $(MB_XLNX_LIBS)/libdl-2.3.6.so $(GENRAMFS_PATH)/lib
	$(Q) cp -v $(MB_XLNX_LIBS)/libm-2.3.6.so $(GENRAMFS_PATH)/lib
	$(Q) cp -v $(MB_XLNX_LIBS)/libmemusage.so $(GENRAMFS_PATH)/lib
	$(Q) cp -v $(MB_XLNX_LIBS)/libnsl-2.3.6.so $(GENRAMFS_PATH)/lib
	$(Q) cp -v $(MB_XLNX_LIBS)/libnss_compat-2.3.6.so $(GENRAMFS_PATH)/lib
#	$(Q) cp -v $(MB_XLNX_LIBS)/libnss_dns-2.3.6.so $(GENRAMFS_PATH)/lib
#	$(Q) cp -v $(MB_XLNX_LIBS)/libnss_files-2.3.6.so $(GENRAMFS_PATH)/lib
#	$(Q) cp -v $(MB_XLNX_LIBS)/libnss_hesiod-2.3.6.so $(GENRAMFS_PATH)/lib
#	$(Q) cp -v $(MB_XLNX_LIBS)/libnss_nis-2.3.6.so $(GENRAMFS_PATH)/lib
#	$(Q) cp -v $(MB_XLNX_LIBS)/libnss_nisplus-2.3.6.so $(GENRAMFS_PATH)/lib
#	$(Q) cp -v $(MB_XLNX_LIBS)/libpthread-0.10.so $(GENRAMFS_PATH)/lib
#	$(Q) cp -v $(MB_XLNX_LIBS)/libresolv-2.3.6.so $(GENRAMFS_PATH)/lib
	$(Q) cp -v $(MB_XLNX_LIBS)/libutil-2.3.6.so $(GENRAMFS_PATH)/lib
	$(Q) $(TOOLCHAIN_ENV) $(TOOLCHAIN_CROSS)strip -s $(GENRAMFS_PATH)/lib/*.so

install-mb-xlnx-symlinks:
	$(Q) cd $(GENRAMFS_PATH)/lib && ln -fvs ld-2.3.6.so ld.so.1
	$(Q) cd $(GENRAMFS_PATH)/lib && ln -fvs libc-2.3.6.so libc.so.6
	$(Q) cd $(GENRAMFS_PATH)/lib && ln -fvs libm-2.3.6.so libm.so.6
	$(Q) cd $(GENRAMFS_PATH)/lib && ln -fvs libcrypt-2.3.6.so libcrypt.so.1
	$(Q) cd $(GENRAMFS_PATH)/lib && ln -fvs libutil-2.3.6.so libutil.so.1
	$(Q) cd $(GENRAMFS_PATH)/lib && ln -fvs libnsl-2.3.6.so libnsl.so.1
	$(Q) cd $(GENRAMFS_PATH)/lib && ln -fvs libnss_compat-2.3.6.so libnss_compat.so.2
	
install-mb-xlnx: install-mb-xlnx-libs install-mb-xlnx-symlinks

install-init: install-mb-xlnx