# This file is part of the FreeWRT project. FreeWRT is copyrighted
# material, please see the LICENCE file in the top-level directory

include $(TOPDIR)/rules.mk
include ../rules.mk

BINUTILS_VERSION:=2.45
BINUTILS_SITE:=	https://sourceware.org/pub/binutils/releases/ \
		@GNU/binutils/
SOURCE:=binutils-$(BINUTILS_VERSION).tar.gz
BINUTILS_MD5SUM:=1e548acef5d308fa1a002122126de22c
BINUTILS_DIR:=$(TOOLCHAIN_BUILD_DIR)/binutils-$(BINUTILS_VERSION)

$(DL_DIR)/$(SOURCE):
	mkdir -p $(DL_DIR)
	$(SCRIPT_DIR)/download.pl $(DL_DIR) $(SOURCE) $(BINUTILS_MD5SUM) $(BINUTILS_SITE)

$(BINUTILS_DIR)/.unpacked: $(DL_DIR)/$(SOURCE)
	${EXTRACT_CMD}
	touch $(BINUTILS_DIR)/.unpacked

$(BINUTILS_DIR)/.configured: $(BINUTILS_DIR)/.unpacked
	mkdir -p $(BINUTILS_DIR)
	(cd $(BINUTILS_DIR); \
		$(BINUTILS_DIR)/configure \
		--prefix=$(STAGING_DIR)/usr \
		--build=$(GNU_HOST_NAME) \
		--host=$(GNU_HOST_NAME) \
		--target=$(GNU_TARGET_NAME) \
		--disable-werror \
		--disable-nls \
	);
	touch $(BINUTILS_DIR)/.configured

$(BINUTILS_DIR)/binutils/objdump: $(BINUTILS_DIR)/.configured
	$(MAKE) -C $(BINUTILS_DIR) all

$(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-ld: $(BINUTILS_DIR)/binutils/objdump
	$(MAKE) -C $(BINUTILS_DIR) install

source: $(DL_DIR)/$(SOURCE)
prepare: $(BINUTILS_DIR)/.unpacked
compile: $(BINUTILS_DIR)/binutils/objdump
install: $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-ld
clean:
	rm -f $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)*
	rm -rf $(BINUTILS_DIR)
