mirror of
https://github.com/genodelabs/genode.git
synced 2025-01-29 15:44:02 +00:00
okl4: create elfweaver tools on demand (ref #3329)
This commit is contained in:
parent
4fa34190de
commit
817eb4f23c
@ -50,15 +50,3 @@ include/bootinfo: $(OKL4_DIR)/libs/bootinfo/include
|
||||
$(VERBOSE)ln -sf $< $@
|
||||
|
||||
endif
|
||||
|
||||
#
|
||||
# Create symlink to elfweaver so that the run tool can use it from within the
|
||||
# build directory.
|
||||
#
|
||||
HOST_TOOLS += $(BUILD_BASE_DIR)/tool/okl4/elfweaver
|
||||
|
||||
$(BUILD_BASE_DIR)/tool/okl4/elfweaver:
|
||||
mkdir -p $(dir $@)
|
||||
cp -a $(OKL4_DIR)/tools/pyelf $(dir $@)/
|
||||
ln -sf pyelf/elfweaver $@
|
||||
|
||||
|
11
repos/base-okl4/lib/mk/tools.mk
Normal file
11
repos/base-okl4/lib/mk/tools.mk
Normal file
@ -0,0 +1,11 @@
|
||||
#
|
||||
# Create symlink to elfweaver so that the run tool can use it from within the
|
||||
# build directory.
|
||||
#
|
||||
OKL4_DIR = $(call select_from_ports,okl4)/src/kernel/okl4
|
||||
HOST_TOOLS += $(BUILD_BASE_DIR)/tool/okl4/elfweaver
|
||||
|
||||
$(BUILD_BASE_DIR)/tool/okl4/elfweaver:
|
||||
$(VERBOSE)mkdir -p $(dir $@)
|
||||
$(VERBOSE)cp -a $(OKL4_DIR)/tools/pyelf $(dir $@)/
|
||||
$(VERBOSE)ln -sf pyelf/elfweaver $@
|
@ -98,6 +98,12 @@ proc run_boot_string { } {
|
||||
proc core_link_address { } { return "0x03000000" }
|
||||
|
||||
|
||||
proc elfweaver {} {
|
||||
if { ![file exists tool/okl4/elfweaver] } { build LIB=tools }
|
||||
return tool/okl4/elfweaver
|
||||
}
|
||||
|
||||
|
||||
##
|
||||
# Populate directory with binaries on OKL4
|
||||
#
|
||||
@ -135,7 +141,7 @@ proc run_boot_dir {binaries} {
|
||||
#
|
||||
# Run ELF Weaver to create a boot image
|
||||
#
|
||||
set ret [exec "./tool/okl4/elfweaver" merge --output "[run_dir]/image.elf" "[run_dir].weaver.xml"]
|
||||
set ret [exec [elfweaver] merge --output "[run_dir]/image.elf" "[run_dir].weaver.xml"]
|
||||
if {[regexp "error" $ret dummy]} {
|
||||
puts stderr "Elfweaver failed: $ret"
|
||||
exit -6
|
||||
|
Loading…
x
Reference in New Issue
Block a user