1 ################################################################################
5 ################################################################################
7 UCLIBC_VERSION = $(call qstrip,$(BR2_UCLIBC_VERSION_STRING))
8 UCLIBC_SOURCE ?= uClibc-$(UCLIBC_VERSION).tar.bz2
9 UCLIBC_LICENSE = LGPLv2.1+
10 UCLIBC_LICENSE_FILES = COPYING.LIB
12 ifeq ($(BR2_UCLIBC_VERSION_SNAPSHOT),y)
13 UCLIBC_SITE = http://www.uclibc.org/downloads/snapshots
14 else ifeq ($(BR2_arc),y)
15 UCLIBC_SITE = $(call github,foss-for-synopsys-dwc-arc-processors,uClibc,$(UCLIBC_VERSION))
16 UCLIBC_SOURCE = uClibc-$(UCLIBC_VERSION).tar.gz
17 else ifeq ($(BR2_UCLIBC_VERSION_XTENSA_GIT),y)
18 UCLIBC_SITE = git://git.busybox.net/uClibc
19 UCLIBC_SOURCE = uClibc-$(UCLIBC_VERSION).tar.gz
21 UCLIBC_SITE = http://www.uclibc.org/downloads
22 UCLIBC_SOURCE = uClibc-$(UCLIBC_VERSION).tar.xz
25 UCLIBC_INSTALL_STAGING = YES
27 # uclibc is part of the toolchain so disable the toolchain dependency
28 UCLIBC_ADD_TOOLCHAIN_DEPENDENCY = NO
30 # Before uClibc is configured, we must have the first stage
31 # cross-compiler and the kernel headers
32 UCLIBC_DEPENDENCIES = host-gcc-initial linux-headers
34 # specifying UCLIBC_CONFIG_FILE on the command-line overrides the .config
36 ifndef UCLIBC_CONFIG_FILE
37 UCLIBC_CONFIG_FILE = $(call qstrip,$(BR2_UCLIBC_CONFIG))
40 UCLIBC_KCONFIG_FILE = $(UCLIBC_CONFIG_FILE)
42 UCLIBC_KCONFIG_OPTS = \
43 $(UCLIBC_MAKE_FLAGS) \
44 PREFIX=$(STAGING_DIR) \
46 RUNTIME_PREFIX=$(STAGING_DIR)/ \
48 UCLIBC_TARGET_ARCH = $(call qstrip,$(BR2_UCLIBC_TARGET_ARCH))
50 UCLIBC_GENERATE_LOCALES = $(call qstrip,$(BR2_GENERATE_LOCALE))
52 ifeq ($(UCLIBC_GENERATE_LOCALES),)
53 # We need at least one locale
54 UCLIBC_LOCALES = en_US
56 # Strip out the encoding part of locale names, if any
57 UCLIBC_LOCALES = $(foreach locale,$(UCLIBC_GENERATE_LOCALES),\
58 $(firstword $(subst .,$(space),$(locale))))
65 ifeq ($(UCLIBC_TARGET_ARCH),arc)
66 UCLIBC_ARC_TYPE = CONFIG_$(call qstrip,$(BR2_UCLIBC_ARC_TYPE))
67 define UCLIBC_ARC_TYPE_CONFIG
68 $(call KCONFIG_ENABLE_OPT,$(UCLIBC_ARC_TYPE),$(@D)/.config)
76 ifeq ($(UCLIBC_TARGET_ARCH),arm)
77 define UCLIBC_ARM_ABI_CONFIG
78 $(SED) '/CONFIG_ARM_.ABI/d' $(@D)/.config
79 $(call KCONFIG_ENABLE_OPT,CONFIG_ARM_EABI,$(@D)/.config)
82 # Thumb build is broken with threads, build in ARM mode
83 ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB)$(BR2_TOOLCHAIN_HAS_THREADS),yy)
84 UCLIBC_EXTRA_CFLAGS += -marm
87 ifeq ($(BR2_UCLIBC_ARM_BX),y)
88 define UCLIBC_ARM_BX_CONFIG
89 $(call KCONFIG_ENABLE_OPT,USE_BX,$(@D)/.config)
92 define UCLIBC_ARM_BX_CONFIG
93 $(call KCONFIG_DISABLE_OPT,USE_BX,$(@D)/.config)
103 ifeq ($(UCLIBC_TARGET_ARCH),mips)
104 UCLIBC_MIPS_ABI = CONFIG_MIPS_$(call qstrip,$(BR2_UCLIBC_MIPS_ABI))_ABI
105 define UCLIBC_MIPS_ABI_CONFIG
106 $(SED) '/CONFIG_MIPS_[NO].._ABI/d' $(@D)/.config
107 $(call KCONFIG_ENABLE_OPT,$(UCLIBC_MIPS_ABI),$(@D)/.config)
110 UCLIBC_MIPS_ISA = CONFIG_MIPS_ISA_$(call qstrip,$(BR2_UCLIBC_MIPS_ISA))
111 define UCLIBC_MIPS_ISA_CONFIG
112 $(SED) '/CONFIG_MIPS_ISA_.*/d' $(@D)/.config
113 $(call KCONFIG_ENABLE_OPT,$(UCLIBC_MIPS_ISA),$(@D)/.config)
121 ifeq ($(UCLIBC_TARGET_ARCH),sh)
122 UCLIBC_SH_TYPE = CONFIG_$(call qstrip,$(BR2_UCLIBC_SH_TYPE))
123 define UCLIBC_SH_TYPE_CONFIG
124 $(SED) '/CONFIG_SH[234A]*/d' $(@D)/.config
125 $(call KCONFIG_ENABLE_OPT,$(UCLIBC_SH_TYPE),$(@D)/.config)
133 ifeq ($(UCLIBC_TARGET_ARCH),sparc)
134 UCLIBC_SPARC_TYPE = CONFIG_SPARC_$(call qstrip,$(BR2_UCLIBC_SPARC_TYPE))
135 define UCLIBC_SPARC_TYPE_CONFIG
136 $(SED) 's/^\(CONFIG_[^_]*[_]*SPARC[^=]*\)=.*/# \1 is not set/g' \
138 $(call KCONFIG_ENABLE_OPT,$(UCLIBC_SPARC_TYPE),$(@D)/.config)
143 # PowerPC definitions
146 ifeq ($(UCLIBC_TARGET_ARCH),powerpc)
147 UCLIBC_POWERPC_TYPE = CONFIG_$(call qstrip,$(BR2_UCLIBC_POWERPC_TYPE))
148 define UCLIBC_POWERPC_TYPE_CONFIG
149 $(call KCONFIG_DISABLE_OPT,CONFIG_GENERIC,$(@D)/.config)
150 $(call KCONFIG_DISABLE_OPT,CONFIG_E500,$(@D)/.config)
151 $(call KCONFIG_ENABLE_OPT,$(UCLIBC_POWERPC_TYPE),$(@D)/.config)
156 # Blackfin definitions
159 ifeq ($(UCLIBC_TARGET_ARCH),bfin)
160 ifeq ($(BR2_BINFMT_FDPIC),y)
161 define UCLIBC_BFIN_CONFIG
162 $(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_FLAT,$(@D)/.config)
163 $(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_FLAT_SEP_DATA,$(@D)/.config)
164 $(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_SHARED_FLAT,$(@D)/.config)
165 $(call KCONFIG_ENABLE_OPT,UCLIBC_FORMAT_FDPIC_ELF,$(@D)/.config)
168 ifeq ($(BR2_BINFMT_FLAT_ONE),y)
169 define UCLIBC_BFIN_CONFIG
170 $(call KCONFIG_ENABLE_OPT,UCLIBC_FORMAT_FLAT,$(@D)/.config)
171 $(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_FLAT_SEP_DATA,$(@D)/.config)
172 $(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_SHARED_FLAT,$(@D)/.config)
173 $(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_FDPIC_ELF,$(@D)/.config)
176 ifeq ($(BR2_BINFMT_FLAT_SEP_DATA),y)
177 define UCLIBC_BFIN_CONFIG
178 $(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_FLAT,$(@D)/.config)
179 $(call KCONFIG_ENABLE_OPT,UCLIBC_FORMAT_FLAT_SEP_DATA,$(@D)/.config)
180 $(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_SHARED_FLAT,$(@D)/.config)
181 $(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_FDPIC_ELF,$(@D)/.config)
184 ifeq ($(BR2_BINFMT_FLAT_SHARED),y)
185 define UCLIBC_BFIN_CONFIG
186 $(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_FLAT,$(@D)/.config)
187 $(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_FLAT_SEP_DATA,$(@D)/.config)
188 $(call KCONFIG_ENABLE_OPT,UCLIBC_FORMAT_SHARED_FLAT,$(@D)/.config)
189 $(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_FDPIC_ELF,$(@D)/.config)
198 ifeq ($(UCLIBC_TARGET_ARCH),avr32)
199 define UCLIBC_AVR32_CONFIG
200 $(call KCONFIG_ENABLE_OPT,LINKRELAX,$(@D)/.config)
207 ifeq ($(UCLIBC_TARGET_ARCH),i386)
208 UCLIBC_X86_TYPE = CONFIG_$(call qstrip,$(BR2_UCLIBC_X86_TYPE))
209 define UCLIBC_X86_TYPE_CONFIG
210 $(call KCONFIG_ENABLE_OPT,$(UCLIBC_X86_TYPE),$(@D)/.config)
218 ifeq ($(call qstrip,$(BR2_ENDIAN)),BIG)
219 define UCLIBC_ENDIAN_CONFIG
220 $(call KCONFIG_ENABLE_OPT,ARCH_BIG_ENDIAN,$(@D)/.config)
221 $(call KCONFIG_ENABLE_OPT,ARCH_WANTS_BIG_ENDIAN,$(@D)/.config)
222 $(call KCONFIG_DISABLE_OPT,ARCH_LITTLE_ENDIAN,$(@D)/.config)
223 $(call KCONFIG_DISABLE_OPT,ARCH_WANTS_LITTLE_ENDIAN,$(@D)/.config)
226 define UCLIBC_ENDIAN_CONFIG
227 $(call KCONFIG_ENABLE_OPT,ARCH_LITTLE_ENDIAN,$(@D)/.config)
228 $(call KCONFIG_ENABLE_OPT,ARCH_WANTS_LITTLE_ENDIAN,$(@D)/.config)
229 $(call KCONFIG_DISABLE_OPT,ARCH_BIG_ENDIAN,$(@D)/.config)
230 $(call KCONFIG_DISABLE_OPT,ARCH_WANTS_BIG_ENDIAN,$(@D)/.config)
238 ifeq ($(BR2_TOOLCHAIN_BUILDROOT_LARGEFILE),y)
239 define UCLIBC_LARGEFILE_CONFIG
240 $(call KCONFIG_ENABLE_OPT,UCLIBC_HAS_LFS,$(@D)/.config)
243 define UCLIBC_LARGEFILE_CONFIG
244 $(call KCONFIG_DISABLE_OPT,UCLIBC_HAS_LFS,$(@D)/.config)
245 $(call KCONFIG_DISABLE_OPT,UCLIBC_HAS_FOPEN_LARGEFILE_MODE,$(@D)/.config)
253 ifeq ($(BR2_USE_MMU),y)
254 define UCLIBC_MMU_CONFIG
255 $(call KCONFIG_ENABLE_OPT,ARCH_USE_MMU,$(@D)/.config)
258 define UCLIBC_MMU_CONFIG
259 $(call KCONFIG_DISABLE_OPT,ARCH_USE_MMU,$(@D)/.config)
267 ifeq ($(BR2_TOOLCHAIN_BUILDROOT_INET_IPV6),y)
268 UCLIBC_IPV6_CONFIG = $(call KCONFIG_ENABLE_OPT,UCLIBC_HAS_IPV6,$(@D)/.config)
270 UCLIBC_IPV6_CONFIG = $(call KCONFIG_DISABLE_OPT,UCLIBC_HAS_IPV6,$(@D)/.config)
277 ifeq ($(BR2_TOOLCHAIN_BUILDROOT_INET_RPC),y)
278 define UCLIBC_RPC_CONFIG
279 $(call KCONFIG_ENABLE_OPT,UCLIBC_HAS_RPC,$(@D)/.config)
280 $(call KCONFIG_ENABLE_OPT,UCLIBC_HAS_FULL_RPC,$(@D)/.config)
281 $(call KCONFIG_ENABLE_OPT,UCLIBC_HAS_REENTRANT_RPC,$(@D)/.config)
284 define UCLIBC_RPC_CONFIG
285 $(call KCONFIG_DISABLE_OPT,UCLIBC_HAS_RPC,$(@D)/.config)
286 $(call KCONFIG_DISABLE_OPT,UCLIBC_HAS_FULL_RPC,$(@D)/.config)
287 $(call KCONFIG_DISABLE_OPT,UCLIBC_HAS_REENTRANT_RPC,$(@D)/.config)
295 ifeq ($(BR2_SOFT_FLOAT),y)
296 define UCLIBC_FLOAT_CONFIG
297 $(call KCONFIG_DISABLE_OPT,UCLIBC_HAS_FPU,$(@D)/.config)
298 $(call KCONFIG_ENABLE_OPT,UCLIBC_HAS_FLOATS,$(@D)/.config)
299 $(call KCONFIG_ENABLE_OPT,DO_C99_MATH,$(@D)/.config)
302 define UCLIBC_FLOAT_CONFIG
303 $(call KCONFIG_ENABLE_OPT,UCLIBC_HAS_FPU,$(@D)/.config)
304 $(call KCONFIG_ENABLE_OPT,UCLIBC_HAS_FLOATS,$(@D)/.config)
311 ifeq ($(BR2_TOOLCHAIN_BUILDROOT_USE_SSP),y)
312 define UCLIBC_SSP_CONFIG
313 $(call KCONFIG_ENABLE_OPT,UCLIBC_HAS_SSP,$(@D)/.config)
314 $(call KCONFIG_ENABLE_OPT,UCLIBC_BUILD_SSP,$(@D)/.config)
317 define UCLIBC_SSP_CONFIG
318 $(call KCONFIG_DISABLE_OPT,UCLIBC_HAS_SSP,$(@D)/.config)
319 $(call KCONFIG_DISABLE_OPT,UCLIBC_BUILD_SSP,$(@D)/.config)
326 ifeq ($(BR2_PTHREADS_NONE),y)
327 define UCLIBC_THREAD_CONFIG
328 $(call KCONFIG_DISABLE_OPT,UCLIBC_HAS_THREADS,$(@D)/.config)
329 $(call KCONFIG_DISABLE_OPT,LINUXTHREADS,$(@D)/.config)
330 $(call KCONFIG_DISABLE_OPT,LINUXTHREADS_OLD,$(@D)/.config)
331 $(call KCONFIG_DISABLE_OPT,UCLIBC_HAS_THREADS_NATIVE,$(@D)/.config)
333 else ifeq ($(BR2_PTHREADS),y)
334 define UCLIBC_THREAD_CONFIG
335 $(call KCONFIG_ENABLE_OPT,UCLIBC_HAS_THREADS,$(@D)/.config)
336 $(call KCONFIG_ENABLE_OPT,LINUXTHREADS_NEW,$(@D)/.config)
337 $(call KCONFIG_DISABLE_OPT,LINUXTHREADS_OLD,$(@D)/.config)
338 $(call KCONFIG_DISABLE_OPT,UCLIBC_HAS_THREADS_NATIVE,$(@D)/.config)
340 else ifeq ($(BR2_PTHREADS_OLD),y)
341 define UCLIBC_THREAD_CONFIG
342 $(call KCONFIG_ENABLE_OPT,UCLIBC_HAS_THREADS,$(@D)/.config)
343 $(call KCONFIG_DISABLE_OPT,LINUXTHREADS_NEW,$(@D)/.config)
344 $(call KCONFIG_ENABLE_OPT,LINUXTHREADS_OLD,$(@D)/.config)
345 $(call KCONFIG_DISABLE_OPT,UCLIBC_HAS_THREADS_NATIVE,$(@D)/.config)
347 else ifeq ($(BR2_PTHREADS_NATIVE),y)
348 define UCLIBC_THREAD_CONFIG
349 $(call KCONFIG_ENABLE_OPT,UCLIBC_HAS_THREADS,$(@D)/.config)
350 $(call KCONFIG_DISABLE_OPT,LINUXTHREADS_NEW,$(@D)/.config)
351 $(call KCONFIG_DISABLE_OPT,LINUXTHREADS_OLD,$(@D)/.config)
352 $(call KCONFIG_ENABLE_OPT,UCLIBC_HAS_THREADS_NATIVE,$(@D)/.config)
360 ifeq ($(BR2_PTHREAD_DEBUG),y)
361 UCLIBC_THREAD_DEBUG_CONFIG = $(call KCONFIG_ENABLE_OPT,PTHREADS_DEBUG_SUPPORT,$(@D)/.config)
363 UCLIBC_THREAD_DEBUG_CONFIG = $(call KCONFIG_DISABLE_OPT,PTHREADS_DEBUG_SUPPORT,$(@D)/.config)
370 ifeq ($(BR2_TOOLCHAIN_BUILDROOT_LOCALE),y)
371 define UCLIBC_LOCALE_CONFIG
372 $(call KCONFIG_ENABLE_OPT,UCLIBC_HAS_LOCALE,$(@D)/.config)
373 $(call KCONFIG_DISABLE_OPT,UCLIBC_BUILD_ALL_LOCALE,$(@D)/.config)
374 $(call KCONFIG_ENABLE_OPT,UCLIBC_BUILD_MINIMAL_LOCALE,$(@D)/.config)
375 $(call KCONFIG_SET_OPT,UCLIBC_BUILD_MINIMAL_LOCALES,"$(UCLIBC_LOCALES)",$(@D)/.config)
376 $(call KCONFIG_DISABLE_OPT,UCLIBC_PREGENERATED_LOCALE_DATA,$(@D)/.config)
377 $(call KCONFIG_DISABLE_OPT,DOWNLOAD_PREGENERATED_LOCALE_DATA,$(@D)/.config)
378 $(call KCONFIG_ENABLE_OPT,UCLIBC_HAS_XLOCALE,$(@D)/.config)
379 $(call KCONFIG_DISABLE_OPT,UCLIBC_HAS_GLIBC_DIGIT_GROUPING,$(@D)/.config)
382 define UCLIBC_LOCALE_CONFIG
383 $(call KCONFIG_DISABLE_OPT,UCLIBC_HAS_LOCALE,$(@D)/.config)
391 ifeq ($(BR2_TOOLCHAIN_BUILDROOT_WCHAR),y)
392 UCLIBC_WCHAR_CONFIG = $(call KCONFIG_ENABLE_OPT,UCLIBC_HAS_WCHAR,$(@D)/.config)
394 UCLIBC_WCHAR_CONFIG = $(call KCONFIG_DISABLE_OPT,UCLIBC_HAS_WCHAR,$(@D)/.config)
401 ifeq ($(BR2_STATIC_LIBS),y)
402 UCLIBC_SHARED_LIBS_CONFIG = $(call KCONFIG_DISABLE_OPT,HAVE_SHARED,$(@D)/.config)
404 UCLIBC_SHARED_LIBS_CONFIG = $(call KCONFIG_ENABLE_OPT,HAVE_SHARED,$(@D)/.config)
411 UCLIBC_MAKE_FLAGS = \
412 ARCH="$(UCLIBC_TARGET_ARCH)" \
413 CROSS_COMPILE="$(TARGET_CROSS)" \
414 UCLIBC_EXTRA_CFLAGS="$(UCLIBC_EXTRA_CFLAGS) $(TARGET_ABI)" \
417 define UCLIBC_KCONFIG_FIXUP_CMDS
418 $(call KCONFIG_SET_OPT,CROSS_COMPILER_PREFIX,"$(TARGET_CROSS)",$(@D)/.config)
419 $(call KCONFIG_ENABLE_OPT,TARGET_$(UCLIBC_TARGET_ARCH),$(@D)/.config)
420 $(call KCONFIG_SET_OPT,TARGET_ARCH,"$(UCLIBC_TARGET_ARCH)",$(@D)/.config)
421 $(call KCONFIG_SET_OPT,KERNEL_HEADERS,"$(LINUX_HEADERS_DIR)/usr/include",$(@D)/.config)
422 $(call KCONFIG_SET_OPT,RUNTIME_PREFIX,"/",$(@D)/.config)
423 $(call KCONFIG_SET_OPT,DEVEL_PREFIX,"/usr",$(@D)/.config)
424 $(call KCONFIG_SET_OPT,SHARED_LIB_LOADER_PREFIX,"/lib",$(@D)/.config)
426 $(UCLIBC_ARC_TYPE_CONFIG)
427 $(UCLIBC_ARM_ABI_CONFIG)
428 $(UCLIBC_ARM_BX_CONFIG)
429 $(UCLIBC_MIPS_ABI_CONFIG)
430 $(UCLIBC_MIPS_ISA_CONFIG)
431 $(UCLIBC_SH_TYPE_CONFIG)
432 $(UCLIBC_SPARC_TYPE_CONFIG)
433 $(UCLIBC_POWERPC_TYPE_CONFIG)
434 $(UCLIBC_AVR32_CONFIG)
435 $(UCLIBC_BFIN_CONFIG)
436 $(UCLIBC_X86_TYPE_CONFIG)
437 $(UCLIBC_ENDIAN_CONFIG)
438 $(UCLIBC_LARGEFILE_CONFIG)
439 $(UCLIBC_IPV6_CONFIG)
441 $(UCLIBC_FLOAT_CONFIG)
443 $(UCLIBC_THREAD_CONFIG)
444 $(UCLIBC_THREAD_DEBUG_CONFIG)
445 $(UCLIBC_LOCALE_CONFIG)
446 $(UCLIBC_WCHAR_CONFIG)
447 $(UCLIBC_SHARED_LIBS_CONFIG)
450 ifeq ($(BR2_UCLIBC_INSTALL_TEST_SUITE),y)
451 define UCLIBC_BUILD_TEST_SUITE
452 $(MAKE1) -C $(@D)/test \
453 $(UCLIBC_MAKE_FLAGS) \
454 ARCH_CFLAGS=-I$(STAGING_DIR)/usr/include \
456 TEST_INSTALLED_UCLIBC=1 \
461 # In uClibc 0.9.31 parallel building is broken so we have to disable it
462 # Fortunately uClibc 0.9.31 is only used by AVR32 and in its turn AVR32 is
463 # about to be removed from buildroot.
465 # So as soon as AVR32 is removed please revert this patch so instead of
466 # UCLIBC_MAKE normal "MAKE" is used in UCLIBC_BUILD_CMDS
467 ifeq ($(BR2_UCLIBC_VERSION_0_9_31),y)
468 UCLIBC_MAKE = $(MAKE1)
470 UCLIBC_MAKE = $(MAKE)
473 define UCLIBC_BUILD_CMDS
474 $(UCLIBC_MAKE) -C $(@D) $(UCLIBC_MAKE_FLAGS) headers
475 $(UCLIBC_MAKE) -C $(@D) $(UCLIBC_MAKE_FLAGS)
476 $(MAKE) -C $(@D)/utils \
478 HOSTCC="$(HOSTCC)" hostutils
481 ifeq ($(BR2_UCLIBC_INSTALL_TEST_SUITE),y)
482 define UCLIBC_INSTALL_TEST_SUITE
483 mkdir -p $(TARGET_DIR)/root/uClibc
484 cp -rdpf $(@D)/test $(TARGET_DIR)/root/uClibc
485 $(INSTALL) -D -m 0644 $(@D)/Rules.mak $(TARGET_DIR)/root/uClibc/Rules.mak
486 $(INSTALL) -D -m 0644 $(@D)/.config $(TARGET_DIR)/root/uClibc/.config
490 ifeq ($(BR2_UCLIBC_INSTALL_UTILS),y)
491 define UCLIBC_INSTALL_UTILS_TARGET
493 CC="$(TARGET_CC)" CPP="$(TARGET_CPP)" LD="$(TARGET_LD)" \
494 ARCH="$(UCLIBC_TARGET_ARCH)" \
495 PREFIX=$(TARGET_DIR) \
500 define UCLIBC_INSTALL_TARGET_CMDS
502 $(UCLIBC_MAKE_FLAGS) \
503 PREFIX=$(TARGET_DIR) \
507 $(UCLIBC_INSTALL_UTILS_TARGET)
508 $(UCLIBC_BUILD_TEST_SUITE)
509 $(UCLIBC_INSTALL_TEST_SUITE)
512 # STATIC has no ld* tools, only getconf
513 ifeq ($(BR2_STATIC_LIBS),)
514 define UCLIBC_INSTALL_UTILS_STAGING
515 $(INSTALL) -D -m 0755 $(@D)/utils/ldd.host $(HOST_DIR)/usr/bin/ldd
516 ln -sf ldd $(HOST_DIR)/usr/bin/$(GNU_TARGET_NAME)-ldd
517 $(INSTALL) -D -m 0755 $(@D)/utils/ldconfig.host $(HOST_DIR)/usr/bin/ldconfig
518 ln -sf ldconfig $(HOST_DIR)/usr/bin/$(GNU_TARGET_NAME)-ldconfig
522 define UCLIBC_INSTALL_STAGING_CMDS
524 $(UCLIBC_MAKE_FLAGS) \
525 PREFIX=$(STAGING_DIR) \
528 install_runtime install_dev
529 $(UCLIBC_INSTALL_UTILS_STAGING)
532 $(eval $(kconfig-package))