mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-22 09:58:52 +09:00
![Stefan Roese](/assets/img/avatar_default.png)
This patch adds a small printf() version that supports all basic formats. Its intented to be used in U-Boot SPL versions on platforms with very limited internal RAM sizes. To enable it, just define CONFIG_USE_TINY_PRINTF in your defconfig. This will result in the SPL using this tiny function and the main U-Boot still using the full-blown printf() function. This code was copied from: http://www.sparetimelabs.com/printfrevisited With mostly only coding style related changes so that its checkpatch clean. The size reduction is about 2.5KiB. Here a comparison for the db-mv784mp-gp (Marvell AXP) SPL: Without this patch: 58963 18536 1928 79427 13643 ./spl/u-boot-spl With this patch: 56542 18536 1956 77034 12cea ./spl/u-boot-spl Note: To make it possible to compile tiny-printf.c instead of vsprintf.c when CONFIG_USE_TINY_PRINTF is defined, the functions printf() and vprintf() are moved from common/console.c into vsprintf.c in this patch. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Simon Glass <sjg@chromium.org> Cc: Hans de Goede <hdegoede@redhat.com> Cc: Tom Rini <trini@konsulko.com> Cc: Albert Aribaud <albert.u.boot@aribaud.net>
98 lines
2.4 KiB
Makefile
98 lines
2.4 KiB
Makefile
#
|
|
# (C) Copyright 2000-2006
|
|
# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
|
#
|
|
# SPDX-License-Identifier: GPL-2.0+
|
|
#
|
|
|
|
ifndef CONFIG_SPL_BUILD
|
|
|
|
obj-$(CONFIG_EFI) += efi/
|
|
obj-$(CONFIG_RSA) += rsa/
|
|
obj-$(CONFIG_LZMA) += lzma/
|
|
obj-$(CONFIG_LZO) += lzo/
|
|
obj-$(CONFIG_ZLIB) += zlib/
|
|
obj-$(CONFIG_BZIP2) += bzip2/
|
|
obj-$(CONFIG_TIZEN) += tizen/
|
|
obj-$(CONFIG_OF_LIBFDT) += libfdt/
|
|
obj-$(CONFIG_FIT) += libfdt/
|
|
obj-$(CONFIG_FIT) += libfdt/
|
|
obj-$(CONFIG_CMD_DHRYSTONE) += dhry/
|
|
|
|
obj-$(CONFIG_AES) += aes.o
|
|
obj-$(CONFIG_USB_TTY) += circbuf.o
|
|
obj-y += crc7.o
|
|
obj-y += crc8.o
|
|
obj-y += crc16.o
|
|
obj-$(CONFIG_ERRNO_STR) += errno_str.o
|
|
obj-$(CONFIG_FIT) += fdtdec_common.o
|
|
obj-$(CONFIG_$(SPL_)OF_CONTROL) += fdtdec_common.o
|
|
obj-$(CONFIG_$(SPL_)OF_CONTROL) += fdtdec.o
|
|
obj-$(CONFIG_TEST_FDTDEC) += fdtdec_test.o
|
|
obj-$(CONFIG_GZIP) += gunzip.o
|
|
obj-$(CONFIG_GZIP_COMPRESSED) += gzip.o
|
|
obj-y += initcall.o
|
|
obj-$(CONFIG_LMB) += lmb.o
|
|
obj-y += ldiv.o
|
|
obj-$(CONFIG_LZ4) += lz4_wrapper.o
|
|
obj-$(CONFIG_MD5) += md5.o
|
|
obj-y += net_utils.o
|
|
obj-$(CONFIG_PHYSMEM) += physmem.o
|
|
obj-y += qsort.o
|
|
obj-y += rc4.o
|
|
obj-$(CONFIG_SHA1) += sha1.o
|
|
obj-$(CONFIG_SUPPORT_EMMC_RPMB) += sha256.o
|
|
obj-$(CONFIG_SHA256) += sha256.o
|
|
obj-y += strmhz.o
|
|
obj-$(CONFIG_TPM) += tpm.o
|
|
obj-$(CONFIG_RBTREE) += rbtree.o
|
|
obj-$(CONFIG_BITREVERSE) += bitrev.o
|
|
obj-y += list_sort.o
|
|
endif
|
|
|
|
ifndef CONFIG_SPL_BUILD
|
|
obj-$(CONFIG_OF_LIBFDT) += libfdt/
|
|
endif
|
|
ifdef CONFIG_SPL_OF_CONTROL
|
|
obj-$(CONFIG_OF_LIBFDT) += libfdt/
|
|
endif
|
|
obj-$(CONFIG_$(SPL_)OF_CONTROL) += fdtdec_common.o
|
|
obj-$(CONFIG_$(SPL_)OF_CONTROL) += fdtdec.o
|
|
|
|
ifdef CONFIG_SPL_BUILD
|
|
obj-$(CONFIG_SPL_YMODEM_SUPPORT) += crc16.o
|
|
obj-$(CONFIG_SPL_NET_SUPPORT) += net_utils.o
|
|
endif
|
|
obj-$(CONFIG_ADDR_MAP) += addr_map.o
|
|
obj-y += hashtable.o
|
|
obj-y += errno.o
|
|
obj-y += display_options.o
|
|
obj-$(CONFIG_BCH) += bch.o
|
|
obj-y += crc32.o
|
|
obj-y += ctype.o
|
|
obj-y += div64.o
|
|
obj-y += hang.o
|
|
obj-y += linux_compat.o
|
|
obj-y += linux_string.o
|
|
obj-y += membuff.o
|
|
obj-$(CONFIG_REGEX) += slre.o
|
|
obj-y += string.o
|
|
obj-y += time.o
|
|
obj-$(CONFIG_TRACE) += trace.o
|
|
obj-$(CONFIG_LIB_UUID) += uuid.o
|
|
obj-$(CONFIG_LIB_RAND) += rand.o
|
|
|
|
ifdef CONFIG_SPL_BUILD
|
|
# SPL U-Boot may use full-printf, tiny-printf or none at all
|
|
ifdef CONFIG_USE_TINY_PRINTF
|
|
obj-$(CONFIG_SPL_SERIAL_SUPPORT) += tiny-printf.o
|
|
else
|
|
obj-$(CONFIG_SPL_SERIAL_SUPPORT) += vsprintf.o
|
|
endif
|
|
else
|
|
# Main U-Boot always uses the full printf support
|
|
obj-y += vsprintf.o
|
|
endif
|
|
|
|
subdir-ccflags-$(CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED) += -O2
|