37 lines
1019 B
Makefile
37 lines
1019 B
Makefile
|
## SPDX-License-Identifier: GPL-2.0-only
|
||
|
|
||
|
build_dir=$(CURDIR)/build
|
||
|
skiboot_dir=$(CURDIR)/skiboot
|
||
|
skiboot_git_repo=$(CONFIG_SKIBOOT_GIT_REPO)
|
||
|
skiboot_revision=$(CONFIG_SKIBOOT_REVISION)
|
||
|
skiboot_elf=$(build_dir)/skiboot.elf
|
||
|
skiboot_cross=$(or $(CROSS),powerpc64-linux-gnu-)
|
||
|
|
||
|
unexport $(COREBOOT_EXPORTS)
|
||
|
|
||
|
.PHONY: all clean distclean
|
||
|
|
||
|
all: $(skiboot_elf)
|
||
|
|
||
|
$(skiboot_elf): | $(skiboot_dir) $(build_dir)
|
||
|
+$(MAKE) -C $(skiboot_dir) CROSS="$(skiboot_cross)"
|
||
|
cp $(skiboot_dir)/skiboot.elf $@
|
||
|
# skiboot is always built with debug information due to unconditional -ggdb
|
||
|
$(skiboot_cross)strip $@
|
||
|
|
||
|
$(skiboot_dir):
|
||
|
git clone $(skiboot_git_repo) $(skiboot_dir)
|
||
|
git -C $(skiboot_dir) checkout $(skiboot_revision)
|
||
|
|
||
|
$(build_dir):
|
||
|
mkdir -p $(build_dir)
|
||
|
|
||
|
distclean: clean
|
||
|
rm -rf $(skiboot_dir)
|
||
|
|
||
|
clean:
|
||
|
# Redefine RM because it's used like `$(RM) non-existent-file`
|
||
|
# Also ignore useless messages about removing test files
|
||
|
[ ! -d $(skiboot_dir) ] || $(MAKE) -C $(skiboot_dir) RM="rm -rf" clean > /dev/null
|
||
|
rm -rf $(build_dir)
|