2018-05-06 21:58:06 +00:00
|
|
|
# SPDX-License-Identifier: GPL-2.0+
|
2016-01-18 03:53:51 +00:00
|
|
|
#
|
|
|
|
# (C) Copyright 2004-2006
|
|
|
|
# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
|
|
|
|
|
|
|
ifndef CONFIG_SPL_BUILD
|
|
|
|
# core command
|
2016-01-18 03:53:52 +00:00
|
|
|
obj-y += boot.o
|
|
|
|
obj-$(CONFIG_CMD_BOOTM) += bootm.o
|
|
|
|
obj-y += help.o
|
|
|
|
obj-y += version.o
|
2016-01-18 03:53:51 +00:00
|
|
|
|
|
|
|
# command
|
2020-04-26 15:19:53 +00:00
|
|
|
obj-$(CONFIG_CMD_ACPI) += acpi.o
|
2016-01-18 03:53:52 +00:00
|
|
|
obj-$(CONFIG_CMD_AES) += aes.o
|
2019-07-05 12:37:33 +00:00
|
|
|
obj-$(CONFIG_CMD_AB_SELECT) += ab_select.o
|
2018-04-27 13:17:57 +00:00
|
|
|
obj-$(CONFIG_CMD_ADC) += adc.o
|
2016-01-18 03:53:52 +00:00
|
|
|
obj-$(CONFIG_CMD_ARMFLASH) += armflash.o
|
2019-12-02 15:52:31 +00:00
|
|
|
obj-$(CONFIG_HAVE_BLOCK_DEVICE) += blk_common.o
|
2016-01-18 03:53:52 +00:00
|
|
|
obj-$(CONFIG_CMD_SOURCE) += source.o
|
cmd: Add 'bcb' command to read/modify/write BCB fields
'Bootloader Control Block' (BCB) is a well established term/acronym in
the Android namespace which refers to a location in a dedicated raw
(i.e. FS-unaware) flash (e.g. eMMC) partition, usually called "misc",
which is used as media for exchanging messages between Android userspace
(particularly recovery [1]) and an Android-capable bootloader.
On higher level, this allows implementing a subset of Android Bootloader
Requirements [2], amongst which is the Android-specific bootloader
flow [3]. Regardless how the latter is implemented in U-Boot ([3] being
the most memorable example), reading/writing/dumping the BCB fields in
the development process from inside the U-Boot is a convenient feature.
Hence, make it available to the users.
Some usage examples of the new command recorded on R-Car H3ULCB-KF
('>>>' is an overlay on top of the original console output):
=> bcb
bcb - Load/set/clear/test/dump/store Android BCB fields
Usage:
bcb load <dev> <part> - load BCB from mmc <dev>:<part>
bcb set <field> <val> - set BCB <field> to <val>
bcb clear [<field>] - clear BCB <field> or all fields
bcb test <field> <op> <val> - test BCB <field> against <val>
bcb dump <field> - dump BCB <field>
bcb store - store BCB back to mmc
Legend:
<dev> - MMC device index containing the BCB partition
<part> - MMC partition index or name containing the BCB
<field> - one of {command,status,recovery,stage,reserved}
<op> - the binary operator used in 'bcb test':
'=' returns true if <val> matches the string stored in <field>
'~' returns true if <val> matches a subset of <field>'s string
<val> - string/text provided as input to bcb {set,test}
NOTE: any ':' character in <val> will be replaced by line feed
during 'bcb set' and used as separator by upper layers
=> bcb dump command
Error: Please, load BCB first!
>>> Users must specify mmc device and partition before any other call
=> bcb load 1 misc
=> bcb load 1 1
>>> The two calls are equivalent (assuming "misc" has index 1)
=> bcb dump command
00000000: 62 6f 6f 74 6f 6e 63 65 2d 73 68 65 6c 6c 00 72 bootonce-shell.r
00000010: 79 00 72 00 00 00 00 00 00 00 00 00 00 00 00 00 y.r.............
>>> The output is in binary/string format for convenience
>>> The output size matches the size of inspected BCB field
>>> (32 bytes in case of 'command')
=> bcb test command = bootonce-shell && echo true
true
=> bcb test command = bootonce-shell- && echo true
=> bcb test command = bootonce-shel && echo true
>>> The '=' operator returns 'true' on perfect match
=> bcb test command ~ bootonce-shel && echo true
true
=> bcb test command ~ bootonce-shell && echo true
true
>>> The '~' operator returns 'true' on substring match
=> bcb set command recovery
=> bcb dump command
00000000: 72 65 63 6f 76 65 72 79 00 73 68 65 6c 6c 00 72 recovery.shell.r
00000010: 79 00 72 00 00 00 00 00 00 00 00 00 00 00 00 00 y.r.............
>>> The new value is NULL-terminated and stored in the BCB field
=> bcb set recovery "msg1:msg2:msg3"
=> bcb dump recovery
00000040: 6d 73 67 31 0a 6d 73 67 32 0a 6d 73 67 33 00 00 msg1.msg2.msg3..
00000050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
>>> --- snip ---
>>> Every ':' is replaced by line-feed '\n' (0xA). The latter is used
>>> as separator between individual commands by Android userspace
=> bcb store
>>> Flush/store the BCB structure to MMC
[1] https://android.googlesource.com/platform/bootable/recovery
[2] https://source.android.com/devices/bootloader
[3] https://patchwork.ozlabs.org/patch/746835/
("[U-Boot,5/6] Initial support for the Android Bootloader flow")
Signed-off-by: Eugeniu Rosca <erosca@de.adit-jv.com>
2019-05-23 15:32:22 +00:00
|
|
|
obj-$(CONFIG_CMD_BCB) += bcb.o
|
2016-01-18 03:53:52 +00:00
|
|
|
obj-$(CONFIG_CMD_BDI) += bdinfo.o
|
|
|
|
obj-$(CONFIG_CMD_BEDBUG) += bedbug.o
|
2018-08-09 14:17:46 +00:00
|
|
|
obj-$(CONFIG_CMD_BIND) += bind.o
|
2018-03-28 12:39:18 +00:00
|
|
|
obj-$(CONFIG_CMD_BINOP) += binop.o
|
2016-03-28 17:05:44 +00:00
|
|
|
obj-$(CONFIG_CMD_BLOCK_CACHE) += blkcache.o
|
2016-01-18 03:53:52 +00:00
|
|
|
obj-$(CONFIG_CMD_BMP) += bmp.o
|
2018-05-12 05:49:47 +00:00
|
|
|
obj-$(CONFIG_CMD_BOOTCOUNT) += bootcount.o
|
2016-03-09 23:27:20 +00:00
|
|
|
obj-$(CONFIG_CMD_BOOTEFI) += bootefi.o
|
2016-01-18 03:53:52 +00:00
|
|
|
obj-$(CONFIG_CMD_BOOTMENU) += bootmenu.o
|
|
|
|
obj-$(CONFIG_CMD_BOOTSTAGE) += bootstage.o
|
2016-08-12 12:31:15 +00:00
|
|
|
obj-$(CONFIG_CMD_BOOTZ) += bootz.o
|
|
|
|
obj-$(CONFIG_CMD_BOOTI) += booti.o
|
2017-09-03 15:00:30 +00:00
|
|
|
obj-$(CONFIG_CMD_BTRFS) += btrfs.o
|
2016-01-18 03:53:52 +00:00
|
|
|
obj-$(CONFIG_CMD_CACHE) += cache.o
|
|
|
|
obj-$(CONFIG_CMD_CBFS) += cbfs.o
|
|
|
|
obj-$(CONFIG_CMD_CLK) += clk.o
|
2018-12-01 09:47:20 +00:00
|
|
|
obj-$(CONFIG_CMD_CLS) += cls.o
|
2017-01-30 02:12:07 +00:00
|
|
|
obj-$(CONFIG_CMD_CONFIG) += config.o
|
2018-09-07 17:43:11 +00:00
|
|
|
obj-$(CONFIG_CMD_CONITRACE) += conitrace.o
|
2016-01-18 03:53:52 +00:00
|
|
|
obj-$(CONFIG_CMD_CONSOLE) += console.o
|
|
|
|
obj-$(CONFIG_CMD_CPU) += cpu.o
|
|
|
|
obj-$(CONFIG_DATAFLASH_MMC_SELECT) += dataflash_mmc_mux.o
|
|
|
|
obj-$(CONFIG_CMD_DATE) += date.o
|
|
|
|
obj-$(CONFIG_CMD_DEMO) += demo.o
|
2018-12-08 00:00:39 +00:00
|
|
|
obj-$(CONFIG_CMD_DM) += dm.o
|
2016-01-18 03:53:52 +00:00
|
|
|
obj-$(CONFIG_CMD_SOUND) += sound.o
|
2016-01-18 03:53:51 +00:00
|
|
|
ifdef CONFIG_POST
|
2016-01-18 03:53:52 +00:00
|
|
|
obj-$(CONFIG_CMD_DIAG) += diag.o
|
2016-01-18 03:53:51 +00:00
|
|
|
endif
|
2019-12-24 16:51:06 +00:00
|
|
|
obj-$(CONFIG_CMD_ADTIMG) += adtimg.o
|
2020-01-24 15:53:42 +00:00
|
|
|
obj-$(CONFIG_CMD_ABOOTIMG) += abootimg.o
|
2016-01-18 03:53:52 +00:00
|
|
|
obj-$(CONFIG_CMD_ECHO) += echo.o
|
|
|
|
obj-$(CONFIG_ENV_IS_IN_EEPROM) += eeprom.o
|
|
|
|
obj-$(CONFIG_CMD_EEPROM) += eeprom.o
|
|
|
|
obj-$(CONFIG_EFI_STUB) += efi.o
|
2019-02-25 06:54:38 +00:00
|
|
|
obj-$(CONFIG_CMD_EFIDEBUG) += efidebug.o
|
2016-01-18 03:53:52 +00:00
|
|
|
obj-$(CONFIG_CMD_ELF) += elf.o
|
2016-06-20 17:11:19 +00:00
|
|
|
obj-$(CONFIG_HUSH_PARSER) += exit.o
|
2016-01-18 03:53:52 +00:00
|
|
|
obj-$(CONFIG_CMD_EXT4) += ext4.o
|
|
|
|
obj-$(CONFIG_CMD_EXT2) += ext2.o
|
|
|
|
obj-$(CONFIG_CMD_FAT) += fat.o
|
2016-04-06 18:28:04 +00:00
|
|
|
obj-$(CONFIG_CMD_FDT) += fdt.o
|
2016-01-18 03:53:52 +00:00
|
|
|
obj-$(CONFIG_CMD_FITUPD) += fitupd.o
|
|
|
|
obj-$(CONFIG_CMD_FLASH) += flash.o
|
|
|
|
obj-$(CONFIG_CMD_FPGA) += fpga.o
|
|
|
|
obj-$(CONFIG_CMD_FPGAD) += fpgad.o
|
|
|
|
obj-$(CONFIG_CMD_FS_GENERIC) += fs.o
|
|
|
|
obj-$(CONFIG_CMD_FUSE) += fuse.o
|
|
|
|
obj-$(CONFIG_CMD_GETTIME) += gettime.o
|
|
|
|
obj-$(CONFIG_CMD_GPIO) += gpio.o
|
2018-04-13 07:40:57 +00:00
|
|
|
obj-$(CONFIG_CMD_HVC) += smccc.o
|
2016-01-18 03:53:52 +00:00
|
|
|
obj-$(CONFIG_CMD_I2C) += i2c.o
|
|
|
|
obj-$(CONFIG_CMD_IOTRACE) += iotrace.o
|
|
|
|
obj-$(CONFIG_CMD_HASH) += hash.o
|
2016-09-09 01:26:39 +00:00
|
|
|
obj-$(CONFIG_CMD_IDE) += ide.o disk.o
|
2016-01-18 03:53:52 +00:00
|
|
|
obj-$(CONFIG_CMD_INI) += ini.o
|
|
|
|
obj-$(CONFIG_CMD_IRQ) += irq.o
|
|
|
|
obj-$(CONFIG_CMD_ITEST) += itest.o
|
|
|
|
obj-$(CONFIG_CMD_JFFS2) += jffs2.o
|
|
|
|
obj-$(CONFIG_CMD_CRAMFS) += cramfs.o
|
2017-04-10 17:34:58 +00:00
|
|
|
obj-$(CONFIG_LED_STATUS_CMD) += legacy_led.o
|
2017-04-10 17:34:59 +00:00
|
|
|
obj-$(CONFIG_CMD_LED) += led.o
|
2016-01-18 03:53:52 +00:00
|
|
|
obj-$(CONFIG_CMD_LICENSE) += license.o
|
|
|
|
obj-y += load.o
|
2017-12-04 20:48:26 +00:00
|
|
|
obj-$(CONFIG_CMD_LOG) += log.o
|
2020-03-30 15:22:58 +00:00
|
|
|
obj-$(CONFIG_CMD_LSBLK) += lsblk.o
|
2016-01-18 03:53:52 +00:00
|
|
|
obj-$(CONFIG_ID_EEPROM) += mac.o
|
|
|
|
obj-$(CONFIG_CMD_MD5SUM) += md5sum.o
|
|
|
|
obj-$(CONFIG_CMD_MEMORY) += mem.o
|
|
|
|
obj-$(CONFIG_CMD_IO) += io.o
|
|
|
|
obj-$(CONFIG_CMD_MFSL) += mfsl.o
|
|
|
|
obj-$(CONFIG_CMD_MII) += mii.o
|
2019-09-13 15:25:03 +00:00
|
|
|
obj-$(CONFIG_CMD_MDIO) += mdio.o
|
2016-01-18 03:53:52 +00:00
|
|
|
obj-$(CONFIG_CMD_MISC) += misc.o
|
|
|
|
obj-$(CONFIG_CMD_MMC) += mmc.o
|
|
|
|
obj-$(CONFIG_MP) += mp.o
|
2018-09-29 10:58:28 +00:00
|
|
|
obj-$(CONFIG_CMD_MTD) += mtd.o
|
2016-01-18 03:53:52 +00:00
|
|
|
obj-$(CONFIG_CMD_MTDPARTS) += mtdparts.o
|
2019-10-25 17:39:29 +00:00
|
|
|
ifneq ($(CONFIG_CMD_NAND)$(CONFIG_CMD_SF),)
|
|
|
|
obj-y += legacy-mtd-utils.o
|
|
|
|
endif
|
2016-01-18 03:53:52 +00:00
|
|
|
obj-$(CONFIG_CMD_NAND) += nand.o
|
|
|
|
obj-$(CONFIG_CMD_NET) += net.o
|
2019-02-25 06:54:36 +00:00
|
|
|
obj-$(CONFIG_CMD_NVEDIT_EFI) += nvedit_efi.o
|
2016-01-18 03:53:52 +00:00
|
|
|
obj-$(CONFIG_CMD_ONENAND) += onenand.o
|
2018-09-27 07:19:34 +00:00
|
|
|
obj-$(CONFIG_CMD_OSD) += osd.o
|
2016-01-18 03:53:52 +00:00
|
|
|
obj-$(CONFIG_CMD_PART) += part.o
|
2019-07-18 18:43:30 +00:00
|
|
|
obj-$(CONFIG_CMD_PCAP) += pcap.o
|
2016-01-18 03:53:51 +00:00
|
|
|
ifdef CONFIG_PCI
|
2016-01-18 03:53:52 +00:00
|
|
|
obj-$(CONFIG_CMD_PCI) += pci.o
|
2016-01-18 03:53:51 +00:00
|
|
|
endif
|
2018-10-24 12:10:17 +00:00
|
|
|
obj-$(CONFIG_CMD_PINMUX) += pinmux.o
|
2019-12-07 04:41:54 +00:00
|
|
|
obj-$(CONFIG_CMD_PMC) += pmc.o
|
2019-11-25 08:07:37 +00:00
|
|
|
obj-$(CONFIG_CMD_PXE) += pxe.o pxe_utils.o
|
2018-06-22 20:29:54 +00:00
|
|
|
obj-$(CONFIG_CMD_WOL) += wol.o
|
2016-05-23 02:37:17 +00:00
|
|
|
obj-$(CONFIG_CMD_QFW) += qfw.o
|
2016-01-18 03:53:52 +00:00
|
|
|
obj-$(CONFIG_CMD_READ) += read.o
|
|
|
|
obj-$(CONFIG_CMD_REGINFO) += reginfo.o
|
|
|
|
obj-$(CONFIG_CMD_REISER) += reiser.o
|
|
|
|
obj-$(CONFIG_CMD_REMOTEPROC) += remoteproc.o
|
2019-12-24 21:17:37 +00:00
|
|
|
obj-$(CONFIG_CMD_RNG) += rng.o
|
2017-12-15 00:17:11 +00:00
|
|
|
obj-$(CONFIG_CMD_ROCKUSB) += rockusb.o
|
2016-01-18 03:53:52 +00:00
|
|
|
obj-$(CONFIG_SANDBOX) += host.o
|
|
|
|
obj-$(CONFIG_CMD_SATA) += sata.o
|
2017-08-03 09:30:59 +00:00
|
|
|
obj-$(CONFIG_CMD_NVME) += nvme.o
|
2018-11-16 01:44:03 +00:00
|
|
|
obj-$(CONFIG_SANDBOX) += sb.o
|
2016-01-18 03:53:52 +00:00
|
|
|
obj-$(CONFIG_CMD_SF) += sf.o
|
2017-08-04 22:34:44 +00:00
|
|
|
obj-$(CONFIG_CMD_SCSI) += scsi.o disk.o
|
2016-01-18 03:53:52 +00:00
|
|
|
obj-$(CONFIG_CMD_SHA1SUM) += sha1sum.o
|
|
|
|
obj-$(CONFIG_CMD_SETEXPR) += setexpr.o
|
|
|
|
obj-$(CONFIG_CMD_SPI) += spi.o
|
|
|
|
obj-$(CONFIG_CMD_STRINGS) += strings.o
|
2018-04-13 07:40:57 +00:00
|
|
|
obj-$(CONFIG_CMD_SMC) += smccc.o
|
2019-11-25 08:07:38 +00:00
|
|
|
obj-$(CONFIG_CMD_SYSBOOT) += sysboot.o pxe_utils.o
|
2016-01-18 03:53:52 +00:00
|
|
|
obj-$(CONFIG_CMD_TERMINAL) += terminal.o
|
|
|
|
obj-$(CONFIG_CMD_TIME) += time.o
|
|
|
|
obj-$(CONFIG_CMD_TRACE) += trace.o
|
2016-06-20 17:11:19 +00:00
|
|
|
obj-$(CONFIG_HUSH_PARSER) += test.o
|
2018-05-15 09:57:06 +00:00
|
|
|
obj-$(CONFIG_CMD_TPM) += tpm-common.o
|
|
|
|
obj-$(CONFIG_CMD_TPM_V1) += tpm-v1.o
|
2016-01-18 03:53:52 +00:00
|
|
|
obj-$(CONFIG_CMD_TPM_TEST) += tpm_test.o
|
2018-05-15 09:57:08 +00:00
|
|
|
obj-$(CONFIG_CMD_TPM_V2) += tpm-v2.o
|
2016-10-05 00:08:08 +00:00
|
|
|
obj-$(CONFIG_CMD_CROS_EC) += cros_ec.o
|
2016-01-18 03:53:52 +00:00
|
|
|
obj-$(CONFIG_CMD_TSI148) += tsi148.o
|
|
|
|
obj-$(CONFIG_CMD_UBI) += ubi.o
|
|
|
|
obj-$(CONFIG_CMD_UBIFS) += ubifs.o
|
|
|
|
obj-$(CONFIG_CMD_UNIVERSE) += universe.o
|
2020-02-20 11:48:01 +00:00
|
|
|
obj-$(CONFIG_CMD_UNLZ4) += unlz4.o
|
2016-01-18 03:53:52 +00:00
|
|
|
obj-$(CONFIG_CMD_UNZIP) += unzip.o
|
2018-10-15 09:21:12 +00:00
|
|
|
obj-$(CONFIG_CMD_VIRTIO) += virtio.o
|
2019-04-06 00:24:02 +00:00
|
|
|
obj-$(CONFIG_CMD_WDT) += wdt.o
|
2016-01-18 03:53:52 +00:00
|
|
|
obj-$(CONFIG_CMD_LZMADEC) += lzmadec.o
|
2019-10-15 12:54:40 +00:00
|
|
|
obj-$(CONFIG_CMD_UFS) += ufs.o
|
2016-09-09 01:26:39 +00:00
|
|
|
obj-$(CONFIG_CMD_USB) += usb.o disk.o
|
2016-01-18 03:53:52 +00:00
|
|
|
obj-$(CONFIG_CMD_FASTBOOT) += fastboot.o
|
|
|
|
obj-$(CONFIG_CMD_FS_UUID) += fs_uuid.o
|
2016-01-18 03:53:51 +00:00
|
|
|
|
2016-01-18 03:53:52 +00:00
|
|
|
obj-$(CONFIG_CMD_USB_MASS_STORAGE) += usb_mass_storage.o
|
2017-08-16 18:00:53 +00:00
|
|
|
obj-$(CONFIG_CMD_USB_SDP) += usb_gadget_sdp.o
|
2016-01-18 03:53:52 +00:00
|
|
|
obj-$(CONFIG_CMD_THOR_DOWNLOAD) += thordown.o
|
|
|
|
obj-$(CONFIG_CMD_XIMG) += ximg.o
|
2017-08-04 22:34:58 +00:00
|
|
|
obj-$(CONFIG_CMD_YAFFS2) += yaffs2.o
|
2016-01-18 03:53:52 +00:00
|
|
|
obj-$(CONFIG_CMD_SPL) += spl.o
|
2018-09-18 07:35:33 +00:00
|
|
|
obj-$(CONFIG_CMD_W1) += w1.o
|
2016-01-18 03:53:52 +00:00
|
|
|
obj-$(CONFIG_CMD_ZIP) += zip.o
|
|
|
|
obj-$(CONFIG_CMD_ZFS) += zfs.o
|
2016-01-18 03:53:51 +00:00
|
|
|
|
2016-01-18 03:53:52 +00:00
|
|
|
obj-$(CONFIG_CMD_DFU) += dfu.o
|
|
|
|
obj-$(CONFIG_CMD_GPT) += gpt.o
|
|
|
|
obj-$(CONFIG_CMD_ETHSW) += ethsw.o
|
2018-08-09 12:51:21 +00:00
|
|
|
obj-$(CONFIG_CMD_AXI) += axi.o
|
2016-01-18 03:53:51 +00:00
|
|
|
|
|
|
|
# Power
|
2016-01-18 03:53:52 +00:00
|
|
|
obj-$(CONFIG_CMD_PMIC) += pmic.o
|
|
|
|
obj-$(CONFIG_CMD_REGULATOR) += regulator.o
|
2016-01-18 03:53:51 +00:00
|
|
|
|
2016-01-18 03:53:52 +00:00
|
|
|
obj-$(CONFIG_CMD_BLOB) += blob.o
|
2018-01-03 13:54:27 +00:00
|
|
|
|
2018-06-03 18:56:39 +00:00
|
|
|
# Android Verified Boot 2.0
|
|
|
|
obj-$(CONFIG_CMD_AVB) += avb.o
|
|
|
|
|
2018-12-26 16:20:35 +00:00
|
|
|
obj-$(CONFIG_ARM) += arm/
|
|
|
|
obj-$(CONFIG_RISCV) += riscv/
|
2018-01-03 13:54:27 +00:00
|
|
|
obj-$(CONFIG_X86) += x86/
|
2018-08-29 13:34:54 +00:00
|
|
|
|
|
|
|
obj-$(CONFIG_ARCH_MVEBU) += mvebu/
|
2017-04-27 04:27:53 +00:00
|
|
|
endif # !CONFIG_SPL_BUILD
|
2016-01-18 03:53:51 +00:00
|
|
|
|
2020-01-21 13:44:54 +00:00
|
|
|
obj-$(CONFIG_$(SPL_)CMD_TLV_EEPROM) += tlv_eeprom.o
|
|
|
|
|
2016-01-18 03:53:51 +00:00
|
|
|
# core command
|
2016-01-18 03:53:52 +00:00
|
|
|
obj-y += nvedit.o
|
2016-12-08 10:22:28 +00:00
|
|
|
|
2017-12-29 06:17:49 +00:00
|
|
|
obj-$(CONFIG_TI_COMMON_CMD_OPTIONS) += ti/
|
2017-01-30 02:12:07 +00:00
|
|
|
|
|
|
|
filechk_data_gz = (echo "static const char data_gz[] ="; cat $< | scripts/bin2c; echo ";")
|
|
|
|
|
|
|
|
filechk_data_size = \
|
|
|
|
(echo "static const size_t data_size = "; \
|
|
|
|
cat $< | wc -c; echo ";")
|
|
|
|
|
|
|
|
# "config" command
|
|
|
|
$(obj)/config.o: $(obj)/config_data_gz.h $(obj)/config_data_size.h
|
|
|
|
|
|
|
|
targets += config_data.gz
|
|
|
|
$(obj)/config_data.gz: $(KCONFIG_CONFIG) FORCE
|
|
|
|
$(call if_changed,gzip)
|
|
|
|
|
|
|
|
targets += config_data_gz.h
|
|
|
|
$(obj)/config_data_gz.h: $(obj)/config_data.gz FORCE
|
|
|
|
$(call filechk,data_gz)
|
|
|
|
|
|
|
|
targets += config_data_size.h
|
|
|
|
$(obj)/config_data_size.h: $(KCONFIG_CONFIG) FORCE
|
|
|
|
$(call filechk,data_size)
|
2017-01-30 02:12:08 +00:00
|
|
|
|
|
|
|
# "license" command
|
|
|
|
$(obj)/license.o: $(obj)/license_data_gz.h $(obj)/license_data_size.h
|
|
|
|
|
|
|
|
targets += license_data.gz
|
|
|
|
$(obj)/license_data.gz: $(srctree)/Licenses/gpl-2.0.txt FORCE
|
|
|
|
$(call if_changed,gzip)
|
|
|
|
|
|
|
|
targets += license_data_gz.h
|
|
|
|
$(obj)/license_data_gz.h: $(obj)/license_data.gz FORCE
|
|
|
|
$(call filechk,data_gz)
|
|
|
|
|
|
|
|
targets += license_data_size.h
|
|
|
|
$(obj)/license_data_size.h: $(srctree)/Licenses/gpl-2.0.txt FORCE
|
|
|
|
$(call filechk,data_size)
|
2017-05-28 12:49:51 +00:00
|
|
|
|
|
|
|
CFLAGS_ethsw.o := -Wno-enum-conversion
|