diff options
Diffstat (limited to 'm68k-unknown-amigaos')
-rw-r--r-- | m68k-unknown-amigaos/Makefile | 50 | ||||
-rw-r--r-- | m68k-unknown-amigaos/recipes/patches/gcc/config.gcc.p (renamed from m68k-unknown-amigaos/recipes/patches/config.gcc.p) | 0 | ||||
-rw-r--r-- | m68k-unknown-amigaos/recipes/patches/gcc/config.host.p | 12 |
3 files changed, 48 insertions, 14 deletions
diff --git a/m68k-unknown-amigaos/Makefile b/m68k-unknown-amigaos/Makefile index 68b91a0..a5d1042 100644 --- a/m68k-unknown-amigaos/Makefile +++ b/m68k-unknown-amigaos/Makefile @@ -2,6 +2,11 @@ UPSTREAM_VERSION := 4.5.1 UPSTREAM_TARBALL := gcc-$(UPSTREAM_VERSION).tar.bz2 UPSTREAM_URI := http://ftp.gnu.org/gnu/gcc/gcc-$(UPSTREAM_VERSION)/$(UPSTREAM_TARBALL) +UPSTREAM_BINUTILS_VERSION := 2.14 +# Not a tarball; so sue me +UPSTREAM_BINUTILS_TARBALL := binutils-$(UPSTREAM_BINUTILS_VERSION) +UPSTREAM_BINUTILS_URI := https://adtools.svn.sourceforge.net/svnroot/adtools/tags/before-merge-with-binutils-2.18/binutils + UPSTREAM_GMP_VERSION := 4.3.2 UPSTREAM_GMP_TARBALL := gmp-$(UPSTREAM_GMP_VERSION).tar.bz2 UPSTREAM_GMP_URI := http://ftp.gnu.org/gnu/gmp/$(UPSTREAM_GMP_TARBALL) @@ -26,27 +31,27 @@ PREFIX ?= /usr/local/netsurf/cross/amiga68k/ TARGET_NAME := m68k-unknown-amigaos .PHONY: all install -all: $(BUILDSTEPS)/make.d +all: $(BUILDSTEPS)/toolchain.d install: $(BUILDSTEPS)/install.d -$(BUILDSTEPS)/install.d: $(BUILDSTEPS)/make.d +$(BUILDSTEPS)/install.d: $(BUILDSTEPS)/toolchain.d + cd $(BUILDDIR)/binutils/target && make install cd $(BUILDDIR) && make install touch $@ +$(BUILDSTEPS)/toolchain.d: $(BUILDSTEPS)/make.d $(BUILDSTEPS)/binutils.d + touch $@ + $(BUILDSTEPS)/make.d: $(BUILDSTEPS)/configure.d - cd $(BUILDDIR) && make all + cd $(BUILDDIR) && PATH="$(BUILDDIR)/binutils/bootstrap/prefix/bin:$(PATH)" make all touch $@ -$(BUILDSTEPS)/configure.d: $(BUILDSTEPS)/builddir.d - cd $(BUILDDIR) && $(SRCDIR)/configure --prefix=$(PREFIX) --target=$(TARGET_NAME) \ +$(BUILDSTEPS)/configure.d: $(BUILDSTEPS)/srcdir-step3.d + cd $(BUILDDIR) && PATH="$(BUILDDIR)/binutils/bootstrap/prefix/bin:$(PATH)" $(SRCDIR)/configure --prefix=$(PREFIX) --target=$(TARGET_NAME) \ --with-cpu=m68040 --disable-threads --disable-nls --disable-c-mbchar \ --enable-languages=c --enable-checking=no --enable-c99 --with-cross-host \ - --disable-multilib --without-x --enable-maintainer-mode - touch $@ - -$(BUILDSTEPS)/builddir.d: $(BUILDSTEPS)/srcdir-step3.d - mkdir -p $(BUILDDIR) + --enable-multilib --without-x --enable-maintainer-mode touch $@ $(BUILDSTEPS)/srcdir-step3.d: $(BUILDSTEPS)/srcdir-step2.d $(UPSTREAM_GMP_TARBALL) $(UPSTREAM_MPFR_TARBALL) $(UPSTREAM_MPC_TARBALL) @@ -59,14 +64,13 @@ $(BUILDSTEPS)/srcdir-step3.d: $(BUILDSTEPS)/srcdir-step2.d $(UPSTREAM_GMP_TARBAL touch $@ $(BUILDSTEPS)/srcdir-step2.d: $(BUILDSTEPS)/srcdir-step1.d - for p in `ls $(RECIPES)/patches/*.p` ; do patch -d $(SRCDIR) -p0 <$$p ; done + for p in `ls $(RECIPES)/patches/gcc/*.p` ; do patch -d $(SRCDIR) -p0 <$$p ; done for dir in `find $(RECIPES)/files -type d | grep -v '\.svn' | sed 's#$(RECIPES)/files/##'` ; do mkdir -p $(SRCDIR)/$$dir ; done for file in `find $(RECIPES)/files -type f | grep -v '\.svn' | sed 's#$(RECIPES)/files/##'` ; do cp -p $(RECIPES)/files/$$file $(SRCDIR)/$$file ; done touch $@ -$(BUILDSTEPS)/srcdir-step1.d: $(BUILDSTEPS)/orig.gcc.d - mkdir -p $(SRCDIR) - cp -r orig.gcc/* $(SRCDIR) +$(BUILDSTEPS)/srcdir-step1.d: $(BUILDSTEPS)/orig.gcc.d $(BUILDSTEPS)/bootstrap-binutils.d + ln -s orig.gcc $(SRCDIR) touch $@ $(BUILDSTEPS)/orig.gcc.d: $(BUILDSTEPS)/orig.gcc-$(UPSTREAM_TARBALL).d @@ -80,6 +84,21 @@ $(BUILDSTEPS)/orig.gcc-$(UPSTREAM_TARBALL).d: $(BUILDSTEPS)/buildsteps.d orig.gc orig.gcc-$(UPSTREAM_TARBALL): wget -q -O $@ $(UPSTREAM_URI) +# Ugh. Upstream binutils is not remotely 64-bit safe. +# Build a 32bit binary until this gets fixed +$(BUILDSTEPS)/binutils.d: $(UPSTREAM_BINUTILS_TARBALL) + mkdir -p $(BUILDDIR)/binutils/target + cd $(BUILDDIR)/binutils/target && CFLAGS="-m32" LDFLAGS="-m32" $(TOP)/binutils-$(UPSTREAM_BINUTILS_VERSION)/configure --prefix=$(PREFIX) --target=$(TARGET_NAME) + cd $(BUILDDIR)/binutils/target && make + touch $@ + +$(BUILDSTEPS)/bootstrap-binutils.d: $(UPSTREAM_BINUTILS_TARBALL) + mkdir -p $(BUILDDIR)/binutils/bootstrap + cd $(BUILDDIR)/binutils/bootstrap && CFLAGS="-m32" LDFLAGS="-m32" $(TOP)/binutils-$(UPSTREAM_BINUTILS_VERSION)/configure --prefix=$(BUILDDIR)/binutils/bootstrap/prefix --target=$(TARGET_NAME) + cd $(BUILDDIR)/binutils/bootstrap && make + cd $(BUILDDIR)/binutils/bootstrap && make install + touch $@ + $(UPSTREAM_GMP_TARBALL): wget -q -O $@ $(UPSTREAM_GMP_URI) @@ -89,6 +108,9 @@ $(UPSTREAM_MPFR_TARBALL): $(UPSTREAM_MPC_TARBALL): wget -q -O $@ $(UPSTREAM_MPC_URI) +$(UPSTREAM_BINUTILS_TARBALL): + svn co $(UPSTREAM_BINUTILS_URI) $@ + $(BUILDSTEPS)/buildsteps.d: mkdir -p $(BUILDSTEPS) touch $@ diff --git a/m68k-unknown-amigaos/recipes/patches/config.gcc.p b/m68k-unknown-amigaos/recipes/patches/gcc/config.gcc.p index 0f0438c..0f0438c 100644 --- a/m68k-unknown-amigaos/recipes/patches/config.gcc.p +++ b/m68k-unknown-amigaos/recipes/patches/gcc/config.gcc.p diff --git a/m68k-unknown-amigaos/recipes/patches/gcc/config.host.p b/m68k-unknown-amigaos/recipes/patches/gcc/config.host.p new file mode 100644 index 0000000..f13685e --- /dev/null +++ b/m68k-unknown-amigaos/recipes/patches/gcc/config.host.p @@ -0,0 +1,12 @@ +--- gcc/config.host 2010-12-20 02:28:16.000000000 +0000 ++++ gcc/config.host 2010-12-20 02:31:32.000000000 +0000 +@@ -264,4 +264,9 @@ + out_host_hook_obj=host-hpux.o + host_xmake_file="${host_xmake_file} x-hpux" + ;; ++ m68k-*-amigaos*) ++ host_xm_file="m68k/xm-amigaos.h" ++ host_xmake_file="m68k/x-amigaos" ++ out_host_hook_obj=host-amigaos.o ++ ;; + esac |