diff options
author | Marc Kleine-Budde <mkl@pengutronix.de> | 2008-09-10 12:02:34 +0000 |
---|---|---|
committer | Marc Kleine-Budde <mkl@pengutronix.de> | 2008-09-10 12:02:34 +0000 |
commit | 9855c1ec06c4436b64226368ee9dcba05ca8f865 (patch) | |
tree | 1710f6f48df4eaadf470a9046dacbeb1786581b7 | |
parent | 54dd6b7415dda158068ff26e3b93d1e2f6487f78 (diff) | |
download | OSELAS.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.make | 1 | ||||
-rw-r--r-- | rules/uclibc-headers.make | 27 | ||||
-rw-r--r-- | rules/uclibc.make | 58 |
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 |