1# SPDX-License-Identifier: GPL-2.0+
2#
3# (C) Copyright 2004-2006
4# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
5
6ifndef CONFIG_SPL_BUILD
7# core command
8obj-y += boot.o
9obj-$(CONFIG_CMD_BOOTM) += bootm.o
10obj-y += help.o
11obj-y += panic.o
12obj-y += version.o
13
14# command
15obj-$(CONFIG_CMD_ARMFFA) += armffa.o
16obj-$(CONFIG_CMD_2048) += 2048.o
17obj-$(CONFIG_CMD_ACPI) += acpi.o
18obj-$(CONFIG_CMD_ADDRMAP) += addrmap.o
19obj-$(CONFIG_CMD_AES) += aes.o
20obj-$(CONFIG_CMD_AB_SELECT) += ab_select.o
21obj-$(CONFIG_CMD_ADC) += adc.o
22obj-$(CONFIG_CMD_ARMFLASH) += armflash.o
23obj-$(CONFIG_BLK) += blk_common.o
24obj-$(CONFIG_CMD_BOOTDEV) += bootdev.o
25obj-$(CONFIG_CMD_BOOTFLOW) += bootflow.o
26obj-$(CONFIG_CMD_BOOTMETH) += bootmeth.o
27obj-$(CONFIG_CMD_SOURCE) += source.o
28obj-$(CONFIG_CMD_BCB) += bcb.o
29obj-$(CONFIG_CMD_BDI) += bdinfo.o
30obj-$(CONFIG_CMD_BIND) += bind.o
31obj-$(CONFIG_CMD_BINOP) += binop.o
32obj-$(CONFIG_CMD_BLKMAP) += blkmap.o
33obj-$(CONFIG_CMD_BLOBLIST) += bloblist.o
34obj-$(CONFIG_CMD_BLOCK_CACHE) += blkcache.o
35obj-$(CONFIG_CMD_BMP) += bmp.o
36obj-$(CONFIG_CMD_BOOTCOUNT) += bootcount.o
37obj-$(CONFIG_CMD_BOOTEFI) += bootefi.o
38obj-$(CONFIG_CMD_BOOTMENU) += bootmenu.o
39obj-$(CONFIG_CMD_BOOTSTAGE) += bootstage.o
40obj-$(CONFIG_CMD_BOOTZ) += bootz.o
41obj-$(CONFIG_CMD_BOOTI) += booti.o
42obj-$(CONFIG_CMD_BTRFS) += btrfs.o
43obj-$(CONFIG_CMD_BUTTON) += button.o
44obj-$(CONFIG_CMD_CAT) += cat.o
45obj-$(CONFIG_CMD_CACHE) += cache.o
46obj-$(CONFIG_CMD_CBFS) += cbfs.o
47obj-$(CONFIG_CMD_CEDIT) += cedit.o
48obj-$(CONFIG_CMD_CLK) += clk.o
49obj-$(CONFIG_CMD_CLS) += cls.o
50obj-$(CONFIG_CMD_CONFIG) += config.o
51obj-$(CONFIG_CMD_CONITRACE) += conitrace.o
52obj-$(CONFIG_CMD_CONSOLE) += console.o
53obj-$(CONFIG_CMD_CPU) += cpu.o
54obj-$(CONFIG_CMD_DATE) += date.o
55obj-$(CONFIG_CMD_DEMO) += demo.o
56obj-$(CONFIG_CMD_DM) += dm.o
57obj-$(CONFIG_CMD_SOUND) += sound.o
58ifdef CONFIG_POST
59obj-$(CONFIG_CMD_DIAG) += diag.o
60endif
61obj-$(CONFIG_CMD_ADTIMG) += adtimg.o
62obj-$(CONFIG_CMD_ABOOTIMG) += abootimg.o
63obj-$(CONFIG_CMD_CYCLIC) += cyclic.o
64obj-$(CONFIG_CMD_EVENT) += event.o
65obj-$(CONFIG_CMD_EXTENSION) += extension_board.o
66obj-$(CONFIG_CMD_ECHO) += echo.o
67obj-$(CONFIG_ENV_IS_IN_EEPROM) += eeprom.o
68obj-$(CONFIG_CMD_EEPROM) += eeprom.o
69obj-$(CONFIG_EFI) += efi.o efi_common.o
70obj-$(CONFIG_CMD_EFIDEBUG) += efidebug.o efi_common.o
71obj-$(CONFIG_CMD_EFICONFIG) += eficonfig.o
72ifdef CONFIG_CMD_EFICONFIG
73ifdef CONFIG_EFI_MM_COMM_TEE
74obj-$(CONFIG_EFI_SECURE_BOOT) += eficonfig_sbkey.o
75endif
76endif
77obj-$(CONFIG_CMD_ELF) += elf.o
78obj-$(CONFIG_CMD_EROFS) += erofs.o
79obj-$(CONFIG_HUSH_PARSER) += exit.o
80obj-$(CONFIG_CMD_EXT4) += ext4.o
81obj-$(CONFIG_CMD_EXT2) += ext2.o
82obj-$(CONFIG_CMD_FAT) += fat.o
83obj-$(CONFIG_CMD_FDT) += fdt.o
84obj-$(CONFIG_CMD_SQUASHFS) += sqfs.o
85obj-$(CONFIG_CMD_SELECT_FONT) += font.o
86obj-$(CONFIG_CMD_FLASH) += flash.o
87obj-$(CONFIG_CMD_FPGA) += fpga.o
88obj-$(CONFIG_CMD_FPGAD) += fpgad.o
89obj-$(CONFIG_CMD_FS_GENERIC) += fs.o
90obj-$(CONFIG_CMD_FUSE) += fuse.o
91obj-$(CONFIG_CMD_FWU_METADATA) += fwu_mdata.o
92obj-$(CONFIG_CMD_GETTIME) += gettime.o
93obj-$(CONFIG_CMD_GPIO) += gpio.o
94obj-$(CONFIG_CMD_HISTORY) += history.o
95obj-$(CONFIG_CMD_HVC) += smccc.o
96obj-$(CONFIG_CMD_I2C) += i2c.o
97obj-$(CONFIG_CMD_IOTRACE) += iotrace.o
98obj-$(CONFIG_CMD_HASH) += hash.o
99obj-$(CONFIG_CMD_IDE) += ide.o disk.o
100obj-$(CONFIG_CMD_INI) += ini.o
101obj-$(CONFIG_CMD_IRQ) += irq.o
102obj-$(CONFIG_CMD_ITEST) += itest.o
103obj-$(CONFIG_CMD_JFFS2) += jffs2.o
104obj-$(CONFIG_CMD_CRAMFS) += cramfs.o
105obj-$(CONFIG_LED_STATUS_CMD) += legacy_led.o
106obj-$(CONFIG_CMD_LED) += led.o
107obj-$(CONFIG_CMD_LICENSE) += license.o
108obj-y += load.o
109obj-$(CONFIG_CMD_LOG) += log.o
110obj-$(CONFIG_CMD_LSBLK) += lsblk.o
111obj-$(CONFIG_CMD_MD5SUM) += md5sum.o
112obj-$(CONFIG_CMD_MEMORY) += mem.o
113obj-$(CONFIG_CMD_IO) += io.o
114obj-$(CONFIG_CMD_MII) += mii.o
115obj-$(CONFIG_CMD_MISC) += misc.o
116obj-$(CONFIG_CMD_MDIO) += mdio.o
117obj-$(CONFIG_CMD_PAUSE) += pause.o
118obj-$(CONFIG_CMD_SLEEP) += sleep.o
119obj-$(CONFIG_CMD_MMC) += mmc.o
120obj-$(CONFIG_CMD_OPTEE_RPMB) += optee_rpmb.o
121obj-$(CONFIG_CMD_MP) += mp.o
122obj-$(CONFIG_CMD_MTD) += mtd.o
123obj-$(CONFIG_CMD_MTDPARTS) += mtdparts.o
124obj-$(CONFIG_CMD_CLONE) += clone.o
125ifneq ($(CONFIG_CMD_NAND)$(CONFIG_CMD_SF),)
126obj-y += legacy-mtd-utils.o
127endif
128obj-$(CONFIG_CMD_MUX) += mux.o
129obj-$(CONFIG_CMD_NAND) += nand.o
130obj-$(CONFIG_CMD_NET) += net.o
131obj-$(CONFIG_ENV_SUPPORT) += nvedit.o
132obj-$(CONFIG_CMD_NVEDIT_EFI) += nvedit_efi.o
133obj-$(CONFIG_CMD_ONENAND) += onenand.o
134obj-$(CONFIG_CMD_OSD) += osd.o
135obj-$(CONFIG_CMD_PART) += part.o
136obj-$(CONFIG_CMD_PCAP) += pcap.o
137ifdef CONFIG_PCI
138obj-$(CONFIG_CMD_PCI) += pci.o
139obj-$(CONFIG_CMD_PCI_MPS) += pci_mps.o
140endif
141obj-$(CONFIG_CMD_PINMUX) += pinmux.o
142obj-$(CONFIG_CMD_PMC) += pmc.o
143obj-$(CONFIG_CMD_PSTORE) += pstore.o
144obj-$(CONFIG_CMD_PWM) += pwm.o
145obj-$(CONFIG_CMD_PXE) += pxe.o
146obj-$(CONFIG_CMD_WOL) += wol.o
147obj-$(CONFIG_CMD_QFW) += qfw.o
148obj-$(CONFIG_CMD_READ) += read.o
149obj-$(CONFIG_CMD_WRITE) += read.o
150obj-$(CONFIG_CMD_REGINFO) += reginfo.o
151obj-$(CONFIG_CMD_REISER) += reiser.o
152obj-$(CONFIG_CMD_REMOTEPROC) += remoteproc.o
153obj-$(CONFIG_CMD_RNG) += rng.o
154obj-$(CONFIG_CMD_KASLRSEED) += kaslrseed.o
155obj-$(CONFIG_CMD_RKMTD) += rkmtd.o
156obj-$(CONFIG_CMD_ROCKUSB) += rockusb.o
157obj-$(CONFIG_CMD_RTC) += rtc.o
158obj-$(CONFIG_SANDBOX) += host.o
159obj-$(CONFIG_CMD_SATA) += sata.o
160obj-$(CONFIG_CMD_NVME) += nvme.o
161obj-$(CONFIG_SANDBOX) += sb.o
162obj-$(CONFIG_CMD_SF) += sf.o
163obj-$(CONFIG_CMD_SCMI) += scmi.o
164obj-$(CONFIG_CMD_SCSI) += scsi.o disk.o
165obj-$(CONFIG_CMD_SHA1SUM) += sha1sum.o
166obj-$(CONFIG_CMD_SEAMA) += seama.o
167obj-$(CONFIG_CMD_SETEXPR) += setexpr.o
168obj-$(CONFIG_CMD_SETEXPR_FMT) += printf.o
169obj-$(CONFIG_CMD_SPI) += spi.o
170obj-$(CONFIG_CMD_STRINGS) += strings.o
171obj-$(CONFIG_CMD_SMBIOS) += smbios.o
172obj-$(CONFIG_CMD_SMC) += smccc.o
173obj-$(CONFIG_CMD_SYSBOOT) += sysboot.o
174obj-$(CONFIG_CMD_STACKPROTECTOR_TEST) += stackprot_test.o
175obj-$(CONFIG_CMD_TEMPERATURE) += temperature.o
176obj-$(CONFIG_CMD_TERMINAL) += terminal.o
177obj-$(CONFIG_CMD_TIME) += time.o
178obj-$(CONFIG_CMD_TIMER) += timer.o
179obj-$(CONFIG_CMD_TRACE) += trace.o
180obj-$(CONFIG_HUSH_PARSER) += test.o
181obj-$(CONFIG_CMD_TPM) += tpm-common.o
182obj-$(CONFIG_CMD_TPM_V1) += tpm-v1.o
183obj-$(CONFIG_CMD_TPM_TEST) += tpm_test.o
184obj-$(CONFIG_CMD_TPM_V2) += tpm-v2.o
185obj-$(CONFIG_CMD_CROS_EC) += cros_ec.o
186obj-$(CONFIG_CMD_TSI148) += tsi148.o
187obj-$(CONFIG_CMD_UBI) += ubi.o
188obj-$(CONFIG_CMD_UBIFS) += ubifs.o
189obj-$(CONFIG_CMD_UNIVERSE) += universe.o
190obj-$(CONFIG_CMD_UNLZ4) += unlz4.o
191obj-$(CONFIG_CMD_UNZIP) += unzip.o
192obj-$(CONFIG_CMD_VIRTIO) += virtio.o
193obj-$(CONFIG_CMD_WDT) += wdt.o
194obj-$(CONFIG_CMD_LZMADEC) += lzmadec.o
195obj-$(CONFIG_CMD_UFS) += ufs.o
196obj-$(CONFIG_CMD_USB) += usb.o disk.o
197obj-$(CONFIG_CMD_VIDCONSOLE) += video.o
198
199obj-$(CONFIG_CMD_FASTBOOT) += fastboot.o
200obj-$(CONFIG_CMD_FS_UUID) += fs_uuid.o
201
202obj-$(CONFIG_CMD_USB_MASS_STORAGE) += usb_mass_storage.o
203obj-$(CONFIG_CMD_USB_SDP) += usb_gadget_sdp.o
204obj-$(CONFIG_CMD_THOR_DOWNLOAD) += thordown.o
205obj-$(CONFIG_CMD_VBE) += vbe.o
206obj-$(CONFIG_CMD_XIMG) += ximg.o
207obj-$(CONFIG_CMD_XXD) += xxd.o
208obj-$(CONFIG_CMD_YAFFS2) += yaffs2.o
209obj-$(CONFIG_CMD_SPL) += spl.o
210obj-$(CONFIG_CMD_W1) += w1.o
211obj-$(CONFIG_CMD_ZIP) += zip.o
212obj-$(CONFIG_CMD_ZFS) += zfs.o
213
214obj-$(CONFIG_CMD_DFU) += dfu.o
215obj-$(CONFIG_CMD_GPT) += gpt.o
216obj-$(CONFIG_CMD_MBR) += mbr.o
217obj-$(CONFIG_CMD_ETHSW) += ethsw.o
218obj-$(CONFIG_CMD_AXI) += axi.o
219obj-$(CONFIG_CMD_PVBLOCK) += pvblock.o
220
221# Power
222obj-$(CONFIG_CMD_PMIC) += pmic.o
223obj-$(CONFIG_CMD_REGULATOR) += regulator.o
224
225obj-$(CONFIG_CMD_BLOB) += blob.o
226
227# Android Verified Boot 2.0
228obj-$(CONFIG_CMD_AVB) += avb.o
229
230# Foundries.IO SCP03
231obj-$(CONFIG_CMD_SCP03) += scp03.o
232
233obj-$(CONFIG_HUSH_SELECTABLE) += cli.o
234
235obj-$(CONFIG_ARM) += arm/
236obj-$(CONFIG_RISCV) += riscv/
237obj-$(CONFIG_SANDBOX) += sandbox/
238obj-$(CONFIG_X86) += x86/
239
240# Meson
241obj-$(CONFIG_CMD_MESON) += meson/
242
243obj-$(CONFIG_ARCH_MVEBU) += mvebu/
244
245# TI
246obj-$(CONFIG_ARCH_KEYSTONE) += ti/
247obj-$(CONFIG_ARCH_K3) += ti/
248obj-$(CONFIG_ARCH_OMAP2PLUS) += ti/
249endif # !CONFIG_SPL_BUILD
250
251obj-$(CONFIG_$(SPL_)CMD_TLV_EEPROM) += tlv_eeprom.o
252
253obj-$(CONFIG_CMD_BCM_EXT_UTILS) += broadcom/
254
255filechk_data_gz = (echo "static const char data_gz[] ="; cat $< | scripts/bin2c; echo ";")
256
257filechk_data_size = \
258	(echo "static const size_t data_size = "; \
259	cat $< | wc -c; echo ";")
260
261# "config" command
262$(obj)/config.o: $(obj)/config_data_gz.h $(obj)/config_data_size.h
263
264targets += config_data.gz
265$(obj)/config_data.gz: $(KCONFIG_CONFIG) FORCE
266	$(call if_changed,gzip)
267
268targets += config_data_gz.h
269$(obj)/config_data_gz.h: $(obj)/config_data.gz FORCE
270	$(call filechk,data_gz)
271
272targets += config_data_size.h
273$(obj)/config_data_size.h: $(KCONFIG_CONFIG) FORCE
274	$(call filechk,data_size)
275
276# "license" command
277$(obj)/license.o: $(obj)/license_data_gz.h $(obj)/license_data_size.h
278
279targets += license_data.gz
280$(obj)/license_data.gz: $(srctree)/Licenses/gpl-2.0.txt FORCE
281	$(call if_changed,gzip)
282
283targets += license_data_gz.h
284$(obj)/license_data_gz.h: $(obj)/license_data.gz FORCE
285	$(call filechk,data_gz)
286
287targets += license_data_size.h
288$(obj)/license_data_size.h: $(srctree)/Licenses/gpl-2.0.txt FORCE
289	$(call filechk,data_size)
290
291CFLAGS_ethsw.o := -Wno-enum-conversion
292