summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Kconfig15
-rw-r--r--rules/cross-binutils.in16
-rw-r--r--rules/cross-gcc-first.in2
-rw-r--r--rules/cross-gcc-first.make15
-rw-r--r--rules/cross-gcc-second.in2
-rw-r--r--rules/cross-gcc-second.make4
-rw-r--r--rules/cross-gcc.in39
-rw-r--r--rules/glibc.in1
-rw-r--r--rules/glibc.make4
-rw-r--r--rules/kernel-headers.in1
-rw-r--r--rules/libc-headers.make84
-rw-r--r--rules/libc.in34
-rw-r--r--rules/libc.make84
-rw-r--r--rules/uclibc-headers.make96
-rw-r--r--rules/uclibc.in18
-rw-r--r--rules/uclibc.make113
16 files changed, 499 insertions, 29 deletions
diff --git a/Kconfig b/Kconfig
index 1421d46..afae074 100644
--- a/Kconfig
+++ b/Kconfig
@@ -17,15 +17,26 @@ config PROJECT
Usually you don't have to set this config option; change it
only if you want to have some non-default name.
+source "workspace/rules/libc.in"
+
+if LIBC_GLIBC
source "workspace/rules/glibc.in"
source "workspace/rules/glibc-headers.in"
source "workspace/rules/glibc-ports.in"
source "workspace/rules/glibc-linuxthreads.in"
+endif
+
+if LIBC_UCLIBC
+source "workspace/rules/uclibc.in"
+endif
+
+if LIBC_NEWLIB
+source "workspace/rules/newlib.in"
+endif
source "workspace/rules/cross-binutils.in"
source "workspace/rules/kernel-headers.in"
-source "workspace/rules/cross-gcc-first.in"
-source "workspace/rules/cross-gcc-second.in"
+source "workspace/rules/cross-gcc.in"
source "workspace/rules/cross-gdb.in"
source "workspace/rules/cross-toolchain.in"
source "workspace/rules/host-dejagnu.in"
diff --git a/rules/cross-binutils.in b/rules/cross-binutils.in
index f2d4ba7..95ca3f2 100644
--- a/rules/cross-binutils.in
+++ b/rules/cross-binutils.in
@@ -3,7 +3,6 @@
menuconfig CROSS_BINUTILS
bool
prompt "binutils "
- select KERNEL_HEADERS
config CROSS_BINUTILS_VERSION
depends on CROSS_BINUTILS
@@ -12,18 +11,3 @@ config CROSS_BINUTILS_VERSION
default "2.17"
help
Specify the binutils version here.
-
-#config CROSS_BINUTILS_EXTRA_CONFIG
-# depends on CROSS_BINUTILS
-# string
-# prompt "extra configure options"
-# help
-# Add these extra options to binutils' configure script.
-
-#config CROSS_BINUTILS_EXTRA_ENV
-# depends on CROSS_BINUTILS
-# string
-# prompt "extra environment"
-# help
-# Add this to the binutils' environment.
-
diff --git a/rules/cross-gcc-first.in b/rules/cross-gcc-first.in
index 4a4537f..5733f62 100644
--- a/rules/cross-gcc-first.in
+++ b/rules/cross-gcc-first.in
@@ -3,7 +3,7 @@
menuconfig CROSS_GCC_FIRST
bool
select CROSS_BINUTILS
- select GLIBC_HEADERS
+ select LIBC_HEADERS
prompt "gcc "
diff --git a/rules/cross-gcc-first.make b/rules/cross-gcc-first.make
index f78e38b..a571699 100644
--- a/rules/cross-gcc-first.make
+++ b/rules/cross-gcc-first.make
@@ -17,7 +17,7 @@ CROSS_PACKAGES-$(PTXCONF_CROSS_GCC_FIRST) += cross-gcc-first
#
# Paths and names
#
-CROSS_GCC_FIRST_VERSION := $(call remove_quotes,$(PTXCONF_CROSS_GCC_FIRST_VERSION))
+CROSS_GCC_FIRST_VERSION := $(call remove_quotes,$(PTXCONF_CROSS_GCC_VERSION))
CROSS_GCC_FIRST := gcc-$(CROSS_GCC_FIRST_VERSION)
CROSS_GCC_FIRST_SUFFIX := tar.bz2
CROSS_GCC_FIRST_URL := $(PTXCONF_SETUP_GNUMIRROR)/gcc/$(CROSS_GCC_FIRST)/$(CROSS_GCC_FIRST).$(CROSS_GCC_FIRST_SUFFIX)
@@ -50,8 +50,6 @@ $(STATEDIR)/cross-gcc-first.extract:
@$(call clean, $(CROSS_GCC_FIRST_DIR))
@$(call extract, CROSS_GCC_FIRST, $(BUILDDIR_CROSS_DEBUG))
@$(call patchin, CROSS_GCC_FIRST, $(CROSS_GCC_FIRST_DIR))
- @$(call clean, $(CROSS_GCC_FIRST_BUILDDIR))
- mkdir -p $(CROSS_GCC_FIRST_BUILDDIR)
@$(call touch, $@)
# ----------------------------------------------------------------------------
@@ -91,11 +89,18 @@ CROSS_GCC_FIRST_AUTOCONF := \
\
--disable-libmudflap \
--disable-libssp \
- --disable-libgomp \
+ --disable-libgomp
+
+ifdef PTXCONF_NEWLIB
+CROSS_GCC_FIRST_AUTOCONF += \
+ --with-newlib \
+ --without-headers
+endif
$(STATEDIR)/cross-gcc-first.prepare:
@$(call targetinfo, $@)
- @$(call clean, $(CROSS_GCC_FIRST_BUILDDIR)/config.cache)
+ @$(call clean, $(CROSS_GCC_FIRST_BUILDDIR))
+ mkdir -p $(CROSS_GCC_FIRST_BUILDDIR)
cd $(CROSS_GCC_FIRST_BUILDDIR) && \
eval $(CROSS_GCC_FIRST_PATH) $(CROSS_GCC_FIRST_ENV) \
$(CROSS_GCC_FIRST_DIR)/configure $(CROSS_GCC_FIRST_AUTOCONF)
diff --git a/rules/cross-gcc-second.in b/rules/cross-gcc-second.in
index b5a0f12..e46a074 100644
--- a/rules/cross-gcc-second.in
+++ b/rules/cross-gcc-second.in
@@ -2,4 +2,4 @@
config CROSS_GCC_SECOND
bool
- select GLIBC
+ select LIBC
diff --git a/rules/cross-gcc-second.make b/rules/cross-gcc-second.make
index 63ec7ff..5291752 100644
--- a/rules/cross-gcc-second.make
+++ b/rules/cross-gcc-second.make
@@ -37,8 +37,6 @@ cross-gcc-second_extract: $(STATEDIR)/cross-gcc-second.extract
$(STATEDIR)/cross-gcc-second.extract: $(STATEDIR)/cross-gcc-first.extract
@$(call targetinfo, $@)
- @$(call clean, $(CROSS_GCC_SECOND_BUILDDIR))
- mkdir -p $(CROSS_GCC_SECOND_BUILDDIR)
@$(call touch, $@)
# ----------------------------------------------------------------------------
@@ -66,6 +64,8 @@ CROSS_GCC_SECOND_AUTOCONF = \
$(STATEDIR)/cross-gcc-second.prepare:
@$(call targetinfo, $@)
+ @$(call clean, $(CROSS_GCC_SECOND_BUILDDIR))
+ mkdir -p $(CROSS_GCC_SECOND_BUILDDIR)
cd $(CROSS_GCC_SECOND_BUILDDIR) && eval \
$(CROSS_GCC_SECOND_PATH) $(CROSS_GCC_SECOND_ENV) \
$(CROSS_GCC_FIRST_DIR)/configure $(CROSS_GCC_SECOND_AUTOCONF)
diff --git a/rules/cross-gcc.in b/rules/cross-gcc.in
new file mode 100644
index 0000000..f399d10
--- /dev/null
+++ b/rules/cross-gcc.in
@@ -0,0 +1,39 @@
+# config for cross-gcc-first
+
+menuconfig CROSS_GCC_FIRST
+ bool
+ prompt "gcc (first) "
+ select CROSS_BINUTILS
+ select LIBC_HEADERS
+
+config CROSS_GCC_VERSION
+ depends on CROSS_GCC_FIRST
+ string
+ prompt "gcc version"
+ default "4.1.2"
+ help
+ Specify the version of gcc here.
+
+config CROSS_GCC_FIRST_SERIES
+ depends on CROSS_GCC_FIRST
+ string
+ prompt "gcc patch series file"
+
+config CROSS_GCC_LANG
+ depends on CROSS_GCC_FIRST
+ string
+ prompt "languages"
+ default "c,c++"
+
+config CROSS_GCC_EXTRA_CONFIG
+ depends on CROSS_GCC_FIRST
+ string
+ prompt "extra configure options"
+ help
+ Add these extra options to the gcc configure script.
+
+config CROSS_GCC_SECOND
+ bool
+ select LIBC
+ prompt "gcc (second) "
+
diff --git a/rules/glibc.in b/rules/glibc.in
index 938880b..cc26c55 100644
--- a/rules/glibc.in
+++ b/rules/glibc.in
@@ -5,6 +5,7 @@ menuconfig GLIBC
select GLIBC_PORTS if GLIBC_ADDON_NPTL && ( ARCH_ARM || ARCH_MIPS )
select GLIBC_LINUXTHREADS if GLIBC_ADDON_LINUXTHREADS
select CROSS_GCC_FIRST
+ select LIBC_NEEDS_KERNEL_HEADERS
prompt "glibc "
config GLIBC_VERSION
diff --git a/rules/glibc.make b/rules/glibc.make
index 444bada..21c3076 100644
--- a/rules/glibc.make
+++ b/rules/glibc.make
@@ -48,7 +48,6 @@ glibc_extract: $(STATEDIR)/glibc.extract
$(STATEDIR)/glibc.extract:
@$(call targetinfo, $@)
@$(call clean, $(GLIBC_DIR))
- @$(call clean, $(GLIBC_BUILDDIR))
@$(call extract, GLIBC, $(BUILDDIR_DEBUG))
@$(call patchin, GLIBC, $(GLIBC_DIR))
@@ -60,7 +59,6 @@ ifdef PTXCONF_GLIBC_PORTS
mkdir -p $(GLIBC_DIR)/ports
cp -r $(GLIBC_PORTS_DIR)/* $(GLIBC_DIR)/ports
endif
- mkdir -p $(GLIBC_BUILDDIR)
@$(call touch, $@)
# ----------------------------------------------------------------------------
@@ -134,6 +132,8 @@ GLIBC_AUTOCONF := \
$(STATEDIR)/glibc.prepare:
@$(call targetinfo, $@)
+ mkdir -p $(GLIBC_BUILDDIR)
+ @$(call clean, $(GLIBC_BUILDDIR))
cd $(GLIBC_BUILDDIR) && \
eval $(GLIBC_ENV) $(GLIBC_PATH) \
$(GLIBC_DIR)/configure $(GLIBC_AUTOCONF)
diff --git a/rules/kernel-headers.in b/rules/kernel-headers.in
index f5fa3a7..a1d75f4 100644
--- a/rules/kernel-headers.in
+++ b/rules/kernel-headers.in
@@ -1,6 +1,7 @@
# config for kernel-headers
menuconfig KERNEL_HEADERS
+ depends on LIBC_NEEDS_KERNEL_HEADERS
bool
prompt "kernel "
diff --git a/rules/libc-headers.make b/rules/libc-headers.make
new file mode 100644
index 0000000..31a67e7
--- /dev/null
+++ b/rules/libc-headers.make
@@ -0,0 +1,84 @@
+# -*-makefile-*-
+# $Id: template 6001 2006-08-12 10:15:00Z mkl $
+#
+# Copyright (C) 2006 by Marc Kleine-Budde <mkl@pengutronix.de>
+#
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_LIBC_HEADERS) += libc_headers
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+libc_headers_get: $(STATEDIR)/libc_headers.get
+
+$(STATEDIR)/libc_headers.get:
+ @$(call targetinfo, $@)
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Extract
+# ----------------------------------------------------------------------------
+
+libc_headers_extract: $(STATEDIR)/libc_headers.extract
+
+$(STATEDIR)/libc_headers.extract: $(libc_headers_extract_deps_default)
+ @$(call targetinfo, $@)
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+libc_headers_prepare: $(STATEDIR)/libc_headers.prepare
+
+$(STATEDIR)/libc_headers.prepare: $(libc_headers_prepare_deps_default)
+ @$(call targetinfo, $@)
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+libc_headers_compile: $(STATEDIR)/libc_headers.compile
+
+$(STATEDIR)/libc_headers.compile: $(libc_headers_compile_deps_default)
+ @$(call targetinfo, $@)
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+libc_headers_install: $(STATEDIR)/libc_headers.install
+
+$(STATEDIR)/libc_headers.install: $(libc_headers_install_deps_default)
+ @$(call targetinfo, $@)
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+libc_headers_targetinstall: $(STATEDIR)/libc_headers.targetinstall
+
+$(STATEDIR)/libc_headers.targetinstall: $(libc_headers_targetinstall_deps_default)
+ @$(call targetinfo, $@)
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Clean
+# ----------------------------------------------------------------------------
+
+libc_headers_clean:
+ rm -rf $(STATEDIR)/libc_headers.*
+
+# vim: syntax=make
diff --git a/rules/libc.in b/rules/libc.in
new file mode 100644
index 0000000..2ee5d41
--- /dev/null
+++ b/rules/libc.in
@@ -0,0 +1,34 @@
+config LIBC_NEEDS_KERNEL_HEADERS
+ bool
+
+config LIBC_HEADERS
+ bool
+ select GLIBC_HEADERS if LIBC_GLIBC
+ select UCLIBC_HEADERS if LIBC_UCLIBC
+
+config LIBC
+ bool
+ select GLIBC if LIBC_GLIBC
+ select UCLIBC if LIBC_UCLIBC
+ select NEWLIB if LIBC_NEWLIB
+
+choice
+ prompt "C library"
+ default LIBC_GLIBC
+
+ config LIBC_GLIBC
+# select GLIBC
+ bool
+ prompt "glibc"
+
+ config LIBC_UCLIBC
+# select UCLIBC
+ bool
+ prompt "uClibc"
+
+ config LIBC_NEWLIB
+# select NEWLIB
+ bool
+ prompt "newlib"
+
+endchoice
diff --git a/rules/libc.make b/rules/libc.make
new file mode 100644
index 0000000..961ceb9
--- /dev/null
+++ b/rules/libc.make
@@ -0,0 +1,84 @@
+# -*-makefile-*-
+# $Id: template 6001 2006-08-12 10:15:00Z mkl $
+#
+# Copyright (C) 2006 by Marc Kleine-Budde <mkl@pengutronix.de>
+#
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_LIBC) += libc
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+libc_get: $(STATEDIR)/libc.get
+
+$(STATEDIR)/libc.get:
+ @$(call targetinfo, $@)
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Extract
+# ----------------------------------------------------------------------------
+
+libc_extract: $(STATEDIR)/libc.extract
+
+$(STATEDIR)/libc.extract:
+ @$(call targetinfo, $@)
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+libc_prepare: $(STATEDIR)/libc.prepare
+
+$(STATEDIR)/libc.prepare: $(libc_prepare_deps_default)
+ @$(call targetinfo, $@)
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+libc_compile: $(STATEDIR)/libc.compile
+
+$(STATEDIR)/libc.compile: $(libc_compile_deps_default)
+ @$(call targetinfo, $@)
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+libc_install: $(STATEDIR)/libc.install
+
+$(STATEDIR)/libc.install: $(libc_install_deps_default)
+ @$(call targetinfo, $@)
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+libc_targetinstall: $(STATEDIR)/libc.targetinstall
+
+$(STATEDIR)/libc.targetinstall: $(libc_targetinstall_deps_default)
+ @$(call targetinfo, $@)
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Clean
+# ----------------------------------------------------------------------------
+
+libc_clean:
+ rm -rf $(STATEDIR)/libc.*
+
+# vim: syntax=make
diff --git a/rules/uclibc-headers.make b/rules/uclibc-headers.make
new file mode 100644
index 0000000..e0fe4d2
--- /dev/null
+++ b/rules/uclibc-headers.make
@@ -0,0 +1,96 @@
+# -*-makefile-*-
+# $Id: template 6001 2006-08-12 10:15:00Z mkl $
+#
+# Copyright (C) 2006, 2007 by Marc Kleine-Budde <mkl@pengutronix.de>
+#
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_UCLIBC_HEADERS) += uclibc_headers
+
+UCLIBC_HEADERS_DIR = $(UCLIBC_DIR)
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+uclibc_headers_get: $(STATEDIR)/uclibc_headers.get
+
+$(STATEDIR)/uclibc_headers.get: $(STATEDIR)/uclibc.get
+ @$(call targetinfo, $@)
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Extract
+# ----------------------------------------------------------------------------
+
+uclibc_headers_extract: $(STATEDIR)/uclibc_headers.extract
+
+$(STATEDIR)/uclibc_headers.extract: $(STATEDIR)/uclibc.extract
+ @$(call targetinfo, $@)
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+uclibc_headers_prepare: $(STATEDIR)/uclibc_headers.prepare
+
+UCLIBC_HEADERS_PATH := PATH=$(CROSS_PATH)
+UCLIBC_HEADERS_ENV := $(CROSS_ENV)
+
+$(STATEDIR)/uclibc_headers.prepare:
+ @$(call targetinfo, $@)
+ cp $(PTXDIST_WORKSPACE)/uclibc.config $(UCLIBC_HEADERS_DIR)/.config
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+uclibc_headers_compile: $(STATEDIR)/uclibc_headers.compile
+
+$(STATEDIR)/uclibc_headers.compile:
+ @$(call targetinfo, $@)
+ yes "" | make -C $(UCLIBC_HEADERS_DIR) oldconfig
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+uclibc_headers_install: $(STATEDIR)/uclibc_headers.install
+
+$(STATEDIR)/uclibc_headers.install:
+ @$(call targetinfo, $@)
+ cd $(UCLIBC_HEADERS_DIR) && \
+ $(UCLIBC_HEADERS_PATH) $(UCLIBC_HEADERS_ENV) \
+ $(MAKE) pregen install_dev DEVEL_PREFIX=/usr/ PREFIX=$(SYSROOT) KERNEL_SOURCE=$(SYSROOT)/usr
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+uclibc_headers_targetinstall: $(STATEDIR)/uclibc_headers.targetinstall
+
+$(STATEDIR)/uclibc_headers.targetinstall:
+ @$(call targetinfo, $@)
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Clean
+# ----------------------------------------------------------------------------
+
+uclibc_headers_clean:
+ rm -rf $(STATEDIR)/uclibc_headers.*
+ rm -rf $(IMAGEDIR)/uclibc_headers_*
+ rm -rf $(UCLIBC_HEADERS_DIR)
+
+# vim: syntax=make
diff --git a/rules/uclibc.in b/rules/uclibc.in
new file mode 100644
index 0000000..39803fc
--- /dev/null
+++ b/rules/uclibc.in
@@ -0,0 +1,18 @@
+# config for uclibc
+
+menuconfig UCLIBC
+ bool
+ prompt "uclibc "
+ select LIBC_NEEDS_KERNEL_HEADERS
+
+config UCLIBC_VERSION
+ depends on UCLIBC
+ string
+ prompt "uclibc version"
+ default "0.9.28"
+ help
+ Specify the uclibc version here.
+
+config UCLIBC_HEADERS
+ bool
+ select KERNEL_HEADERS
diff --git a/rules/uclibc.make b/rules/uclibc.make
new file mode 100644
index 0000000..d9f33db
--- /dev/null
+++ b/rules/uclibc.make
@@ -0,0 +1,113 @@
+# -*-makefile-*-
+# $Id: template 6001 2006-08-12 10:15:00Z mkl $
+#
+# Copyright (C) 2006 by Marc Kleine-Budde <mkl@pengutronix.de>
+#
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_UCLIBC) += uclibc
+
+#
+# Paths and names
+#
+UCLIBC_VERSION := 0.9.28
+UCLIBC := uClibc-$(UCLIBC_VERSION)
+UCLIBC_SUFFIX := tar.bz2
+UCLIBC_URL := http://www.uclibc.org/downloads/$(UCLIBC).$(UCLIBC_SUFFIX)
+UCLIBC_SOURCE := $(SRCDIR)/$(UCLIBC).$(UCLIBC_SUFFIX)
+UCLIBC_DIR := $(BUILDDIR)/$(UCLIBC)
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+uclibc_get: $(STATEDIR)/uclibc.get
+
+$(STATEDIR)/uclibc.get:
+ @$(call targetinfo, $@)
+ @$(call touch, $@)
+
+$(UCLIBC_SOURCE):
+ @$(call targetinfo, $@)
+ @$(call get, UCLIBC)
+
+# ----------------------------------------------------------------------------
+# Extract
+# ----------------------------------------------------------------------------
+
+uclibc_extract: $(STATEDIR)/uclibc.extract
+
+$(STATEDIR)/uclibc.extract:
+ @$(call targetinfo, $@)
+ @$(call clean, $(UCLIBC_DIR))
+ @$(call extract, UCLIBC)
+ @$(call patchin, UCLIBC)
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+uclibc_prepare: $(STATEDIR)/uclibc.prepare
+
+UCLIBC_PATH := PATH=$(CROSS_PATH)
+UCLIBC_ENV := $(CROSS_ENV)
+
+#
+# autoconf
+#
+UCLIBC_AUTOCONF := $(CROSS_AUTOCONF_USR)
+
+$(STATEDIR)/uclibc.prepare:
+ @$(call targetinfo, $@)
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+uclibc_compile: $(STATEDIR)/uclibc.compile
+
+$(STATEDIR)/uclibc.compile:
+ @$(call targetinfo, $@)
+ cd $(UCLIBC_DIR) && $(UCLIBC_PATH) $(MAKE)
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+uclibc_install: $(STATEDIR)/uclibc.install
+
+$(STATEDIR)/uclibc.install:
+ @$(call targetinfo, $@)
+ @$(call install, UCLIBC)
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+uclibc_targetinstall: $(STATEDIR)/uclibc.targetinstall
+
+$(STATEDIR)/uclibc.targetinstall:
+ @$(call targetinfo, $@)
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Clean
+# ----------------------------------------------------------------------------
+
+uclibc_clean:
+ rm -rf $(STATEDIR)/uclibc.*
+ rm -rf $(IMAGEDIR)/uclibc_*
+ rm -rf $(UCLIBC_DIR)
+
+# vim: syntax=make