summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Kleine-Budde <mkl@pengutronix.de>2008-09-10 12:02:34 +0000
committerMarc Kleine-Budde <mkl@pengutronix.de>2008-09-10 12:02:34 +0000
commit9855c1ec06c4436b64226368ee9dcba05ca8f865 (patch)
tree1710f6f48df4eaadf470a9046dacbeb1786581b7
parent54dd6b7415dda158068ff26e3b93d1e2f6487f78 (diff)
downloadOSELAS.Toolchain-9855c1ec06c4436b64226368ee9dcba05ca8f865.tar.gz
OSELAS.Toolchain-9855c1ec06c4436b64226368ee9dcba05ca8f865.tar.xz
git-svn-id: https://svn.pengutronix.de/svn/oselas/toolchain/trunks/OSELAS.Toolchain-trunk@7411 f8d472c7-5700-0410-ac5a-87979cec3adf
-rw-r--r--rules/cross-binutils.make1
-rw-r--r--rules/uclibc-headers.make27
-rw-r--r--rules/uclibc.make58
3 files changed, 53 insertions, 33 deletions
diff --git a/rules/cross-binutils.make b/rules/cross-binutils.make
index ddf46c9..2f94eae 100644
--- a/rules/cross-binutils.make
+++ b/rules/cross-binutils.make
@@ -26,6 +26,7 @@ CROSS_BINUTILS_BUILDDIR := $(CROSS_BUILDDIR)/$(CROSS_BINUTILS)-build
CROSS_BINUTILS_URL := \
$(PTXCONF_SETUP_GNUMIRROR)/binutils/$(CROSS_BINUTILS).$(CROSS_BINUTILS_SUFFIX) \
+ ftp://sources.redhat.com/pub/binutils/snapshots/$(CROSS_BINUTILS).$(CROSS_BINUTILS_SUFFIX) \
http://www.kernel.org/pub/linux/devel/binutils/$(CROSS_BINUTILS).$(CROSS_BINUTILS_SUFFIX)
# ----------------------------------------------------------------------------
diff --git a/rules/uclibc-headers.make b/rules/uclibc-headers.make
index f2ee5bc..a9c8ae1 100644
--- a/rules/uclibc-headers.make
+++ b/rules/uclibc-headers.make
@@ -34,8 +34,30 @@ $(STATEDIR)/uclibc-headers.extract: $(STATEDIR)/uclibc.extract
# Prepare
# ----------------------------------------------------------------------------
-$(STATEDIR)/uclibc-headers.prepare: $(STATEDIR)/uclibc.prepare
+$(UCLIBC_CONFIG):
+ @echo
+ @echo "**************************************************************************"
+ @echo "**** Please generate a uclibc config with 'ptxdist menuconfig uclibc' ****"
+ @echo "**************************************************************************"
+ @echo
+ @echo
+ @exit 1
+
+$(STATEDIR)/uclibc-headers.prepare: $(UCLIBC_CONFIG)
@$(call targetinfo)
+
+ @if [ -f $(UCLIBC_CONFIG) ]; then \
+ echo "Using uclibc config file: $(UCLIBC_CONFIG)"; \
+ install -m 644 $(UCLIBC_CONFIG) $(UCLIBC_DIR)/.config; \
+ else \
+ echo "ERROR: No such uclibc config: $(UCLIBC_CONFIG)"; \
+ exit 1; \
+ fi
+
+ cd $(UCLIBC_DIR) && yes "" | \
+ $(UCLIBC_PATH) $(UCLIBC_ENV) $(MAKE) \
+ $(UCLIBC_MAKEVARS) oldconfig
+
@$(call touch)
# ----------------------------------------------------------------------------
@@ -55,7 +77,7 @@ $(STATEDIR)/uclibc-headers.install:
cd $(UCLIBC_DIR) && \
$(UCLIBC_PATH) $(UCLIBC_ENV) \
$(MAKE) $(UCLIBC_MAKEVARS) \
- pregen install_dev DEVEL_PREFIX=/usr/ PREFIX=$(SYSROOT) KERNEL_SOURCE=$(SYSROOT)/usr
+ headers install_dev #pregen install_headers
@$(call touch)
# ----------------------------------------------------------------------------
@@ -72,7 +94,6 @@ $(STATEDIR)/uclibc-headers.targetinstall:
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.make b/rules/uclibc.make
index 7e7f4b9..24d79c0 100644
--- a/rules/uclibc.make
+++ b/rules/uclibc.make
@@ -1,7 +1,7 @@
# -*-makefile-*-
# $Id: template 6001 2006-08-12 10:15:00Z mkl $
#
-# Copyright (C) 2006 by Marc Kleine-Budde <mkl@pengutronix.de>
+# Copyright (C) 2006, 2008 by Marc Kleine-Budde <mkl@pengutronix.de>
#
# See CREDITS for details about who has contributed to this project.
#
@@ -18,20 +18,12 @@ PACKAGES-$(PTXCONF_UCLIBC) += uclibc
# Paths and names
#
UCLIBC_VERSION := $(call remove_quotes,$(PTXCONF_UCLIBC_VERSION))
-ifneq ($(PTXCONF_UCLIBC_RELEASE),"")
-UCLIBC_VERSION := $(UCLIBC_VERSION).$(call remove_quotes,$(PTXCONF_UCLIBC_RELEASE))
-endif
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)
-
-uclibc_fix_config = \
- echo 'KERNEL_SOURCE="$(SYSROOT)/usr"' >> $(1); \
- echo 'SHARED_LIB_LOADER_PREFIX="/lib"' >> $(1); \
- echo 'RUNTIME_PREFIX="/"' >> $(1); \
- echo 'DEVEL_PREFIX=$(CROSS_LIB_DIR)' >> $(1);
+UCLIBC_CONFIG := $(call remove_quotes, $(PTXDIST_PLATFORMCONFIGDIR)/config/$(PTXCONF_UCLIBC_CONFIG))
# ----------------------------------------------------------------------------
@@ -43,34 +35,23 @@ $(UCLIBC_SOURCE):
@$(call get, UCLIBC)
# ----------------------------------------------------------------------------
-# Extract
-# ----------------------------------------------------------------------------
-
-$(STATEDIR)/uclibc.extract:
- @$(call targetinfo)
- @$(call clean, $(UCLIBC_DIR))
- @$(call extract, UCLIBC)
- @$(call patchin, UCLIBC)
- @$(call touch)
-
-# ----------------------------------------------------------------------------
# Prepare
# ----------------------------------------------------------------------------
UCLIBC_PATH := PATH=$(CROSS_PATH)
-UCLIBC_ENV := $(CROSS_ENV)
+UCLIBC_ENV := KCONFIG_NOTIMESTAMP=1 $(HOST_ENV_CC)
UCLIBC_MAKEVARS := \
- CROSS=$(COMPILER_PREFIX)
+ CROSS=$(COMPILER_PREFIX) \
+ HOSTCC="$(HOSTCC)" \
+ DEVEL_PREFIX=/usr/ \
+ PREFIX=$(SYSROOT) \
+ KERNEL_SOURCE=$(SYSROOT)/usr \
+ RUNTIME_PREFIX=/ \
+ SHARED_LIB_LOADER_PREFIX=/lib
$(STATEDIR)/uclibc.prepare:
@$(call targetinfo)
- grep -e PTXCONF_UC_ $(PTXDIST_WORKSPACE)/ptxconfig | \
- sed -e 's/PTXCONF_UC_//g' > $(UCLIBC_DIR)/.config
- @$(call uclibc_fix_config, $(UCLIBC_DIR)/.config)
- yes "" | $(UCLIBC_PATH) $(MAKE) -C $(UCLIBC_DIR) \
- $(UCLIBC_MAKEVARS) \
- oldconfig
@$(call touch)
# ----------------------------------------------------------------------------
@@ -107,7 +88,24 @@ $(STATEDIR)/uclibc.targetinstall:
uclibc_clean:
rm -rf $(STATEDIR)/uclibc.*
- rm -rf $(IMAGEDIR)/uclibc_*
rm -rf $(UCLIBC_DIR)
+# ----------------------------------------------------------------------------
+# oldconfig / menuconfig
+# ----------------------------------------------------------------------------
+
+uclibc_oldconfig uclibc_menuconfig: $(STATEDIR)/uclibc.extract
+ @if test -e $(UCLIBC_CONFIG); then \
+ cp $(UCLIBC_CONFIG) $(UCLIBC_DIR)/.config; \
+ fi
+
+ @cd $(UCLIBC_DIR) && \
+ $(UCLIBC_PATH) $(UCLIBC_ENV) $(MAKE) $(UCLIBC_MAKEVARS) $(subst uclibc_,,$@)
+
+ @if cmp -s $(UCLIBC_DIR)/.config $(UCLIBC_CONFIG); then \
+ echo "uclibc configuration unchanged"; \
+ else \
+ cp $(UCLIBC_DIR)/.config $(UCLIBC_CONFIG); \
+ fi
+
# vim: syntax=make