mirror of
https://github.com/genodelabs/genode.git
synced 2025-01-30 16:14:13 +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 $< $@
|
$(VERBOSE)ln -sf $< $@
|
||||||
|
|
||||||
endif
|
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 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
|
# Populate directory with binaries on OKL4
|
||||||
#
|
#
|
||||||
@ -135,7 +141,7 @@ proc run_boot_dir {binaries} {
|
|||||||
#
|
#
|
||||||
# Run ELF Weaver to create a boot image
|
# 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]} {
|
if {[regexp "error" $ret dummy]} {
|
||||||
puts stderr "Elfweaver failed: $ret"
|
puts stderr "Elfweaver failed: $ret"
|
||||||
exit -6
|
exit -6
|
||||||
|
Loading…
x
Reference in New Issue
Block a user