blob: a2336aa876a7b368a7290fc55a46e44584179350 [file] [log] [blame]
Martin Roth4351ace2016-02-16 19:40:47 -07001##
Martin Roth4351ace2016-02-16 19:40:47 -07002##
3## Copyright (C) 2016 Google Inc.
4##
Patrick Georgi8480c0b2020-05-08 22:50:46 +02005## SPDX-License-Identifier: GPL-2.0-only
Martin Roth4351ace2016-02-16 19:40:47 -07006
7cbfs-files-$(CONFIG_COREINFO_SECONDARY_PAYLOAD) += img/coreinfo
8img/coreinfo-file := payloads/coreinfo/build/coreinfo.elf
Ronald G. Minnichc6d13492018-05-15 18:05:07 -07009img/coreinfo-type := payload
Arthur Heymans47dd96d2018-02-07 13:01:43 +010010img/coreinfo-compression := $(CBFS_SECONDARY_PAYLOAD_COMPRESS_FLAG)
Martin Roth4351ace2016-02-16 19:40:47 -070011
Iru Cai736aa742016-04-15 15:48:14 +080012cbfs-files-$(CONFIG_NVRAMCUI_SECONDARY_PAYLOAD) += img/nvramcui
Nico Huberdd11bf92020-11-15 19:32:12 +010013img/nvramcui-file := payloads/nvramcui/build/nvramcui.elf
Ronald G. Minnichc6d13492018-05-15 18:05:07 -070014img/nvramcui-type := payload
Arthur Heymans47dd96d2018-02-07 13:01:43 +010015img/nvramcui-compression := $(CBFS_SECONDARY_PAYLOAD_COMPRESS_FLAG)
Iru Cai736aa742016-04-15 15:48:14 +080016
Martin Rothe68a4382016-03-16 10:45:35 -060017PAYLOADS_LIST=\
18payloads/coreinfo \
Iru Cai736aa742016-04-15 15:48:14 +080019payloads/nvramcui \
Martin Rothe68a4382016-03-16 10:45:35 -060020payloads/libpayload \
21payloads/external/depthcharge \
22payloads/external/SeaBIOS \
23payloads/external/U-Boot \
Martin Roth888a98b2016-03-13 13:00:43 -060024payloads/external/Memtest86Plus \
Antonello Dettori4f7d3292016-05-27 23:44:47 +020025payloads/external/iPXE \
Martin Roth4769cc32016-06-02 16:42:29 -060026payloads/external/tint \
Sean Rhodes38c99b52022-07-13 10:11:44 +010027payloads/external/edk2 \
Nico Huber40b2ae32017-08-14 02:01:22 +020028payloads/external/GRUB2 \
Philipp Deppenwiese0f0e4e62018-06-19 20:22:32 +020029payloads/external/LinuxBoot \
Sergii Dmytruka816c292021-10-27 00:23:14 +030030payloads/external/skiboot \
Nicholas Chin8d885572021-08-28 09:40:41 -060031payloads/external/coreDOOM \
Martin Rothe68a4382016-03-16 10:45:35 -060032
Nico Huberb726e092020-11-15 20:01:29 +010033force-payload:
34
Nico Hubera7d32932020-11-15 19:56:11 +010035payloads/coreinfo/build/coreinfo.elf coreinfo: export CCACHE := $(CCACHE)
Nico Huberb726e092020-11-15 20:01:29 +010036payloads/coreinfo/build/coreinfo.elf coreinfo: force-payload
Martin Roth4351ace2016-02-16 19:40:47 -070037 $(MAKE) -C payloads/coreinfo defaultbuild
Martin Roth67975572016-03-07 16:38:52 -070038
Nico Hubera7d32932020-11-15 19:56:11 +010039payloads/nvramcui/build/nvramcui.elf nvramcui: export CCACHE := $(CCACHE)
Nico Huberb726e092020-11-15 20:01:29 +010040payloads/nvramcui/build/nvramcui.elf nvramcui: force-payload
Iru Cai736aa742016-04-15 15:48:14 +080041 $(MAKE) -C payloads/nvramcui
42
Martin Roth67975572016-03-07 16:38:52 -070043clean-payloads:
Martin Rothe68a4382016-03-16 10:45:35 -060044 $(foreach payload, $(PAYLOADS_LIST), $(MAKE) -C $(payload) clean; )
Martin Roth67975572016-03-07 16:38:52 -070045
46distclean-payloads:
Martin Rothe68a4382016-03-16 10:45:35 -060047 $(foreach payload, $(PAYLOADS_LIST), $(MAKE) -C $(payload) distclean; )
Martin Roth67975572016-03-07 16:38:52 -070048
Martin Rothae269c02016-03-16 12:42:05 -060049print-repo-info-payloads:
50 -$(foreach payload, $(PAYLOADS_LIST), $(MAKE) -C $(payload) print-repo-info 2>/dev/null; )
51
Nicholas Chin15d4b952021-12-10 14:26:06 -070052ifeq ($(CONFIG_PAYLOAD_NONE),y)
Martin Roth372503f2023-12-08 00:43:23 -070053show_notices:: warn_no_payload
Nicholas Chin15d4b952021-12-10 14:26:06 -070054endif
55
56warn_no_payload:
57 printf "\n\t** WARNING **\n"
58 printf "coreboot has been built without a payload. Writing\n"
59 printf "a coreboot image without a payload to your board's\n"
60 printf "flash chip will result in a non-booting system. You\n"
61 printf "can use cbfstool to add a payload to the image.\n\n"
62
Nico Huberb726e092020-11-15 20:01:29 +010063.PHONY: force-payload coreinfo nvramcui
Nicholas Chin15d4b952021-12-10 14:26:06 -070064.PHONY: clean-payloads distclean-payloads print-repo-info-payloads warn_no_payload