2002-04-26 13:45:55 +02:00
#############################################################
#
# uClibc (the C library)
#
#############################################################
2004-09-03 02:49:43 +02:00
2009-12-14 12:10:12 +01:00
i f e q ( $( BR 2_TOOLCHAIN_BUILDROOT ) , y )
2005-02-15 23:48:08 +01:00
2007-05-12 20:39:28 +02:00
# specifying UCLIBC_CONFIG_FILE on the command-line overrides the .config
# setting.
i f n d e f U C L I B C _ C O N F I G _ F I L E
2009-07-30 17:35:26 +02:00
UCLIBC_CONFIG_FILE = $( call qstrip,$( BR2_UCLIBC_CONFIG) )
2007-05-12 20:39:28 +02:00
e n d i f
2009-12-14 12:09:17 +01:00
UCLIBC_VERSION := $( call qstrip,$( BR2_UCLIBC_VERSION_STRING) )
2009-03-03 21:23:10 +01:00
2004-10-09 03:06:03 +02:00
i f e q ( $( BR 2_UCLIBC_VERSION_SNAPSHOT ) , y )
2003-02-12 10:26:13 +01:00
UCLIBC_SITE := http://www.uclibc.org/downloads/snapshots
2010-07-28 09:11:37 +02:00
UCLIBC_DIR := $( TOOLCHAIN_DIR) /uClibc
2009-12-14 11:47:55 +01:00
e l s e
2003-02-12 14:57:46 +01:00
UCLIBC_SITE := http://www.uclibc.org/downloads
2010-07-28 09:11:37 +02:00
UCLIBC_DIR := $( TOOLCHAIN_DIR) /uClibc-$( UCLIBC_VERSION)
2009-03-03 21:23:10 +01:00
e n d i f
2007-07-31 16:59:58 +02:00
UCLIBC_PATCH_DIR := toolchain/uClibc/
2009-12-14 12:09:17 +01:00
UCLIBC_SOURCE := uClibc-$( UCLIBC_VERSION) .tar.bz2
2007-01-28 13:11:37 +01:00
2006-11-17 16:43:51 +01:00
UCLIBC_CAT := $( BZCAT)
2002-04-26 13:45:55 +02:00
2007-08-12 14:37:51 +02:00
UCLIBC_TARGET_ARCH := $( shell $( SHELL) -c " echo $( ARCH) | sed \
-e 's/-.*//' \
2004-09-09 12:50:57 +02:00
-e 's/i.86/i386/' \
2003-11-05 02:10:48 +01:00
-e 's/sparc.*/sparc/' \
-e 's/arm.*/arm/g' \
-e 's/m68k.*/m68k/' \
-e 's/ppc/powerpc/g' \
-e 's/v850.*/v850/g' \
2004-12-11 10:56:58 +01:00
-e 's/sh[234].*/sh/' \
2003-11-05 02:10:48 +01:00
-e 's/mips.*/mips/' \
-e 's/mipsel.*/mips/' \
-e 's/cris.*/cris/' \
2009-07-24 02:22:08 +02:00
-e 's/xtensa.*/xtensa/' \
2007-02-02 14:50:23 +01:00
" )
2005-12-08 00:14:34 +01:00
# just handle the ones that can be big or little
2007-02-02 14:50:23 +01:00
UCLIBC_TARGET_ENDIAN := $( shell $( SHELL) -c " echo $( ARCH) | sed \
2005-12-08 00:14:34 +01:00
-e 's/armeb/BIG/' \
-e 's/arm/LITTLE/' \
-e 's/mipsel/LITTLE/' \
-e 's/mips/BIG/' \
2009-01-13 16:09:18 +01:00
-e 's/sh.*eb/BIG/' \
-e 's/sh.*/LITTLE/' \
2007-09-16 00:04:49 +02:00
-e 's/sparc.*/BIG/' \
2007-02-02 14:50:23 +01:00
" )
2007-06-20 13:26:36 +02:00
2005-12-08 00:14:34 +01:00
i f n e q ( $( UCLIBC_TARGET_ENDIAN ) , L I T T L E )
i f n e q ( $( UCLIBC_TARGET_ENDIAN ) , B I G )
UCLIBC_TARGET_ENDIAN :=
e n d i f
e n d i f
i f e q ( $( UCLIBC_TARGET_ENDIAN ) , L I T T L E )
UCLIBC_NOT_TARGET_ENDIAN := BIG
e l s e
UCLIBC_NOT_TARGET_ENDIAN := LITTLE
e n d i f
2003-11-05 02:10:48 +01:00
2009-07-30 17:35:26 +02:00
UCLIBC_ARM_TYPE := CONFIG_$( call qstrip,$( BR2_ARM_TYPE) )
UCLIBC_SPARC_TYPE := CONFIG_SPARC_$( call qstrip,$( BR2_SPARC_TYPE) )
2007-08-14 09:07:13 +02:00
2002-04-26 13:45:55 +02:00
$(DL_DIR)/$(UCLIBC_SOURCE) :
2012-03-16 14:42:53 +01:00
$( call DOWNLOAD,$( UCLIBC_SITE) /$( UCLIBC_SOURCE) )
2006-12-15 15:40:55 +01:00
2008-07-04 10:39:35 +02:00
uclibc-unpacked : $( UCLIBC_DIR ) /.unpacked
2010-04-10 23:37:18 +02:00
$(UCLIBC_DIR)/.unpacked : $( DL_DIR ) /$( UCLIBC_SOURCE )
2009-09-23 01:30:00 +02:00
mkdir -p $( TOOLCHAIN_DIR)
2007-06-20 13:26:36 +02:00
rm -rf $( UCLIBC_DIR)
2009-09-23 01:30:00 +02:00
$( UCLIBC_CAT) $( DL_DIR) /$( UCLIBC_SOURCE) | tar -C $( TOOLCHAIN_DIR) $( TAR_OPTIONS) -
2008-07-04 10:39:35 +02:00
touch $@
uclibc-patched : $( UCLIBC_DIR ) /.patched
$(UCLIBC_DIR)/.patched : $( UCLIBC_DIR ) /.unpacked
2007-05-10 04:37:44 +02:00
i f n e q ( $( BR 2_UCLIBC_VERSION_SNAPSHOT ) , y )
2011-08-31 23:35:04 +02:00
support/scripts/apply-patches.sh $( UCLIBC_DIR) $( UCLIBC_PATCH_DIR) \
2009-12-14 12:09:17 +01:00
uClibc-$( UCLIBC_VERSION) -\* .patch \
uClibc-$( UCLIBC_VERSION) -\* .patch.$( ARCH)
2007-06-13 20:13:51 +02:00
e l s e
2011-08-31 23:35:04 +02:00
support/scripts/apply-patches.sh $( UCLIBC_DIR) $( UCLIBC_PATCH_DIR) \
2008-04-24 11:03:12 +02:00
uClibc.\* .patch uClibc.\* .patch.$( ARCH)
2006-12-15 14:39:26 +01:00
e n d i f
2007-06-20 13:26:36 +02:00
touch $@
2002-04-26 13:45:55 +02:00
2008-07-04 10:39:35 +02:00
2006-12-13 12:51:42 +01:00
# Some targets may wish to provide their own UCLIBC_CONFIG_FILE...
2008-07-04 10:39:35 +02:00
$(UCLIBC_DIR)/.oldconfig : $( UCLIBC_DIR ) /.patched $( UCLIBC_CONFIG_FILE )
2007-08-14 09:07:13 +02:00
cp -f $( UCLIBC_CONFIG_FILE) $( UCLIBC_DIR) /.oldconfig
2005-12-08 00:14:34 +01:00
$( SED) 's,^CROSS_COMPILER_PREFIX=.*,CROSS_COMPILER_PREFIX="$(TARGET_CROSS)",g' \
-e 's,# TARGET_$(UCLIBC_TARGET_ARCH) is not set,TARGET_$(UCLIBC_TARGET_ARCH)=y,g' \
2007-09-29 21:17:39 +02:00
-e 's,^TARGET_ARCH=".*",TARGET_ARCH=\"$(UCLIBC_TARGET_ARCH)\",g' \
2005-12-08 00:14:34 +01:00
-e 's,^KERNEL_SOURCE=.*,KERNEL_SOURCE=\"$(LINUX_HEADERS_DIR)\",g' \
2006-12-12 08:10:54 +01:00
-e 's,^KERNEL_HEADERS=.*,KERNEL_HEADERS=\"$(LINUX_HEADERS_DIR)/include\",g' \
2005-12-08 00:14:34 +01:00
-e 's,^RUNTIME_PREFIX=.*,RUNTIME_PREFIX=\"/\",g' \
-e 's,^DEVEL_PREFIX=.*,DEVEL_PREFIX=\"/usr/\",g' \
-e 's,^SHARED_LIB_LOADER_PREFIX=.*,SHARED_LIB_LOADER_PREFIX=\"/lib\",g' \
2007-08-14 09:07:13 +02:00
$( UCLIBC_DIR) /.oldconfig
2006-02-09 20:13:57 +01:00
i f e q ( $( UCLIBC_TARGET_ARCH ) , a r m )
2008-04-17 15:25:47 +02:00
( /bin/echo "# CONFIG_GENERIC_ARM is not set" ; \
/bin/echo "# CONFIG_ARM610 is not set" ; \
/bin/echo "# CONFIG_ARM710 is not set" ; \
/bin/echo "# CONFIG_ARM7TDMI is not set" ; \
/bin/echo "# CONFIG_ARM720T is not set" ; \
/bin/echo "# CONFIG_ARM920T is not set" ; \
/bin/echo "# CONFIG_ARM922T is not set" ; \
/bin/echo "# CONFIG_ARM926T is not set" ; \
/bin/echo "# CONFIG_ARM10T is not set" ; \
/bin/echo "# CONFIG_ARM1136JF_S is not set" ; \
/bin/echo "# CONFIG_ARM1176JZ_S is not set" ; \
/bin/echo "# CONFIG_ARM1176JZF_S is not set" ; \
/bin/echo "# CONFIG_ARM_SA110 is not set" ; \
/bin/echo "# CONFIG_ARM_SA1100 is not set" ; \
/bin/echo "# CONFIG_ARM_XSCALE is not set" ; \
/bin/echo "# CONFIG_ARM_IWMMXT is not set" ; \
) >> $( UCLIBC_DIR) /.oldconfig
2007-01-30 18:45:30 +01:00
$( SED) 's/^\(CONFIG_[^_]*[_]*ARM[^=]*\)=.*/# \1 is not set/g' \
2007-08-14 09:07:13 +02:00
$( UCLIBC_DIR) /.oldconfig
2007-09-16 00:04:49 +02:00
$( SED) 's/^.*$(UCLIBC_ARM_TYPE).*/$(UCLIBC_ARM_TYPE)=y/g' $( UCLIBC_DIR) /.oldconfig
2007-09-27 23:51:21 +02:00
$( SED) '/CONFIG_ARM_.ABI/d' $( UCLIBC_DIR) /.oldconfig
2007-09-29 23:22:23 +02:00
i f e q ( $( BR 2_ARM_EABI ) , y )
2007-08-14 09:07:13 +02:00
/bin/echo "# CONFIG_ARM_OABI is not set" >> $( UCLIBC_DIR) /.oldconfig
/bin/echo "CONFIG_ARM_EABI=y" >> $( UCLIBC_DIR) /.oldconfig
2007-01-16 10:35:11 +01:00
e n d i f
2007-09-29 23:22:23 +02:00
i f e q ( $( BR 2_ARM_OABI ) , y )
2007-08-14 09:07:13 +02:00
/bin/echo "CONFIG_ARM_OABI=y" >> $( UCLIBC_DIR) /.oldconfig
/bin/echo "# CONFIG_ARM_EABI is not set" >> $( UCLIBC_DIR) /.oldconfig
2007-08-12 14:37:51 +02:00
e n d i f
2006-01-19 14:29:23 +01:00
e n d i f
2007-09-29 21:17:39 +02:00
i f e q ( $( UCLIBC_TARGET_ARCH ) , m i p s )
$( SED) '/CONFIG_MIPS_[NO].._ABI/d' $( UCLIBC_DIR) /.oldconfig
2007-09-30 14:42:59 +02:00
$( SED) '/CONFIG_MIPS_ISA_.*/d' $( UCLIBC_DIR) /.oldconfig
2007-09-29 21:17:39 +02:00
( /bin/echo "# CONFIG_MIPS_O32_ABI is not set" ; \
/bin/echo "# CONFIG_MIPS_N32_ABI is not set" ; \
/bin/echo "# CONFIG_MIPS_N64_ABI is not set" ; \
2007-09-30 14:42:59 +02:00
/bin/echo "# CONFIG_MIPS_ISA_1 is not set" ; \
/bin/echo "# CONFIG_MIPS_ISA_2 is not set" ; \
/bin/echo "# CONFIG_MIPS_ISA_3 is not set" ; \
/bin/echo "# CONFIG_MIPS_ISA_4 is not set" ; \
/bin/echo "# CONFIG_MIPS_ISA_MIPS32 is not set" ; \
2009-01-12 15:11:40 +01:00
/bin/echo "# CONFIG_MIPS_ISA_MIPS32R2 is not set" ; \
2007-09-30 14:42:59 +02:00
/bin/echo "# CONFIG_MIPS_ISA_MIPS64 is not set" ; \
2007-09-29 21:17:39 +02:00
) >> $( UCLIBC_DIR) /.oldconfig
2007-09-29 23:22:23 +02:00
i f e q ( $( BR 2_MIPS_OABI ) , y )
2007-09-29 21:17:39 +02:00
$( SED) 's/.*\(CONFIG_MIPS_O32_ABI\).*/\1=y/' $( UCLIBC_DIR) /.oldconfig
e n d i f
2007-09-29 23:22:23 +02:00
i f e q ( $( BR 2_MIPS_EABI ) , y )
2007-09-29 21:17:39 +02:00
$( SED) 's/.*\(CONFIG_MIPS_N32_ABI\).*/\1=y/' $( UCLIBC_DIR) /.oldconfig
e n d i f
2007-09-29 23:22:23 +02:00
i f e q ( $( BR 2_MIPS_ABI 64) , y )
2007-09-29 21:17:39 +02:00
$( SED) 's/.*\(CONFIG_MIPS_N64_ABI\).*/\1=y/' $( UCLIBC_DIR) /.oldconfig
e n d i f
2007-09-30 14:42:59 +02:00
i f e q ( $( BR 2_mips_ 1) , y )
$( SED) 's/.*\(CONFIG_MIPS_ISA_1\).*/\1=y/' $( UCLIBC_DIR) /.oldconfig
e n d i f
i f e q ( $( BR 2_mips_ 2) , y )
$( SED) 's/.*\(CONFIG_MIPS_ISA_2\).*/\1=y/' $( UCLIBC_DIR) /.oldconfig
e n d i f
i f e q ( $( BR 2_mips_ 3) , y )
$( SED) 's/.*\(CONFIG_MIPS_ISA_3\).*/\1=y/' $( UCLIBC_DIR) /.oldconfig
e n d i f
i f e q ( $( BR 2_mips_ 4) , y )
$( SED) 's/.*\(CONFIG_MIPS_ISA_4\).*/\1=y/' $( UCLIBC_DIR) /.oldconfig
e n d i f
i f e q ( $( BR 2_mips_ 32) , y )
2009-01-12 15:11:40 +01:00
$( SED) 's/.*\(CONFIG_MIPS_ISA_MIPS32\)[^R].*/\1=y/' $( UCLIBC_DIR) /.oldconfig
2007-09-30 14:42:59 +02:00
e n d i f
i f e q ( $( BR 2_mips_ 32r 2) , y )
2009-01-12 15:11:40 +01:00
$( SED) 's/.*\(CONFIG_MIPS_ISA_MIPS32R2\).*/\1=y/' $( UCLIBC_DIR) /.oldconfig
2007-09-30 14:42:59 +02:00
e n d i f
i f e q ( $( BR 2_mips_ 64) , y )
$( SED) 's/.*\(CONFIG_MIPS_ISA_MIPS64\).*/\1=y/' $( UCLIBC_DIR) /.oldconfig
e n d i f
2007-09-29 21:17:39 +02:00
e n d i f
2007-08-26 22:55:02 +02:00
i f e q ( $( UCLIBC_TARGET_ARCH ) , s h )
/bin/echo "# CONFIG_SH2A is not set" >> $( UCLIBC_DIR) /.oldconfig
/bin/echo "# CONFIG_SH2 is not set" >> $( UCLIBC_DIR) /.oldconfig
/bin/echo "# CONFIG_SH3 is not set" >> $( UCLIBC_DIR) /.oldconfig
/bin/echo "# CONFIG_SH4 is not set" >> $( UCLIBC_DIR) /.oldconfig
2011-05-09 15:12:53 +02:00
i f e q ( $( BR 2_sh 2a ) , y )
2007-08-26 22:55:02 +02:00
$( SED) 's,# CONFIG_SH2A is not set,CONFIG_SH2A=y,g' $( UCLIBC_DIR) /.oldconfig
/bin/echo "# UCLIBC_FORMAT_FDPIC_ELF is not set" >> $( UCLIBC_DIR) /.oldconfig
/bin/echo "# UCLIBC_FORMAT_FLAT is not set" >> $( UCLIBC_DIR) /.oldconfig
/bin/echo "# UCLIBC_FORMAT_FLAT_SEP_DATA is not set" >> $( UCLIBC_DIR) /.oldconfig
/bin/echo "# UCLIBC_FORMAT_SHARED_FLAT is not set" >> $( UCLIBC_DIR) /.oldconfig
e n d i f
2011-05-09 15:12:53 +02:00
i f e q ( $( BR 2_sh 2) , y )
2007-08-26 22:55:02 +02:00
$( SED) 's,# CONFIG_SH2 is not set,CONFIG_SH2=y,g' $( UCLIBC_DIR) /.oldconfig
/bin/echo "# UCLIBC_FORMAT_FDPIC_ELF is not set" >> $( UCLIBC_DIR) /.oldconfig
/bin/echo "# UCLIBC_FORMAT_FLAT is not set" >> $( UCLIBC_DIR) /.oldconfig
/bin/echo "# UCLIBC_FORMAT_FLAT_SEP_DATA is not set" >> $( UCLIBC_DIR) /.oldconfig
/bin/echo "# UCLIBC_FORMAT_SHARED_FLAT is not set" >> $( UCLIBC_DIR) /.oldconfig
e n d i f
i f e q ( $( BR 2_sh 3eb ) , y )
$( SED) 's,# CONFIG_SH3 is not set,CONFIG_SH3=y,g' $( UCLIBC_DIR) /.oldconfig
e n d i f
i f e q ( $( BR 2_sh 3) , y )
$( SED) 's,# CONFIG_SH3 is not set,CONFIG_SH3=y,g' $( UCLIBC_DIR) /.oldconfig
e n d i f
i f e q ( $( BR 2_sh 4eb ) , y )
$( SED) 's,# CONFIG_SH4 is not set,CONFIG_SH4=y,g' $( UCLIBC_DIR) /.oldconfig
e n d i f
i f e q ( $( BR 2_sh 4) , y )
$( SED) 's,# CONFIG_SH4 is not set,CONFIG_SH4=y,g' $( UCLIBC_DIR) /.oldconfig
e n d i f
e n d i f
2007-09-16 00:04:49 +02:00
i f e q ( $( UCLIBC_TARGET_ARCH ) , s p a r c )
$( SED) 's/^\(CONFIG_[^_]*[_]*SPARC[^=]*\)=.*/# \1 is not set/g' \
$( UCLIBC_DIR) /.oldconfig
for i in V7 V8 V9 V9B; do echo " # CONFIG_SPARC_ $$ i is not set " ; done \
>> $( UCLIBC_DIR) /.oldconfig
2009-01-12 16:01:28 +01:00
$( SED) 's/^.*$(UCLIBC_SPARC_TYPE)[^B].*/$(UCLIBC_SPARC_TYPE)=y/g' $( UCLIBC_DIR) /.oldconfig
2007-09-16 00:04:49 +02:00
e n d i f
2008-05-31 09:27:58 +02:00
i f e q ( $( UCLIBC_TARGET_ARCH ) , p o w e r p c )
2012-01-05 20:31:43 +01:00
i f e q ( $( BR 2_powerpc_ 8540) $( BR 2_powerpc_ 8548) $( BR 2_powerpc_e 500mc ) , y )
2008-05-31 09:27:58 +02:00
/bin/echo "# CONFIG_CLASSIC is not set" >> $( UCLIBC_DIR) /.oldconfig
/bin/echo "CONFIG_E500=y" >> $( UCLIBC_DIR) /.oldconfig
e l s e
/bin/echo "CONFIG_CLASSIC=y" >> $( UCLIBC_DIR) /.oldconfig
/bin/echo "# CONFIG_E500 is not set" >> $( UCLIBC_DIR) /.oldconfig
e n d i f
e n d i f
2009-12-14 11:47:55 +01:00
i f e q ( $( UCLIBC_TARGET_ARCH ) , a v r 3 2 )
/bin/echo "LINKRELAX=y" >> $( UCLIBC_DIR) /.oldconfig
e n d i f
2007-02-02 14:50:23 +01:00
i f n e q ( $( UCLIBC_TARGET_ENDIAN ) , )
# The above doesn't work for me, so redo
$( SED) 's/.*\(ARCH_$(UCLIBC_NOT_TARGET_ENDIAN)_ENDIAN\).*/# \1 is not set/g' \
-e 's/.*\(ARCH_WANTS_$(UCLIBC_NOT_TARGET_ENDIAN)_ENDIAN\).*/# \1 is not set/g' \
-e 's/.*\(ARCH_$(UCLIBC_TARGET_ENDIAN)_ENDIAN\).*/\1=y/g' \
-e 's/.*\(ARCH_WANTS_$(UCLIBC_TARGET_ENDIAN)_ENDIAN\).*/\1=y/g' \
2007-08-14 09:07:13 +02:00
$( UCLIBC_DIR) /.oldconfig
2007-02-02 14:50:23 +01:00
e n d i f
2004-10-09 03:06:03 +02:00
i f e q ( $( BR 2_LARGEFILE ) , y )
2007-08-14 09:07:13 +02:00
$( SED) 's,.*UCLIBC_HAS_LFS.*,UCLIBC_HAS_LFS=y,g' $( UCLIBC_DIR) /.oldconfig
2003-11-17 02:31:38 +01:00
e l s e
2007-08-14 09:07:13 +02:00
$( SED) 's,.*UCLIBC_HAS_LFS.*,UCLIBC_HAS_LFS=n,g' $( UCLIBC_DIR) /.oldconfig
$( SED) '/.*UCLIBC_HAS_FOPEN_LARGEFILE_MODE.*/d' $( UCLIBC_DIR) /.oldconfig
echo "# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set" >> $( UCLIBC_DIR) /.oldconfig
2003-11-17 02:31:38 +01:00
e n d i f
2007-06-26 18:34:45 +02:00
i f e q ( $( BR 2_INET_IPV 6) , y )
2007-08-14 09:07:13 +02:00
$( SED) 's,^.*UCLIBC_HAS_IPV6.*,UCLIBC_HAS_IPV6=y,g' $( UCLIBC_DIR) /.oldconfig
2007-07-29 19:47:27 +02:00
e l s e
2007-08-14 09:07:13 +02:00
$( SED) 's,^.*UCLIBC_HAS_IPV6.*,UCLIBC_HAS_IPV6=n,g' $( UCLIBC_DIR) /.oldconfig
2007-07-29 19:47:27 +02:00
e n d i f
2007-06-26 18:34:45 +02:00
i f e q ( $( BR 2_INET_RPC ) , y )
2007-06-26 18:58:11 +02:00
$( SED) 's,^.*UCLIBC_HAS_RPC.*,UCLIBC_HAS_RPC=y,g' \
-e 's,^.*UCLIBC_HAS_FULL_RPC.*,UCLIBC_HAS_FULL_RPC=y,g' \
-e 's,^.*UCLIBC_HAS_REENTRANT_RPC.*,UCLIBC_HAS_REENTRANT_RPC=y,g' \
2007-08-14 09:07:13 +02:00
$( UCLIBC_DIR) /.oldconfig
2007-06-26 18:34:45 +02:00
e l s e
2007-06-26 18:58:11 +02:00
$( SED) 's,^.*UCLIBC_HAS_RPC.*,UCLIBC_HAS_RPC=n,g' \
-e 's,^.*UCLIBC_HAS_FULL_RPC.*,UCLIBC_HAS_FULL_RPC=n,g' \
-e 's,^.*UCLIBC_HAS_REENTRANT_RPC.*,UCLIBC_HAS_REENTRANT_RPC=n,g' \
2007-08-14 09:07:13 +02:00
$( UCLIBC_DIR) /.oldconfig
2007-06-26 18:34:45 +02:00
e n d i f
2004-10-10 03:12:46 +02:00
i f e q ( $( BR 2_SOFT_FLOAT ) , y )
2007-01-28 13:11:37 +01:00
$( SED) 's,.*UCLIBC_HAS_FPU.*,UCLIBC_HAS_FPU=n,g' \
2007-02-20 12:06:00 +01:00
-e 's,^[^_]*HAS_FPU.*,HAS_FPU=n,g' \
2007-01-28 13:11:37 +01:00
-e 's,.*UCLIBC_HAS_FLOATS.*,UCLIBC_HAS_FLOATS=y,g' \
-e 's,.*DO_C99_MATH.*,DO_C99_MATH=y,g' \
2007-08-14 09:07:13 +02:00
$( UCLIBC_DIR) /.oldconfig
#$(SED) 's,.*UCLIBC_HAS_FPU.*,UCLIBC_HAS_FPU=n\nHAS_FPU=n\nUCLIBC_HAS_FLOATS=y\nUCLIBC_HAS_SOFT_FLOAT=y,g' $(UCLIBC_DIR)/.oldconfig
2006-09-25 16:28:54 +02:00
e l s e
2007-06-20 13:26:36 +02:00
$( SED) '/UCLIBC_HAS_FLOATS/d' \
-e 's,.*UCLIBC_HAS_FPU.*,UCLIBC_HAS_FPU=y\nHAS_FPU=y\nUCLIBC_HAS_FLOATS=y\n,g' \
2007-08-14 09:07:13 +02:00
$( UCLIBC_DIR) /.oldconfig
2009-04-22 09:27:22 +02:00
e n d i f
2010-12-13 17:27:42 +01:00
i f e q ( $( BR 2_TOOLCHAIN_BUILDROOT_USE_SSP ) , y )
2009-04-22 09:27:22 +02:00
$( SED) 's,^.*UCLIBC_HAS_SSP[^_].*,UCLIBC_HAS_SSP=y,g' $( UCLIBC_DIR) /.oldconfig
e l s e
$( SED) 's,^.*UCLIBC_HAS_SSP[^_].*,UCLIBC_HAS_SSP=n,g' $( UCLIBC_DIR) /.oldconfig
2005-07-30 01:28:31 +02:00
e n d i f
2007-08-14 09:07:13 +02:00
$( SED) '/UCLIBC_HAS_THREADS/d' $( UCLIBC_DIR) /.oldconfig
$( SED) '/LINUXTHREADS/d' $( UCLIBC_DIR) /.oldconfig
$( SED) '/LINUXTHREADS_OLD/d' $( UCLIBC_DIR) /.oldconfig
$( SED) '/PTHREADS_DEBUG_SUPPORT/d' $( UCLIBC_DIR) /.oldconfig
$( SED) '/UCLIBC_HAS_THREADS_NATIVE/d' $( UCLIBC_DIR) /.oldconfig
2007-02-09 18:53:55 +01:00
i f e q ( $( BR 2_PTHREADS_NONE ) , y )
2007-08-14 09:07:13 +02:00
echo "# UCLIBC_HAS_THREADS is not set" >> $( UCLIBC_DIR) /.oldconfig
2007-02-09 18:53:55 +01:00
e l s e
2007-08-14 09:07:13 +02:00
echo "UCLIBC_HAS_THREADS=y" >> $( UCLIBC_DIR) /.oldconfig
2005-12-08 00:14:34 +01:00
e n d i f
i f e q ( $( BR 2_PTHREADS ) , y )
2007-08-14 09:07:13 +02:00
echo "LINUXTHREADS=y" >> $( UCLIBC_DIR) /.oldconfig
2010-04-05 10:47:54 +02:00
echo "LINUXTHREADS_NEW=y" >> $( UCLIBC_DIR) /.oldconfig
2007-02-09 18:53:55 +01:00
e l s e
2007-08-14 09:07:13 +02:00
echo "# LINUXTHREADS is not set" >> $( UCLIBC_DIR) /.oldconfig
2010-04-05 10:47:54 +02:00
echo "# LINUXTHREADS_NEW is not set" >> $( UCLIBC_DIR) /.oldconfig
2005-12-08 00:14:34 +01:00
e n d i f
i f e q ( $( BR 2_PTHREADS_OLD ) , y )
2007-08-14 09:07:13 +02:00
echo "LINUXTHREADS_OLD=y" >> $( UCLIBC_DIR) /.oldconfig
2007-02-09 18:53:55 +01:00
e l s e
2007-08-14 09:07:13 +02:00
echo "# LINUXTHREADS_OLD is not set" >> $( UCLIBC_DIR) /.oldconfig
2005-12-08 00:14:34 +01:00
e n d i f
2005-07-30 01:28:31 +02:00
i f e q ( $( BR 2_PTHREADS_NATIVE ) , y )
2007-08-14 09:07:13 +02:00
echo "UCLIBC_HAS_THREADS_NATIVE=y" >> $( UCLIBC_DIR) /.oldconfig
2007-02-09 18:53:55 +01:00
e l s e
2007-08-14 09:07:13 +02:00
echo "# UCLIBC_HAS_THREADS_NATIVE is not set" >> $( UCLIBC_DIR) /.oldconfig
2007-02-09 18:53:55 +01:00
e n d i f
i f e q ( $( BR 2_PTHREAD_DEBUG ) , y )
2007-08-14 09:07:13 +02:00
echo "PTHREADS_DEBUG_SUPPORT=y" >> $( UCLIBC_DIR) /.oldconfig
2007-02-09 18:53:55 +01:00
e l s e
2007-08-14 09:07:13 +02:00
echo "# PTHREADS_DEBUG_SUPPORT is not set" >> $( UCLIBC_DIR) /.oldconfig
2006-10-17 18:57:02 +02:00
e n d i f
i f e q ( $( BR 2_ENABLE_LOCALE ) , y )
2010-04-28 23:40:51 +02:00
$( SED) 's,^.*UCLIBC_HAS_LOCALE.*,UCLIBC_HAS_LOCALE=y\n# UCLIBC_BUILD_ALL_LOCALE is not set\nUCLIBC_BUILD_MINIMAL_LOCALE=y\nUCLIBC_BUILD_MINIMAL_LOCALES="en_US"\nUCLIBC_PREGENERATED_LOCALE_DATA=n\nUCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA=n\nUCLIBC_HAS_XLOCALE=y\nUCLIBC_HAS_GLIBC_DIGIT_GROUPING=n\n,g' $( UCLIBC_DIR) /.oldconfig
2007-08-14 09:07:13 +02:00
e l s e
$( SED) 's,^.*UCLIBC_HAS_LOCALE.*,UCLIBC_HAS_LOCALE=n,g' $( UCLIBC_DIR) /.oldconfig
e n d i f
i f e q ( $( BR 2_USE_WCHAR ) , y )
$( SED) 's,^.*UCLIBC_HAS_WCHAR.*,UCLIBC_HAS_WCHAR=y,g' $( UCLIBC_DIR) /.oldconfig
2006-10-17 18:57:02 +02:00
e l s e
2007-08-14 09:07:13 +02:00
$( SED) 's,^.*UCLIBC_HAS_WCHAR.*,UCLIBC_HAS_WCHAR=n,g' $( UCLIBC_DIR) /.oldconfig
2006-12-13 12:51:42 +01:00
e n d i f
i f e q ( "$(KERNEL_ARCH)" , "i386" )
2007-08-14 09:07:13 +02:00
/bin/echo "# CONFIG_GENERIC_386 is not set" >> $( UCLIBC_DIR) /.oldconfig
/bin/echo "# CONFIG_386 is not set" >> $( UCLIBC_DIR) /.oldconfig
/bin/echo "# CONFIG_486 is not set" >> $( UCLIBC_DIR) /.oldconfig
/bin/echo "# CONFIG_586 is not set" >> $( UCLIBC_DIR) /.oldconfig
/bin/echo "# CONFIG_586MMX is not set" >> $( UCLIBC_DIR) /.oldconfig
/bin/echo "# CONFIG_686 is not set" >> $( UCLIBC_DIR) /.oldconfig
/bin/echo "# CONFIG_PENTIUMII is not set" >> $( UCLIBC_DIR) /.oldconfig
/bin/echo "# CONFIG_PENTIUMIII is not set" >> $( UCLIBC_DIR) /.oldconfig
/bin/echo "# CONFIG_PENTIUM4 is not set" >> $( UCLIBC_DIR) /.oldconfig
/bin/echo "# CONFIG_K6 is not set" >> $( UCLIBC_DIR) /.oldconfig
/bin/echo "# CONFIG_K7 is not set" >> $( UCLIBC_DIR) /.oldconfig
/bin/echo "# CONFIG_ELAN is not set" >> $( UCLIBC_DIR) /.oldconfig
/bin/echo "# CONFIG_CRUSOE is not set" >> $( UCLIBC_DIR) /.oldconfig
/bin/echo "# CONFIG_WINCHIPC6 is not set" >> $( UCLIBC_DIR) /.oldconfig
/bin/echo "# CONFIG_WINCHIP2 is not set" >> $( UCLIBC_DIR) /.oldconfig
/bin/echo "# CONFIG_CYRIXIII is not set" >> $( UCLIBC_DIR) /.oldconfig
/bin/echo "# CONFIG_NEHEMIAH is not set" >> $( UCLIBC_DIR) /.oldconfig
2006-12-13 12:51:42 +01:00
i f e q ( $( BR 2_x 86_i 386) , y )
2007-08-14 09:07:13 +02:00
$( SED) 's,# CONFIG_386 is not set,CONFIG_386=y,g' $( UCLIBC_DIR) /.oldconfig
2006-12-13 12:51:42 +01:00
e n d i f
i f e q ( $( BR 2_x 86_i 486) , y )
2007-08-14 09:07:13 +02:00
$( SED) 's,# CONFIG_486 is not set,CONFIG_486=y,g' $( UCLIBC_DIR) /.oldconfig
2006-12-13 12:51:42 +01:00
e n d i f
i f e q ( $( BR 2_x 86_i 586) , y )
2007-08-14 09:07:13 +02:00
$( SED) 's,# CONFIG_586 is not set,CONFIG_586=y,g' $( UCLIBC_DIR) /.oldconfig
2008-08-04 21:07:05 +02:00
e n d i f
2008-03-29 17:23:16 +01:00
i f e q ( $( BR 2_x 86_pentium_mmx ) , y )
$( SED) 's,# CONFIG_586MMX is not set,CONFIG_586MMX=y,g' $( UCLIBC_DIR) /.oldconfig
2008-08-04 21:07:05 +02:00
e n d i f
2008-03-29 18:34:23 +01:00
i f e q ( $( BR 2_x 86_i 686) , y )
$( SED) 's,# CONFIG_686 is not set,CONFIG_686=y,g' $( UCLIBC_DIR) /.oldconfig
e n d i f
i f e q ( $( BR 2_x 86_pentiumpro ) , y )
$( SED) 's,# CONFIG_686 is not set,CONFIG_686=y,g' $( UCLIBC_DIR) /.oldconfig
2008-08-04 21:07:05 +02:00
e n d i f
2008-03-29 17:23:16 +01:00
i f e q ( $( BR 2_x 86_pentium 2) , y )
$( SED) 's,# CONFIG_PENTIUMII is not set,CONFIG_PENTIUMII=y,g' $( UCLIBC_DIR) /.oldconfig
2008-08-04 21:07:05 +02:00
e n d i f
2008-03-29 17:23:16 +01:00
i f e q ( $( BR 2_x 86_pentium 3) , y )
$( SED) 's,# CONFIG_PENTIUMIII is not set,CONFIG_PENTIUMIII=y,g' $( UCLIBC_DIR) /.oldconfig
2008-08-04 21:07:05 +02:00
e n d i f
2008-03-29 17:23:16 +01:00
i f e q ( $( BR 2_x 86_pentium 4) , y )
$( SED) 's,# CONFIG_PENTIUM4 is not set,CONFIG_PENTIUM4=y,g' $( UCLIBC_DIR) /.oldconfig
2008-08-04 21:07:05 +02:00
e n d i f
2008-03-29 17:23:16 +01:00
i f e q ( $( BR 2_x 86_pentium_m ) , y )
$( SED) 's,# CONFIG_PENTIUM4 is not set,CONFIG_PENTIUM4=y,g' $( UCLIBC_DIR) /.oldconfig
2008-08-04 21:07:05 +02:00
e n d i f
2008-03-29 17:23:16 +01:00
i f e q ( $( BR 2_x 86_nocona ) , y )
$( SED) 's,# CONFIG_PENTIUM4 is not set,CONFIG_PENTIUM4=y,g' $( UCLIBC_DIR) /.oldconfig
2008-08-04 21:07:05 +02:00
e n d i f
2008-03-29 17:23:16 +01:00
i f e q ( $( BR 2_x 86_core 2) , y )
$( SED) 's,# CONFIG_PENTIUM4 is not set,CONFIG_PENTIUM4=y,g' $( UCLIBC_DIR) /.oldconfig
2008-08-04 21:07:05 +02:00
e n d i f
2004-01-15 12:01:37 +01:00
e n d i f
2007-08-14 09:07:13 +02:00
2007-08-22 14:35:41 +02:00
$(UCLIBC_DIR)/.config : $( UCLIBC_DIR ) /.oldconfig
2007-08-14 09:07:13 +02:00
cp -f $( UCLIBC_DIR) /.oldconfig $( UCLIBC_DIR) /.config
2009-09-23 01:30:00 +02:00
mkdir -p $( TOOLCHAIN_DIR) /uClibc_dev/usr/include
mkdir -p $( TOOLCHAIN_DIR) /uClibc_dev/usr/lib
mkdir -p $( TOOLCHAIN_DIR) /uClibc_dev/lib
2006-12-12 08:10:54 +01:00
$( MAKE1) -C $( UCLIBC_DIR) \
2009-09-03 20:47:12 +02:00
ARCH = " $( UCLIBC_TARGET_ARCH) " \
2009-09-23 01:30:00 +02:00
PREFIX = $( TOOLCHAIN_DIR) /uClibc_dev/ \
2006-12-12 08:10:54 +01:00
DEVEL_PREFIX = /usr/ \
2009-09-23 01:30:00 +02:00
RUNTIME_PREFIX = $( TOOLCHAIN_DIR) /uClibc_dev/ \
2011-12-03 14:53:43 +01:00
CROSS_COMPILE = " $( TARGET_CROSS) " \
2012-01-05 20:31:43 +01:00
UCLIB_EXTRA_CFLAGS = " $( TARGET_ABI) " \
2006-12-12 08:10:54 +01:00
HOSTCC = " $( HOSTCC) " \
oldconfig
2007-07-29 19:47:27 +02:00
touch $@
2006-12-02 19:30:42 +01:00
2011-02-25 13:18:45 +01:00
i f e q ( $( BR 2_CCACHE ) , y )
# we'll need ccache for the host built before make oldconfig
# if configured, otherwise uclibc-menuconfig will fail.
# Use order-only dependency as host-ccache is a virtual target
$(UCLIBC_DIR)/.config : | host -ccache
e n d i f
2007-08-29 20:05:46 +02:00
$(UCLIBC_DIR)/.configured : $( LINUX_HEADERS_DIR ) /.configured $( UCLIBC_DIR ) /.config
2010-04-05 10:47:54 +02:00
$( MAKE1) -C $( UCLIBC_DIR) \
2009-09-03 20:47:12 +02:00
ARCH = " $( UCLIBC_TARGET_ARCH) " \
2009-09-23 01:30:00 +02:00
PREFIX = $( TOOLCHAIN_DIR) /uClibc_dev/ \
2004-05-04 13:55:08 +02:00
DEVEL_PREFIX = /usr/ \
2009-09-23 01:30:00 +02:00
RUNTIME_PREFIX = $( TOOLCHAIN_DIR) /uClibc_dev/ \
2011-12-03 14:53:43 +01:00
CROSS_COMPILE = " $( TARGET_CROSS) " \
2012-01-05 20:31:43 +01:00
UCLIB_EXTRA_CFLAGS = " $( TARGET_ABI) " \
2008-10-20 20:55:26 +02:00
HOSTCC = " $( HOSTCC) " headers \
2010-07-28 09:11:37 +02:00
lib/crt1.o lib/crti.o lib/crtn.o \
2010-07-29 17:02:29 +02:00
install_headers
2007-08-28 23:42:44 +02:00
# Install the kernel headers to the first stage gcc include dir
# if necessary
2009-09-23 01:30:00 +02:00
if [ ! -f $( TOOLCHAIN_DIR) /uClibc_dev/usr/include/linux/version.h ] ; then \
2007-08-28 23:42:44 +02:00
cp -pLR $( LINUX_HEADERS_DIR) /include/* \
2009-09-23 01:30:00 +02:00
$( TOOLCHAIN_DIR) /uClibc_dev/usr/include/; \
2007-06-20 13:26:36 +02:00
fi
2010-07-28 09:11:37 +02:00
$( TARGET_CROSS) gcc -nostdlib -nostartfiles -shared -x c /dev/null -o $( TOOLCHAIN_DIR) /uClibc_dev/usr/lib/libc.so
$( TARGET_CROSS) gcc -nostdlib -nostartfiles -shared -x c /dev/null -o $( TOOLCHAIN_DIR) /uClibc_dev/usr/lib/libm.so
cp -pLR $( UCLIBC_DIR) /lib/crt[ 1in] .o $( TOOLCHAIN_DIR) /uClibc_dev/usr/lib/
2007-06-20 13:26:36 +02:00
touch $@
2002-11-12 22:31:16 +01:00
2010-07-28 09:11:37 +02:00
$(UCLIBC_DIR)/lib/libc.a : $( UCLIBC_DIR ) /.configured $( gcc_intermediate ) $( LIBFLOAT_TARGET )
2004-12-11 14:01:10 +01:00
$( MAKE1) -C $( UCLIBC_DIR) \
2009-09-03 20:47:12 +02:00
ARCH = " $( UCLIBC_TARGET_ARCH) " \
2004-01-14 11:03:44 +01:00
PREFIX = \
2004-09-03 02:49:43 +02:00
DEVEL_PREFIX = / \
2004-01-14 11:03:44 +01:00
RUNTIME_PREFIX = / \
2011-12-03 14:53:43 +01:00
CROSS_COMPILE = " $( TARGET_CROSS) " \
2012-01-05 20:31:43 +01:00
UCLIB_EXTRA_CFLAGS = " $( TARGET_ABI) " \
2004-02-27 20:24:22 +01:00
HOSTCC = " $( HOSTCC) " \
2004-01-14 11:03:44 +01:00
all
2007-06-20 13:26:36 +02:00
touch -c $@
2004-01-14 11:03:44 +01:00
2010-09-30 23:09:39 +02:00
uclibc-menuconfig : dirs $( UCLIBC_DIR ) /.config
2006-12-02 19:30:42 +01:00
$( MAKE1) -C $( UCLIBC_DIR) \
2009-09-03 20:47:12 +02:00
ARCH = " $( UCLIBC_TARGET_ARCH) " \
2009-09-23 01:30:00 +02:00
PREFIX = $( TOOLCHAIN_DIR) /uClibc_dev/ \
2006-12-02 19:30:42 +01:00
DEVEL_PREFIX = /usr/ \
2009-09-23 01:30:00 +02:00
RUNTIME_PREFIX = $( TOOLCHAIN_DIR) /uClibc_dev/ \
2011-12-03 14:53:43 +01:00
CROSS_COMPILE = " $( TARGET_CROSS) " \
2012-01-05 20:31:43 +01:00
UCLIB_EXTRA_CFLAGS = " $( TARGET_ABI) " \
2006-12-02 19:30:42 +01:00
HOSTCC = " $( HOSTCC) " \
menuconfig && \
2007-06-20 13:26:36 +02:00
touch -c $( UCLIBC_DIR) /.config
2006-12-02 19:30:42 +01:00
2007-06-20 13:26:36 +02:00
$(STAGING_DIR)/usr/lib/libc.a : $( UCLIBC_DIR ) /lib /libc .a
$( MAKE1) -C $( UCLIBC_DIR) \
2009-09-03 20:47:12 +02:00
ARCH = " $( UCLIBC_TARGET_ARCH) " \
2007-06-20 13:26:36 +02:00
PREFIX = $( STAGING_DIR) \
DEVEL_PREFIX = /usr/ \
RUNTIME_PREFIX = / \
2011-12-03 14:53:43 +01:00
CROSS_COMPILE = " $( TARGET_CROSS) " \
2012-01-05 20:31:43 +01:00
UCLIB_EXTRA_CFLAGS = " $( TARGET_ABI) " \
2007-06-20 13:26:36 +02:00
install_runtime install_dev
2006-12-12 08:10:54 +01:00
# Install the kernel headers to the staging dir if necessary
2007-08-22 11:56:41 +02:00
if [ ! -f $( STAGING_DIR) /usr/include/linux/version.h ] ; then \
2007-08-28 23:42:44 +02:00
cp -pLR $( LINUX_HEADERS_DIR) /include/* \
$( STAGING_DIR) /usr/include/; \
2007-06-20 13:26:36 +02:00
fi
2007-08-22 14:35:41 +02:00
# Build the host utils. Need to add an install target...
2004-12-11 14:01:10 +01:00
$( MAKE1) -C $( UCLIBC_DIR) /utils \
2010-12-28 20:10:28 +01:00
PREFIX = $( HOST_DIR) \
2004-02-27 20:24:22 +01:00
HOSTCC = " $( HOSTCC) " \
2004-10-15 10:26:30 +02:00
hostutils
2007-11-15 11:16:55 +01:00
if [ -f $( UCLIBC_DIR) /utils/ldd.host ] ; then \
2010-12-28 20:10:28 +01:00
install -D $( UCLIBC_DIR) /utils/ldd.host $( HOST_DIR) /usr/bin/ldd; \
ln -sf ldd $( HOST_DIR) /usr/bin/$( REAL_GNU_TARGET_NAME) -ldd; \
2007-11-15 11:16:55 +01:00
fi
if [ -f $( UCLIBC_DIR) /utils/ldconfig.host ] ; then \
2010-12-28 20:10:28 +01:00
install -D $( UCLIBC_DIR) /utils/ldconfig.host $( HOST_DIR) /usr/bin/ldconfig; \
ln -sf ldconfig $( HOST_DIR) /usr/bin/$( REAL_GNU_TARGET_NAME) -ldconfig; \
ln -sf ldconfig $( HOST_DIR) /usr/bin/$( GNU_TARGET_NAME) -ldconfig; \
2007-11-15 11:16:55 +01:00
fi
2007-06-20 13:26:36 +02:00
touch -c $@
2002-07-03 12:44:59 +02:00
2003-09-14 13:38:35 +02:00
i f n e q ( $( TARGET_DIR ) , )
2007-06-20 13:26:36 +02:00
$(TARGET_DIR)/lib/libc.so.0 : $( STAGING_DIR ) /usr /lib /libc .a
2004-12-11 14:01:10 +01:00
$( MAKE1) -C $( UCLIBC_DIR) \
2009-09-03 20:47:12 +02:00
ARCH = " $( UCLIBC_TARGET_ARCH) " \
2004-01-14 11:03:44 +01:00
PREFIX = $( TARGET_DIR) \
DEVEL_PREFIX = /usr/ \
RUNTIME_PREFIX = / \
2011-12-03 14:53:43 +01:00
CROSS_COMPILE = " $( TARGET_CROSS) " \
2012-01-05 20:31:43 +01:00
UCLIB_EXTRA_CFLAGS = " $( TARGET_ABI) " \
2004-01-14 11:03:44 +01:00
install_runtime
2007-06-20 13:26:36 +02:00
touch -c $@
2002-04-26 13:45:55 +02:00
2007-09-22 23:38:15 +02:00
$(TARGET_DIR)/usr/bin/ldd : $( cross_compiler )
2007-07-05 07:13:20 +02:00
$( MAKE1) -C $( UCLIBC_DIR) CC = $( TARGET_CROSS) gcc \
CPP = $( TARGET_CROSS) cpp LD = $( TARGET_CROSS) ld \
2009-09-03 20:47:12 +02:00
ARCH = " $( UCLIBC_TARGET_ARCH) " \
2003-11-07 06:45:07 +01:00
PREFIX = $( TARGET_DIR) utils install_utils
2007-06-20 13:26:36 +02:00
touch -c $@
2003-09-14 13:38:35 +02:00
2010-04-05 13:44:21 +02:00
i f n e q ( $( BR 2_PREFER_STATIC_LIB ) , y )
2004-10-15 10:26:30 +02:00
UCLIBC_TARGETS = $( TARGET_DIR) /lib/libc.so.0
2010-04-05 13:44:21 +02:00
e n d i f
2008-10-07 09:20:32 +02:00
i f e q ( $( BR 2_UCLIBC_INSTALL_TEST_SUITE ) , y )
UCLIBC_TARGETS += uclibc-test
e n d i f
2003-09-14 13:38:35 +02:00
e n d i f
2002-04-26 13:45:55 +02:00
2010-07-28 09:11:37 +02:00
uclibc : $( gcc_intermediate ) $( STAGING_DIR ) /usr /lib /libc .a $( UCLIBC_TARGETS )
2007-08-01 14:11:44 +02:00
uclibc-source : $( DL_DIR ) /$( UCLIBC_SOURCE )
2007-07-29 19:47:27 +02:00
2007-09-28 18:18:16 +02:00
uclibc-unpacked : $( UCLIBC_DIR ) /.unpacked
uclibc-config : $( UCLIBC_DIR ) /.config
2007-08-14 09:07:13 +02:00
2007-09-28 18:18:16 +02:00
uclibc-oldconfig : $( UCLIBC_DIR ) /.oldconfig
2007-07-29 19:47:27 +02:00
2011-10-14 16:56:58 +02:00
uclibc-update-config : uclibc -config
2007-09-27 02:18:52 +02:00
cp -f $( UCLIBC_DIR) /.config $( UCLIBC_CONFIG_FILE)
2010-07-28 09:11:37 +02:00
uclibc-configured : gcc_initial kernel -headers $( UCLIBC_DIR ) /.configured
2003-11-12 10:31:12 +01:00
uclibc-configured-source : uclibc -source
2008-10-07 09:20:32 +02:00
uclibc-clean : uclibc -test -clean
2009-09-03 20:47:12 +02:00
-$( MAKE1) -C $( UCLIBC_DIR) ARCH = " $( UCLIBC_TARGET_ARCH) " clean
2002-11-12 22:31:16 +01:00
rm -f $( UCLIBC_DIR) /.config
2002-04-26 13:45:55 +02:00
2008-10-07 09:20:32 +02:00
uclibc-dirclean : uclibc -test -dirclean
2002-04-26 13:45:55 +02:00
rm -rf $( UCLIBC_DIR)
2002-07-03 12:44:59 +02:00
2009-11-17 17:37:11 +01:00
uclibc-target-utils : $( TARGET_DIR ) /usr /bin /ldd
2003-09-14 13:38:35 +02:00
2007-09-17 14:49:46 +02:00
uclibc-target-utils-source : $( DL_DIR ) /$( UCLIBC_SOURCE )
2008-10-07 09:20:32 +02:00
$(UCLIBC_DIR)/test/unistd/errno :
$( MAKE) -C $( UCLIBC_DIR) /test \
2008-10-07 09:32:40 +02:00
ARCH_CFLAGS = -I$( STAGING_DIR) /usr/include \
2008-10-07 09:20:32 +02:00
UCLIBC_ONLY = 1 TEST_INSTALLED_UCLIBC = 1 compile
$(TARGET_DIR)/root/uClibc/test/unistd/errno : $( UCLIBC_DIR ) /test /unistd /errno
mkdir -p $( TARGET_DIR) /root/uClibc
cp -rdpf $( UCLIBC_DIR) /test $( TARGET_DIR) /root/uClibc
$( INSTALL) $( UCLIBC_DIR) /Rules.mak $( TARGET_DIR) /root/uClibc
$( INSTALL) $( UCLIBC_DIR) /.config $( TARGET_DIR) /root/uClibc
2010-07-28 09:11:37 +02:00
uclibc-test : $( STAGING_DIR ) /usr /lib /libc .a $( TARGET_DIR ) /root /uClibc /test /unistd /errno
2008-10-07 09:20:32 +02:00
uclibc-test-source : uclibc -source
uclibc-test-clean :
-$( MAKE) -C $( UCLIBC_DIR) /test clean
rm -rf $( TARGET_DIR) /root/uClibc
uclibc-test-dirclean :
rm -rf $( TARGET_DIR) /root/uClibc
2003-09-14 13:38:35 +02:00
#############################################################
#
# uClibc for the target just needs its header files
# and whatnot installed.
#
#############################################################
2007-06-20 13:26:36 +02:00
$(TARGET_DIR)/usr/lib/libc.a : $( STAGING_DIR ) /usr /lib /libc .a
2004-12-11 14:01:10 +01:00
$( MAKE1) -C $( UCLIBC_DIR) \
2009-09-03 20:47:12 +02:00
ARCH = " $( UCLIBC_TARGET_ARCH) " \
2004-01-14 11:03:44 +01:00
PREFIX = $( TARGET_DIR) \
DEVEL_PREFIX = /usr/ \
RUNTIME_PREFIX = / \
install_dev
2006-12-13 12:51:42 +01:00
# Install the kernel headers to the target dir if necessary
2007-08-28 23:42:44 +02:00
if [ ! -f $( TARGET_DIR) /usr/include/linux/version.h ] ; then \
cp -pLR $( LINUX_HEADERS_DIR) /include/* \
$( TARGET_DIR) /usr/include/; \
2007-06-20 13:26:36 +02:00
fi
touch -c $@
2003-09-14 13:38:35 +02:00
2007-09-22 23:38:15 +02:00
uclibc_target : cross_compiler uclibc $( TARGET_DIR ) /usr /lib /libc .a $( TARGET_DIR ) /usr /bin /ldd
2004-10-15 16:39:40 +02:00
2008-10-07 09:20:32 +02:00
uclibc_target-clean : uclibc -test -clean
2007-02-06 19:35:37 +01:00
rm -rf $( TARGET_DIR) /usr/include \
$( TARGET_DIR) /usr/lib/libc.a $( TARGET_DIR) /usr/bin/ldd
2003-09-14 13:38:35 +02:00
2008-10-07 09:20:32 +02:00
uclibc_target-dirclean : uclibc -test -dirclean
2007-01-21 13:58:51 +01:00
rm -rf $( TARGET_DIR) /usr/include
2003-09-14 13:38:35 +02:00
2007-02-06 19:19:38 +01:00
e n d i f