Update buildroot for uClibc 0.9.16
-Erik
This commit is contained in:
parent
99ba66f344
commit
1800964779
@ -42,10 +42,10 @@ GENEXT2_ADDTOROOTSIZE := 256
|
||||
# by genext2fs
|
||||
GENEXT2_MAXROOTSIZE := 8192
|
||||
|
||||
GENEXT2_REALSIZE:=$(subst total,, $(shell du $(TARGET_DIR) -s -c -k | grep total ))
|
||||
GENEXT2_SIZE:=$(shell expr $(GENEXT2_REALSIZE) + $(GENEXT2_ADDTOROOTSIZE))
|
||||
GENEXT2_REALSIZE=$(subst total,, $(shell du $(TARGET_DIR) -s -c -k | grep total ))
|
||||
GENEXT2_SIZE=$(shell expr $(GENEXT2_REALSIZE) + $(GENEXT2_ADDTOROOTSIZE))
|
||||
# We currently add about 400 device nodes, so add that into the total
|
||||
GENEXT2_INODES:=$(shell expr $(shell find $(TARGET_DIR) | wc -l) + 400)
|
||||
GENEXT2_INODES=$(shell expr $(shell find $(TARGET_DIR) | wc -l) + 400)
|
||||
|
||||
#ifeq (1,$(shell expr $(GENEXT2_SIZE) \> $(GENEXT2_MAXROOTSIZE)))
|
||||
# $(error "Filesystem size, $(GENEXT2_SIZE) KB is greater than the maximum $(GENEXT2_MAXROOTSIZE) KB")
|
||||
|
135
make/gcc_target.mk
Normal file
135
make/gcc_target.mk
Normal file
@ -0,0 +1,135 @@
|
||||
# Makefile for to build a gcc/uClibc toolchain linked vs uClibc
|
||||
#
|
||||
# Copyright (C) 2002 Erik Andersen <andersen@uclibc.org>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
#############################################################
|
||||
#
|
||||
# You should probably leave this stuff alone unless you are
|
||||
# hacking on the toolchain...
|
||||
#
|
||||
#############################################################
|
||||
GNU_TARGET_NAME:=$(ARCH)-linux
|
||||
MAKE:=make
|
||||
|
||||
#############################################################
|
||||
#
|
||||
# Where we can find things....
|
||||
#
|
||||
# for various dependancy reasons, these need to live
|
||||
# here at the top... Easier to find things here anyways...
|
||||
#
|
||||
#############################################################
|
||||
BINUTILS_DIR2:=$(BUILD_DIR)/binutils-target
|
||||
GCC_BUILD_DIR3:=$(BUILD_DIR)/gcc-target
|
||||
|
||||
|
||||
#############################################################
|
||||
#
|
||||
# build binutils
|
||||
#
|
||||
#############################################################
|
||||
$(BINUTILS_DIR2)/.configured:
|
||||
mkdir -p $(BINUTILS_DIR2)
|
||||
(cd $(BINUTILS_DIR2); PATH=$$PATH:$(STAGING_DIR)/bin CC=$(TARGET_CROSS)gcc \
|
||||
$(BINUTILS_DIR)/configure --enable-shared \
|
||||
--target=$(GNU_TARGET_NAME) --prefix=/usr \
|
||||
--enable-targets=$(GNU_TARGET_NAME) \
|
||||
--program-prefix="");
|
||||
touch $(BINUTILS_DIR2)/.configured
|
||||
|
||||
$(BINUTILS_DIR2)/binutils/objdump: $(BINUTILS_DIR2)/.configured
|
||||
$(MAKE) tooldir=$(TARGET_DIR) -C $(BINUTILS_DIR2);
|
||||
|
||||
$(TARGET_DIR)/$(GNU_TARGET_NAME)/bin/ld: $(BINUTILS_DIR2)/binutils/objdump
|
||||
$(MAKE) DESTDIR=$(TARGET_DIR) prefix=$(TARGET_DIR)/usr \
|
||||
bindir=$(TARGET_DIR)/usr/bin -C $(BINUTILS_DIR2) install
|
||||
rm -rf $(TARGET_DIR)/usr/info $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share
|
||||
|
||||
$(TARGET_DIR)/usr/lib/libg.a:
|
||||
$(STAGING_DIR)/$(GNU_TARGET_NAME)/bin/ar rv $(TARGET_DIR)/usr/lib/libg.a;
|
||||
|
||||
binutils_target: gcc_final $(TARGET_DIR)/$(GNU_TARGET_NAME)/bin/ld $(TARGET_DIR)/usr/lib/libg.a
|
||||
|
||||
binutils_target-clean:
|
||||
rm -f $(TARGET_DIR)/bin/$(GNU_TARGET_NAME)*
|
||||
-$(MAKE) -C $(BINUTILS_DIR2) clean
|
||||
|
||||
binutils_target-dirclean:
|
||||
rm -rf $(BINUTILS_DIR2)
|
||||
|
||||
|
||||
|
||||
|
||||
#############################################################
|
||||
#
|
||||
# uClibc just needs its header files and whatnot installed.
|
||||
#
|
||||
#############################################################
|
||||
|
||||
$(TARGET_DIR)/lib/libc.a: $(STAGING_DIR)/lib/libc.a
|
||||
$(MAKE) DEVEL_PREFIX=$(TARGET_DIR)/usr SYSTEM_DEVEL_PREFIX=$(TARGET_DIR) \
|
||||
DEVEL_TOOL_PREFIX=$(TARGET_DIR) -C $(UCLIBC_DIR) \
|
||||
install_dev
|
||||
rm -rf $(TARGET_DIR)/include
|
||||
|
||||
uclibc_target: gcc_final $(TARGET_DIR)/lib/libc.a
|
||||
|
||||
uclibc_target-clean:
|
||||
rm -f $(TARGET_DIR)/include
|
||||
|
||||
uclibc_target-dirclean:
|
||||
rm -f $(TARGET_DIR)/include
|
||||
|
||||
|
||||
|
||||
#############################################################
|
||||
#
|
||||
# Next build target gcc compiler
|
||||
#
|
||||
#############################################################
|
||||
$(GCC_BUILD_DIR3)/.configured:
|
||||
mkdir -p $(GCC_BUILD_DIR3)
|
||||
(cd $(GCC_BUILD_DIR3); PATH=$$PATH:$(STAGING_DIR)/bin AR=$(TARGET_CROSS)ar \
|
||||
RANLIB=$(TARGET_CROSS)ranlib LD=$(TARGET_CROSS)ld CC=$(TARGET_CROSS)gcc \
|
||||
$(GCC_DIR)/configure \
|
||||
--target=$(GNU_TARGET_NAME) --prefix=/usr --includedir=$(STAGING_DIR) \
|
||||
--enable-target-optspace --disable-nls --with-gnu-ld \
|
||||
--enable-shared --enable-languages=c,c++ );
|
||||
touch $(GCC_BUILD_DIR3)/.configured
|
||||
|
||||
$(GCC_BUILD_DIR3)/.compiled: $(GCC_BUILD_DIR3)/.configured
|
||||
PATH=$$PATH:$(STAGING_DIR)/bin $(MAKE) -C $(GCC_BUILD_DIR3)
|
||||
touch $(GCC_BUILD_DIR3)/.compiled
|
||||
|
||||
$(GCC_BUILD_DIR3)/.installed: $(GCC_BUILD_DIR3)/.compiled
|
||||
PATH=$$PATH:$(STAGING_DIR)/bin $(MAKE) DESTDIR=$(TARGET_DIR) prefix=$(TARGET_DIR)/usr \
|
||||
-C $(GCC_BUILD_DIR3) install;
|
||||
touch $(GCC_BUILD_DIR3)/.installed
|
||||
|
||||
$(GCC_BUILD_DIR3)/.stripped: $(GCC_BUILD_DIR3)/.installed
|
||||
-strip --strip-all -R .note -R .comment $(TARGET_DIR)/bin/*
|
||||
touch $(BUILD_DIR)/.stripped
|
||||
|
||||
gcc_target: uclibc_target binutils_target $(GCC_BUILD_DIR3)/.stripped
|
||||
|
||||
gcc_target-clean:
|
||||
rm -rf $(GCC_BUILD_DIR3)
|
||||
rm -f $(TARGET_DIR)/bin/$(GNU_TARGET_NAME)*
|
||||
|
||||
gcc_target-dirclean:
|
||||
rm -rf $(GCC_BUILD_DIR3)
|
||||
|
@ -29,8 +29,8 @@ UCLIBC_DIR=$(BUILD_DIR)/uClibc
|
||||
UCLIBC_SOURCE=uClibc-snapshot.tar.bz2
|
||||
UCLIBC_SITE:=ftp://www.uclibc.org/uClibc
|
||||
else
|
||||
UCLIBC_DIR:=$(BUILD_DIR)/uClibc-0.9.15
|
||||
UCLIBC_SOURCE:=uClibc-0.9.15.tar.bz2
|
||||
UCLIBC_DIR:=$(BUILD_DIR)/uClibc-0.9.16
|
||||
UCLIBC_SOURCE:=uClibc-0.9.16.tar.bz2
|
||||
UCLIBC_SITE:=http://www.kernel.org/pub/linux/libs/uclibc
|
||||
endif
|
||||
#UCLIBC_PATCH=$(SOURCE_DIR)/uClibc.patch
|
||||
@ -39,9 +39,6 @@ LARGEFILE=true
|
||||
else
|
||||
LARGEFILE=false
|
||||
endif
|
||||
ifneq ($(CROSS),)
|
||||
CROSSARG:=--cross="$(CROSS)"
|
||||
endif
|
||||
|
||||
$(DL_DIR)/$(UCLIBC_SOURCE):
|
||||
wget -P $(DL_DIR) --passive-ftp $(UCLIBC_SITE)/$(UCLIBC_SOURCE)
|
||||
@ -56,34 +53,18 @@ ifeq ($(LINUX_DIR),)
|
||||
LINUX_DIR:=$(BUILD_DIR)/linux
|
||||
endif
|
||||
|
||||
$(UCLIBC_DIR)/Config: $(UCLIBC_DIR)/.unpacked
|
||||
cp $(UCLIBC_DIR)/extra/Configs/Config.$(ARCH) $(UCLIBC_DIR)/Config~;
|
||||
echo "TARGET_ARCH=$(ARCH)" >> $(UCLIBC_DIR)/Config~
|
||||
$(UCLIBC_DIR)/extra/Configs/uClibc_config_fix.pl \
|
||||
--arch=$(ARCH) \
|
||||
$(CROSSARG) --c99_math=true \
|
||||
--devel_prefix=$(STAGING_DIR) \
|
||||
--kernel_dir=$(LINUX_DIR) \
|
||||
--float=true \
|
||||
--c99_math=true \
|
||||
--float=true \
|
||||
--shadow=true \
|
||||
--threads=true \
|
||||
--rpc_support=true \
|
||||
--large_file=true \
|
||||
--mmu=true \
|
||||
--debug=false \
|
||||
--ldso_path="/lib" \
|
||||
--shared_support=true \
|
||||
--file=$(UCLIBC_DIR)/Config~ \
|
||||
> $(UCLIBC_DIR)/Config;
|
||||
perl -i -p -e 's,^SYSTEM_DEVEL_PREFIX.*,SYSTEM_DEVEL_PREFIX=$(STAGING_DIR),g' \
|
||||
$(UCLIBC_DIR)/Config
|
||||
perl -i -p -e 's,^DEVEL_TOOL_PREFIX.*,DEVEL_TOOL_PREFIX=$(STAGING_DIR)/usr,g' \
|
||||
$(UCLIBC_DIR)/Config
|
||||
perl -i -p -e 's,^HAS_WCHAR.*,HAS_WCHAR=true,g' $(UCLIBC_DIR)/Config
|
||||
$(UCLIBC_DIR)/.configured: $(UCLIBC_DIR)/.unpacked
|
||||
perl -i -p -e 's,^CROSS=.*,TARGET_ARCH=$(ARCH)\nCROSS=$(TARGET_CROSS),g' $(UCLIBC_DIR)/Rules.mak
|
||||
cp $(SOURCE_DIR)/uClibc.config $(UCLIBC_DIR)/.config
|
||||
perl -i -p -e 's,^KERNEL_SOURCE=.*,KERNEL_SOURCE=\"$(LINUX_DIR)\",g' $(UCLIBC_DIR)/.config
|
||||
perl -i -p -e 's,^DEVEL_PREFIX=.*,DEVEL_PREFIX=\"$(STAGING_DIR)\",g' $(UCLIBC_DIR)/.config
|
||||
perl -i -p -e 's,^SYSTEM_DEVEL_PREFIX=.*,SYSTEM_DEVEL_PREFIX=\"$(STAGING_DIR)\",g' $(UCLIBC_DIR)/.config
|
||||
perl -i -p -e 's,^DEVEL_TOOL_PREFIX=.*,DEVEL_TOOL_PREFIX=\"$(STAGING_DIR)/usr\",g' $(UCLIBC_DIR)/.config
|
||||
perl -i -p -e 's,^SHARED_LIB_LOADER_PATH=.*,SHARED_LIB_LOADER_PATH=\"/lib\",g' $(UCLIBC_DIR)/.config
|
||||
$(MAKE) -C $(UCLIBC_DIR) oldconfig
|
||||
touch $(UCLIBC_DIR)/.configured
|
||||
|
||||
$(UCLIBC_DIR)/lib/libc.a: $(UCLIBC_DIR)/Config
|
||||
$(UCLIBC_DIR)/lib/libc.a: $(UCLIBC_DIR)/.configured
|
||||
$(MAKE) -C $(UCLIBC_DIR)
|
||||
|
||||
$(STAGING_DIR)/lib/libc.a: $(UCLIBC_DIR)/lib/libc.a
|
||||
@ -105,8 +86,8 @@ uclibc: $(LINUX_KERNEL) $(STAGING_DIR)/lib/libc.a $(TARGET_DIR)/lib/libc.so.0 $(
|
||||
|
||||
uclibc-clean:
|
||||
rm -f $(TARGET_DIR)/lib/libc.so.0
|
||||
-make -C $(UCLIBC_DIR) clean
|
||||
rm -f $(UCLIBC_DIR)/Config
|
||||
-$(MAKE) -C $(UCLIBC_DIR) clean
|
||||
rm -f $(UCLIBC_DIR)/.config
|
||||
|
||||
uclibc-dirclean:
|
||||
rm -rf $(UCLIBC_DIR)
|
||||
|
@ -26,13 +26,6 @@ ifeq ($(USE_UCLIBC_TOOLCHAIN),true)
|
||||
# C compiler for the build system
|
||||
HOSTCC:=gcc
|
||||
|
||||
# Set this to `false' if you are building for a CPU does not have
|
||||
# a memory management unit (MMU) -- i.e. an uClinux system.. If
|
||||
# you are targeting a regular Linux system, leave this "true".
|
||||
# Set Most people will leave this set to "true".
|
||||
HAS_MMU:=true
|
||||
|
||||
|
||||
#############################################################
|
||||
#
|
||||
# You should probably leave this stuff alone unless you are
|
||||
@ -42,26 +35,6 @@ HAS_MMU:=true
|
||||
GNU_TARGET_NAME:=$(ARCH)-linux
|
||||
MAKE:=make
|
||||
|
||||
NATIVE_ARCH:= ${shell uname -m | sed \
|
||||
-e 's/i.86/i386/' \
|
||||
-e 's/sparc.*/sparc/' \
|
||||
-e 's/arm.*/arm/g' \
|
||||
-e 's/m68k.*/m68k/' \
|
||||
-e 's/ppc/powerpc/g' \
|
||||
-e 's/v850.*/v850/g' \
|
||||
-e 's/sh[234].*/sh/' \
|
||||
-e 's/mips.*/mips/' \
|
||||
}
|
||||
#ifeq ($(strip $(ARCH)),$(strip $(NATIVE_ARCH)))
|
||||
#CROSSARG=
|
||||
#else
|
||||
CROSSARG=--cross=$(STAGING_DIR)/bin/$(ARCH)-uclibc-
|
||||
#endif
|
||||
ifneq ($(HAS_MMU),true)
|
||||
NOMMU:=nommu
|
||||
endif
|
||||
|
||||
|
||||
#############################################################
|
||||
#
|
||||
# Where we can find things....
|
||||
@ -73,6 +46,7 @@ endif
|
||||
BINUTILS_SITE:=ftp://ftp.gnu.org/gnu/binutils/
|
||||
BINUTILS_SOURCE:=binutils-2.12.1.tar.bz2
|
||||
BINUTILS_DIR:=$(BUILD_DIR)/binutils-2.12.1
|
||||
BINUTILS_DIR1:=$(BUILD_DIR)/binutils-build
|
||||
|
||||
ifeq ($(USE_UCLIBC_SNAPSHOT),true)
|
||||
# Be aware that this changes daily....
|
||||
@ -80,8 +54,8 @@ UCLIBC_DIR=$(BUILD_DIR)/uClibc
|
||||
UCLIBC_SOURCE=uClibc-snapshot.tar.bz2
|
||||
UCLIBC_SITE:=ftp://www.uclibc.org/uClibc
|
||||
else
|
||||
UCLIBC_DIR:=$(BUILD_DIR)/uClibc-0.9.15
|
||||
UCLIBC_SOURCE:=uClibc-0.9.15.tar.bz2
|
||||
UCLIBC_DIR:=$(BUILD_DIR)/uClibc-0.9.16
|
||||
UCLIBC_SOURCE:=uClibc-0.9.16.tar.bz2
|
||||
UCLIBC_SITE:=http://www.kernel.org/pub/linux/libs/uclibc
|
||||
endif
|
||||
|
||||
@ -147,9 +121,6 @@ $(BINUTILS_DIR)/.patched: $(BINUTILS_DIR)/.unpacked
|
||||
echo "Aborting. Reject files found."; \
|
||||
exit 1; \
|
||||
fi
|
||||
touch $(BINUTILS_DIR)/.patched
|
||||
|
||||
$(BINUTILS_DIR)/.configured: $(BINUTILS_DIR)/.patched
|
||||
@if `echo "true" | grep -r true`; then true; else \
|
||||
echo "ERROR! Your grep doesn't support the -r argument."; \
|
||||
exit 1; \
|
||||
@ -157,17 +128,21 @@ $(BINUTILS_DIR)/.configured: $(BINUTILS_DIR)/.patched
|
||||
(cd $(BINUTILS_DIR); perl -i -p -e "s,#.*define.*ELF_DYNAMIC_INTERPRETER.*\".*\"\
|
||||
,#define ELF_DYNAMIC_INTERPRETER \"/lib/ld-uClibc.so.0\",;" \
|
||||
`grep -lr "#.*define.*ELF_DYNAMIC_INTERPRETER.*\".*\"" $(BINUTILS_DIR)`);
|
||||
(cd $(BINUTILS_DIR); CC=$(HOSTCC) ./configure --disable-shared \
|
||||
touch $(BINUTILS_DIR)/.patched
|
||||
|
||||
$(BINUTILS_DIR1)/.configured: $(BINUTILS_DIR)/.patched
|
||||
mkdir -p $(BINUTILS_DIR1)
|
||||
(cd $(BINUTILS_DIR1); CC=$(HOSTCC) $(BINUTILS_DIR)/configure --disable-shared \
|
||||
--target=$(GNU_TARGET_NAME) --prefix=$(STAGING_DIR) \
|
||||
--enable-targets=$(GNU_TARGET_NAME) \
|
||||
--program-transform-name=s,^,$(ARCH)-uclibc-,);
|
||||
touch $(BINUTILS_DIR)/.configured
|
||||
touch $(BINUTILS_DIR1)/.configured
|
||||
|
||||
$(BINUTILS_DIR)/binutils/objdump: $(BINUTILS_DIR)/.configured
|
||||
$(MAKE) -C $(BINUTILS_DIR);
|
||||
$(BINUTILS_DIR1)/binutils/objdump: $(BINUTILS_DIR1)/.configured
|
||||
$(MAKE) -C $(BINUTILS_DIR1);
|
||||
|
||||
$(STAGING_DIR)/$(GNU_TARGET_NAME)/bin/ld: $(BINUTILS_DIR)/binutils/objdump
|
||||
$(MAKE) -C $(BINUTILS_DIR) install
|
||||
$(STAGING_DIR)/$(GNU_TARGET_NAME)/bin/ld: $(BINUTILS_DIR1)/binutils/objdump
|
||||
$(MAKE) -C $(BINUTILS_DIR1) install
|
||||
rm -rf $(STAGING_DIR)/info $(STAGING_DIR)/man $(STAGING_DIR)/share
|
||||
|
||||
$(STAGING_DIR)/lib/libg.a:
|
||||
@ -177,10 +152,10 @@ binutils: linux_headers $(STAGING_DIR)/$(GNU_TARGET_NAME)/bin/ld $(STAGING_DIR)/
|
||||
|
||||
binutils-clean:
|
||||
rm -f $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)*
|
||||
-$(MAKE) -C $(BINUTILS_DIR) clean
|
||||
-$(MAKE) -C $(BINUTILS_DIR1) clean
|
||||
|
||||
binutils-dirclean:
|
||||
rm -rf $(BINUTILS_DIR)
|
||||
rm -rf $(BINUTILS_DIR1)
|
||||
|
||||
|
||||
|
||||
@ -259,42 +234,25 @@ $(UCLIBC_DIR)/.unpacked: $(BUILD_DIR)/.setup $(DL_DIR)/$(UCLIBC_SOURCE)
|
||||
touch $(UCLIBC_DIR)/.unpacked
|
||||
|
||||
$(UCLIBC_DIR)/.configured: $(UCLIBC_DIR)/.unpacked
|
||||
cp $(UCLIBC_DIR)/extra/Configs/Config.$(ARCH) $(UCLIBC_DIR)/Config~;
|
||||
echo "TARGET_ARCH=$(ARCH)" >> $(UCLIBC_DIR)/Config~
|
||||
$(UCLIBC_DIR)/extra/Configs/uClibc_config_fix.pl \
|
||||
--arch=$(ARCH) \
|
||||
$(CROSSARG) --c99_math=true \
|
||||
--devel_prefix=$(STAGING_DIR) \
|
||||
--kernel_dir=$(LINUX_DIR) \
|
||||
--float=true \
|
||||
--c99_math=true \
|
||||
--float=true \
|
||||
--shadow=true \
|
||||
--threads=true \
|
||||
--rpc_support=true \
|
||||
--large_file=true \
|
||||
--mmu=$(HAS_MMU) \
|
||||
--debug=false \
|
||||
--ldso_path="/lib" \
|
||||
--shared_support=$(HAS_MMU) \
|
||||
--file=$(UCLIBC_DIR)/Config~ \
|
||||
> $(UCLIBC_DIR)/Config;
|
||||
perl -i -p -e 's,^SYSTEM_DEVEL_PREFIX.*,SYSTEM_DEVEL_PREFIX=$(STAGING_DIR),g' \
|
||||
$(UCLIBC_DIR)/Config
|
||||
perl -i -p -e 's,^DEVEL_TOOL_PREFIX.*,DEVEL_TOOL_PREFIX=$(STAGING_DIR)/usr,g' \
|
||||
$(UCLIBC_DIR)/Config
|
||||
perl -i -p -e 's,^HAS_WCHAR.*,HAS_WCHAR=false,g' $(UCLIBC_DIR)/Config
|
||||
perl -i -p -e 's,^CROSS=.*,TARGET_ARCH=$(ARCH)\nCROSS=$(TARGET_CROSS),g' $(UCLIBC_DIR)/Rules.mak
|
||||
cp $(SOURCE_DIR)/uClibc.config $(UCLIBC_DIR)/.config
|
||||
perl -i -p -e 's,^KERNEL_SOURCE=.*,KERNEL_SOURCE=\"$(LINUX_DIR)\",g' $(UCLIBC_DIR)/.config
|
||||
perl -i -p -e 's,^DEVEL_PREFIX=.*,DEVEL_PREFIX=\"$(STAGING_DIR)\",g' $(UCLIBC_DIR)/.config
|
||||
perl -i -p -e 's,^SYSTEM_DEVEL_PREFIX=.*,SYSTEM_DEVEL_PREFIX=\"$(STAGING_DIR)\",g' $(UCLIBC_DIR)/.config
|
||||
perl -i -p -e 's,^DEVEL_TOOL_PREFIX=.*,DEVEL_TOOL_PREFIX=\"$(STAGING_DIR)/usr\",g' $(UCLIBC_DIR)/.config
|
||||
perl -i -p -e 's,^SHARED_LIB_LOADER_PATH=.*,SHARED_LIB_LOADER_PATH=\"/lib\",g' $(UCLIBC_DIR)/.config
|
||||
$(MAKE) -C $(UCLIBC_DIR) oldconfig
|
||||
# Note that since the target compiler does not yet exist, we will not
|
||||
# be able to properly generate include/bits/syscall.h so we will need
|
||||
# to run part again later...
|
||||
$(MAKE) -C $(UCLIBC_DIR) headers uClibc_config install_dev;
|
||||
$(MAKE) -C $(UCLIBC_DIR) headers install_dev;
|
||||
touch $(UCLIBC_DIR)/.configured
|
||||
|
||||
# Now that we have a working target compiler, rebuild the header files for the
|
||||
# target so things like include/bits/syscall.h can actually be built this time
|
||||
# around...
|
||||
$(UCLIBC_DIR)/.config_final: $(UCLIBC_DIR)/.configured
|
||||
$(MAKE) -C $(UCLIBC_DIR) headers uClibc_config install_dev;
|
||||
$(MAKE) -C $(UCLIBC_DIR) headers install_dev;
|
||||
touch $(UCLIBC_DIR)/.config_final
|
||||
|
||||
$(UCLIBC_DIR)/lib/libc.a: $(UCLIBC_DIR)/.config_final
|
||||
@ -316,7 +274,7 @@ uclibc: gcc_initial $(STAGING_DIR)/lib/libc.a $(TARGET_DIR)/lib/libc.so.0 $(TARG
|
||||
|
||||
uclibc-clean:
|
||||
-$(MAKE) -C $(UCLIBC_DIR) clean
|
||||
rm -f $(UCLIBC_DIR)/Config
|
||||
rm -f $(UCLIBC_DIR)/.config
|
||||
|
||||
uclibc-dirclean:
|
||||
rm -rf $(UCLIBC_DIR)
|
||||
@ -391,11 +349,9 @@ $(GCC_BUILD_DIR2)/.installed: $(GCC_BUILD_DIR2)/.compiled
|
||||
|
||||
#Cleanup then mess when --program-transform-name mysteriously fails
|
||||
$(GCC_BUILD_DIR2)/.fixedup: $(GCC_BUILD_DIR2)/.installed
|
||||
ifeq ($(strip $(ARCH)),$(strip $(NATIVE_ARCH)))
|
||||
-mv $(STAGING_DIR)/bin/gcc $(STAGING_DIR)/$(GNU_TARGET_NAME)/bin;
|
||||
-mv $(STAGING_DIR)/bin/protoize $(STAGING_DIR)/$(GNU_TARGET_NAME)/bin;
|
||||
-mv $(STAGING_DIR)/bin/unprotoize $(STAGING_DIR)/$(GNU_TARGET_NAME)/bin;
|
||||
endif
|
||||
-mv $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-cpp $(STAGING_DIR)/bin/$(ARCH)-uclibc-cpp
|
||||
-mv $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-gcc $(STAGING_DIR)/bin/$(ARCH)-uclibc-gcc
|
||||
-mv $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-c++ $(STAGING_DIR)/bin/$(ARCH)-uclibc-c++
|
||||
|
@ -4,6 +4,7 @@
|
||||
#
|
||||
#############################################################
|
||||
UMLINUX_DIR=$(BUILD_DIR)/linux-2.4.19
|
||||
LINUX_DIR=$(UMLINUX_DIR)
|
||||
UMLINUX_SOURCE=linux-2.4.19.tar.bz2
|
||||
UMLINUX_SITE=http://ftp.us.kernel.org/pub/linux/kernel/v2.4
|
||||
UMLINUX_PATCH_1:=uml-patch-2.4.19-5.bz2
|
||||
|
74
sources/uClibc.config
Normal file
74
sources/uClibc.config
Normal file
@ -0,0 +1,74 @@
|
||||
#
|
||||
# Automatically generated make config: don't edit
|
||||
#
|
||||
|
||||
#
|
||||
# Target Architecture Features and Options
|
||||
#
|
||||
HAVE_ELF=y
|
||||
CONFIG_386=y
|
||||
# CONFIG_486 is not set
|
||||
# CONFIG_586 is not set
|
||||
# CONFIG_586MMX is not set
|
||||
# CONFIG_686 is not set
|
||||
# CONFIG_PENTIUMIII is not set
|
||||
# CONFIG_PENTIUM4 is not set
|
||||
# CONFIG_K6 is not set
|
||||
# CONFIG_K7 is not set
|
||||
# CONFIG_CRUSOE is not set
|
||||
# CONFIG_WINCHIPC6 is not set
|
||||
# CONFIG_WINCHIP2 is not set
|
||||
# CONFIG_CYRIXIII is not set
|
||||
UCLIBC_HAS_MMU=y
|
||||
UCLIBC_HAS_FLOATS=y
|
||||
HAS_FPU=y
|
||||
DO_C99_MATH=y
|
||||
WARNINGS="-Wall"
|
||||
KERNEL_SOURCE="/usr/src/linux"
|
||||
C_SYMBOL_PREFIX=""
|
||||
|
||||
#
|
||||
# General Library Settings
|
||||
#
|
||||
DOPIC=y
|
||||
HAVE_SHARED=y
|
||||
BUILD_UCLIBC_LDSO=y
|
||||
LDSO_LDD_SUPPORT=y
|
||||
UCLIBC_HAS_THREADS=y
|
||||
UCLIBC_HAS_LFS=y
|
||||
# MALLOC is not set
|
||||
MALLOC_930716=y
|
||||
HAS_SHADOW=y
|
||||
UCLIBC_HAS_REGEX=y
|
||||
UNIX98PTY_ONLY=y
|
||||
ASSUME_DEVPTS=y
|
||||
|
||||
#
|
||||
# Networking Support
|
||||
#
|
||||
# UCLIBC_HAS_IPV6 is not set
|
||||
UCLIBC_HAS_RPC=y
|
||||
# UCLIBC_HAS_FULL_RPC is not set
|
||||
|
||||
#
|
||||
# String and Stdio Support
|
||||
#
|
||||
UCLIBC_HAS_WCHAR=y
|
||||
# UCLIBC_HAS_LOCALE is not set
|
||||
# USE_OLD_VFPRINTF is not set
|
||||
|
||||
#
|
||||
# Library Installation Options
|
||||
#
|
||||
SHARED_LIB_LOADER_PATH="/lib"
|
||||
DEVEL_PREFIX="/usr/$(TARGET_ARCH)-linux-uclibc"
|
||||
SYSTEM_DEVEL_PREFIX="$(DEVEL_PREFIX)"
|
||||
DEVEL_TOOL_PREFIX="$(DEVEL_PREFIX)/usr"
|
||||
|
||||
#
|
||||
# uClibc hacking options
|
||||
#
|
||||
# DODEBUG is not set
|
||||
# DOASSERTS is not set
|
||||
# SUPPORT_LD_DEBUG is not set
|
||||
# SUPPORT_LD_DEBUG_EARLY is not set
|
Loading…
Reference in New Issue
Block a user