/ payloads / Makefile.mk
Makefile.mk
 1  ##
 2  ##
 3  ## Copyright (C) 2016 Google Inc.
 4  ##
 5  ## SPDX-License-Identifier: GPL-2.0-only
 6  
 7  cbfs-files-$(CONFIG_COREINFO_SECONDARY_PAYLOAD) += img/coreinfo
 8  img/coreinfo-file := payloads/coreinfo/build/coreinfo.elf
 9  img/coreinfo-type := payload
10  img/coreinfo-compression := $(CBFS_SECONDARY_PAYLOAD_COMPRESS_FLAG)
11  
12  cbfs-files-$(CONFIG_NVRAMCUI_SECONDARY_PAYLOAD) += img/nvramcui
13  img/nvramcui-file := payloads/nvramcui/build/nvramcui.elf
14  img/nvramcui-type := payload
15  img/nvramcui-compression := $(CBFS_SECONDARY_PAYLOAD_COMPRESS_FLAG)
16  
17  PAYLOADS_LIST=\
18  payloads/coreinfo \
19  payloads/nvramcui \
20  payloads/libpayload \
21  payloads/external/depthcharge \
22  payloads/external/SeaBIOS \
23  payloads/external/U-Boot \
24  payloads/external/Memtest86Plus \
25  payloads/external/iPXE \
26  payloads/external/tint \
27  payloads/external/edk2 \
28  payloads/external/GRUB2 \
29  payloads/external/LinuxBoot \
30  payloads/external/skiboot \
31  payloads/external/leanefi \
32  payloads/external/coreDOOM \
33  
34  force-payload:
35  
36  payloads/coreinfo/build/coreinfo.elf coreinfo: export CCACHE := $(CCACHE)
37  payloads/coreinfo/build/coreinfo.elf coreinfo: force-payload
38  	$(MAKE) -C payloads/coreinfo defaultbuild
39  
40  payloads/nvramcui/build/nvramcui.elf nvramcui: export CCACHE := $(CCACHE)
41  payloads/nvramcui/build/nvramcui.elf nvramcui: force-payload
42  	$(MAKE) -C payloads/nvramcui
43  
44  clean-payloads:
45  	$(foreach payload, $(PAYLOADS_LIST), $(MAKE) -C $(payload) clean; )
46  
47  distclean-payloads:
48  	$(foreach payload, $(PAYLOADS_LIST), $(MAKE) -C $(payload) distclean; )
49  
50  print-repo-info-payloads:
51  	-$(foreach payload, $(PAYLOADS_LIST), $(MAKE) -C $(payload) print-repo-info 2>/dev/null; )
52  
53  ifeq ($(CONFIG_PAYLOAD_NONE),y)
54  show_notices:: warn_no_payload
55  endif
56  
57  warn_no_payload:
58  	printf "\n\t** WARNING **\n"
59  	printf "coreboot has been built without a payload. Writing\n"
60  	printf "a coreboot image without a payload to your board's\n"
61  	printf "flash chip will result in a non-booting system. You\n"
62  	printf "can use cbfstool to add a payload to the image.\n\n"
63  
64  .PHONY: force-payload coreinfo nvramcui
65  .PHONY: clean-payloads distclean-payloads print-repo-info-payloads warn_no_payload