summaryrefslogtreecommitdiffstats
path: root/rules/uclibc.make
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 /rules/uclibc.make
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
Diffstat (limited to 'rules/uclibc.make')
-rw-r--r--rules/uclibc.make58
1 files changed, 28 insertions, 30 deletions
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