# Copyright (C) 2004 Nokia # Author: lauri.leukkunen@nokia.com # Licenced under GPL, see top level COPYING file for details GARNAME = uclibc GARVERSION = 1.0 CATEGORIES = gcc DESCRIPTION = toolchain (binutils, uClibc, gcc) DEBIAN_PACKAGES = gcc-3.3-base gcc gcc-3.3 g++ g++-3.3 cpp cpp-3.3 libgcc1 libuclibc0 libuclibc-dev binutils define BLURB # FIXME: blurb goes here endef CONFIGURE_SCRIPTS = toolchain BUILD_SCRIPTS = toolchain INSTALL_SCRIPTS = toolchain # INCLUDE THIS HERE BEFORE OVERRIDING include ../category.mk unexport DESTDIR = unexport prefix = $(COMPILERDIR) unexport exec_prefix = $(prefix) unexport bindir = $(exec_prefix)/bin unexport sbindir = $(exec_prefix)/sbin unexport libexecdir = $(exec_prefix)/libexec unexport datadir = $(prefix)/share unexport sysconfdir = $(prefix)/etc unexport sharedstatedir = $(prefix)/share unexport localstatedir = $(prefix)/var unexport libdir = $(exec_prefix)/lib unexport infodir = $(prefix)/share/info unexport lispdir = $(prefix)/share/emacs/site-lisp unexport includedir = $(prefix)/include unexport mandir = $(prefix)/share/man unexport docdir = $(prefix)/share/doc unexport sourcedir = $(prefix)/src ARCH=i386 SUB_ARCH=i386 ifeq ($(ARCH),arm) SUB_ARCH=arm endif GCC_VER=3.3.2 UCLIBC_VER=snapshot-20040229 TARGETNAME=$(SUB_ARCH)-gcc-$(GCC_VER)-uclibc-$(UCLIBC_VER) COMPILERDIR=/scratchbox/compilers/$(TARGETNAME) DOWNLOAD_SITE=http://scratchbox.org/download/files/sbox-files pre-patch: cd work && \ wget -O - $(DOWNLOAD_SITE)/uclibc-gcc-3.3.x-20040229.tar.gz | tar zxvf - && \ mkdir -p $(COMPILERDIR)/bin && \ ln -sf /scratchbox/tools/bin/sed $(COMPILERDIR)/bin/sed && \ cd toolchain && \ patch -p1 < ../../gcc-strip_and_uclibc-hostcc.patch $(MAKECOOKIE) configure-toolchain: # use the right uClibc configuration file cp uClibc_config.$(SUB_ARCH) work/toolchain/gcc-3.3.x/sources/uClibc.config $(MAKECOOKIE) build-toolchain: $(MAKE) -C work/toolchain/gcc-3.3.x ARCH=$(ARCH) BUILD_DIR=$(COMPILERDIR) USE_UCLIBC_SNAPSHOT="false" HOSTCC=host-gcc \ TARGET_PATH="\$$(STAGING_DIR)/bin:$$PATH" \ BUILD_EXTRA_TOOLS=false GCC_STRIP_HOST_BINARIES=false \ GCC_SITE="$(DOWNLOAD_SITE)" \ BINUTILS_SITE="$(DOWNLOAD_SITE)" \ UCLIBC_SITE="$(DOWNLOAD_SITE)" \ UCLIBC_SOURCE=uClibc-$(UCLIBC_VER).tar.bz2 \ UCLIBC_DIR="\$$(TOOL_BUILD_DIR)/uClibc" \ LINUX_SITE="$(DOWNLOAD_SITE)" $(MAKECOOKIE) install-toolchain: cp gcc.specs $(COMPILERDIR)/gcc.specs cd $(COMPILERDIR)/bin && \ ln -sf gcc gcc-$(shell echo $(GCC_VER) | cut -d "." --fields=1,2) && \ ln -sf g++ g++-$(shell echo $(GCC_VER) | cut -d "." --fields=1,2) && \ for f in *; do ln -sf $$f sbox-$$f; done echo "$(TARGETNAME):$(COMPILERDIR):$(SUB_ARCH):linux:uclibc:$(ARCH)" >> $(COMPILERDIR)/compiler-name cat target_setup.sh.in | sed "s/COMPILERDIR/$(subst /,\/,$(COMPILERDIR))/g" | sed "s/ARCHDIR/$(ARCH)-linux-uclibc/g" > $(COMPILERDIR)/target_setup.sh chmod +x $(COMPILERDIR)/target_setup.sh $(MAKECOOKIE) clean-installation: rm -rf $(COMPILERDIR) superclean: clean-installation clean