aboutsummaryrefslogtreecommitdiff
path: root/toolchain/cross_binutils.mk
diff options
context:
space:
mode:
Diffstat (limited to 'toolchain/cross_binutils.mk')
-rw-r--r--toolchain/cross_binutils.mk45
1 files changed, 45 insertions, 0 deletions
diff --git a/toolchain/cross_binutils.mk b/toolchain/cross_binutils.mk
new file mode 100644
index 0000000..721ec85
--- /dev/null
+++ b/toolchain/cross_binutils.mk
@@ -0,0 +1,45 @@
+include utils.mk
+
+VERSION := 2.42
+URL := https://ftp.gnu.org/gnu/binutils/binutils-$(VERSION).tar.gz
+
+DIR := $(BUILD_DIR)/toolchain/binutils-$(VERSION)
+FILE := $(DIR)/binutils-$(VERSION).tar.gz
+SRC := $(DIR)/binutils-$(VERSION)
+OUT := $(OUT_DIR)/cross
+BUILD := $(DIR)/build_cross
+
+TOOLCHAIN_TARGET := i686-elf
+
+all: install
+
+.ONESHELL:
+
+$(call add-to-path,$(shell pwd)/host/bin)
+
+$(FILE):
+ mkdir -p $(DIR)
+ wget $(URL) -O $(FILE)
+
+unpack: $(FILE)
+ tar xf $(FILE) -C $(DIR)
+
+configure: unpack
+ mkdir -p $(BUILD)
+ cd $(BUILD)
+ $(SRC)/configure \
+ --prefix=$(OUT) \
+ --target=$(TOOLCHAIN_TARGET) \
+ --disable-nls \
+ --with-sysroot
+
+build: configure
+ cd $(BUILD)
+ $(MAKE) -j$(PARALLEL_CORES)
+
+install: build
+ cd $(BUILD)
+ $(MAKE) install
+
+clean:
+ rm -rf $(DIR) $(FILE) $(OUT)