# Copyright (c) 2003 Leigh Brown

# 2003-03-23 Version 1.1 - fix stupid typo and missing dependency
# 2003-02-15 Version 1.0 - initial version

# Configurable stuff

BINUTILS_VER=2.13.2.1
GCC_VER=3.2.2
GLIBC_VER=2.3.1
TARGET=powerpc-linux
DEST=/opt/ppc
GNUMIRROR=ftp://www.mirror.ac.uk/sites/ftp.gnu.org
SOLINNO=http://www.solinno.co.uk/7043-140/files/cross
SUDO=sudo

# Shouldn't need to configure anything beyond this point

PATH:=$(DEST)/bin:$(PATH)
BINUTILS=binutils-$(BINUTILS_VER)
GCC=gcc-$(GCC_VER)

PPCINCLUDES_TB=ppc-includes.tar.bz2
BINUTILS_TB=$(BINUTILS).tar.bz2
GCC_TB=$(GCC).tar.bz2
SRCDIR=src
BLDDIR=bld

gcc-pass1: binutils-pass1 $(SRCDIR)/$(GCC)
	rm -fr $(BLDDIR)
	mkdir $(BLDDIR)
	cd $(BLDDIR) && ../$(SRCDIR)/$(GCC)/configure			\
		--target=$(TARGET)					\
		--enable-languages=c					\
		--disable-shared					\
		--disable-nls						\
		--disable-threads					\
		--enable-__cxa_atexit					\
		--prefix=$(DEST)
	cd $(BLDDIR) && make
	cd $(BLDDIR) && $(SUDO) make install
	touch $@

binutils-pass1: $(PPCINCLUDES_TB) $(SRCDIR)/$(BINUTILS)
	rm -fr $(BLDDIR)
	mkdir $(BLDDIR)
	cd $(BLDDIR) && ../$(SRCDIR)/$(BINUTILS)/configure		\
		--target=$(TARGET)					\
		--enable-targets=$(TARGET)				\
		--disable-shared					\
		--disable-nls						\
		--prefix=$(DEST)
	cd $(BLDDIR) && make
	cd $(BLDDIR) && $(SUDO) make install
	$(SUDO) tar -xjC $(DEST)/$(TARGET) -f $(PPCINCLUDES_TB)
	touch $@


# This section extracts all the tarballs into the source directory

$(SRCDIR)/$(BINUTILS): $(SRCDIR) $(BINUTILS_TB)
	cd $(SRCDIR) && tar xjf ../$(BINUTILS_TB) || rm -fr $(BINUTILS)

$(SRCDIR)/$(GCC): $(SRCDIR) $(GCC_TB)
	cd $(SRCDIR) && tar xjf ../$(GCC_TB) || rm -fr $(GCC)

$(SRCDIR):
	mkdir $(SRCDIR)

$(BLDDIR):
	mkdir $(BLDDIR)


# This section retrieves the tarballs

$(BINUTILS_TB):
	wget $(GNUMIRROR)/gnu/binutils/$(BINUTILS_TB)

$(PPCINCLUDES_TB):
	wget $(SOLINNO)/$(PPCINCLUDES_TB)
	
$(GCC_TB):
	wget $(GNUMIRROR)/gnu/gcc/gcc-$(GCC_VER)/$(GCC_TB)

