/ payloads / external / skiboot / Makefile
Makefile
 1  ## SPDX-License-Identifier: GPL-2.0-only
 2  
 3  build_dir=$(CURDIR)/build
 4  skiboot_dir=$(CURDIR)/skiboot
 5  skiboot_git_repo=$(CONFIG_SKIBOOT_GIT_REPO)
 6  skiboot_revision=$(CONFIG_SKIBOOT_REVISION)
 7  skiboot_elf=$(build_dir)/skiboot.elf
 8  skiboot_cross=$(or $(CROSS),powerpc64-linux-gnu-)
 9  
10  unexport $(COREBOOT_EXPORTS)
11  
12  .PHONY: all clean distclean
13  
14  all: $(skiboot_elf)
15  
16  $(skiboot_elf): | $(skiboot_dir) $(build_dir)
17  	+$(MAKE) -C $(skiboot_dir) CROSS="$(skiboot_cross)"
18  	cp $(skiboot_dir)/skiboot.elf $@
19  	# skiboot is always built with debug information due to unconditional -ggdb
20  	$(skiboot_cross)strip $@
21  
22  $(skiboot_dir):
23  	git clone $(skiboot_git_repo) $(skiboot_dir)
24  	git -C $(skiboot_dir) checkout $(skiboot_revision)
25  
26  $(build_dir):
27  	mkdir -p $(build_dir)
28  
29  distclean: clean
30  	rm -rf $(skiboot_dir)
31  
32  clean:
33  	# Redefine RM because it's used like `$(RM) non-existent-file`
34  	# Also ignore useless messages about removing test files
35  	[ ! -d $(skiboot_dir) ] || \
36  	        $(MAKE) -C $(skiboot_dir) RM="rm -rf" CROSS="$(skiboot_cross)" clean > /dev/null
37  	rm -rf $(build_dir)