diff options
Diffstat (limited to 'script/trees')
-rwxr-xr-x | script/trees | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/script/trees b/script/trees index 1d8c755f..e8f8756f 100755 --- a/script/trees +++ b/script/trees @@ -8,15 +8,11 @@ set -u -e . "include/lib.sh" . "include/git.sh" -. "include/rom.sh" - -. "config/data/pico-serprog/mkhelper.cfg" -. "config/data/coreboot/mkhelper.cfg" eval `setvars "" xarch cdir defconfig cmakedir xlang mode makeargs elfdir cmd \ project target target_dir targets xtree _f release bootstrapargs mkhelper \ autoconfargs listfile autogenargs btype tree rev tree_depend build_depend \ - premake postmake` + premake postmake mkhelpercfg` main() { @@ -54,10 +50,16 @@ main() listfile="$datadir/build.list" # needed on multi, optional on single [ -f "$listfile" ] || listfile="" # optional on all projects + mkhelpercfg="$datadir/mkhelper.cfg" + + targets="$@" remkdir "${tmpgit%/*}" +} - cmd="build_targets" && singletree "$project" && cmd="build_project" - $cmd $@ +handle_project() +{ + cmd="build_targets $targets" && singletree "$project" && \ + cmd="build_project"; $cmd [ -f "$listfile" ] || return 0 [ -z "$mode" ] && [ "$_f" = "-b" ] && \ @@ -84,9 +86,8 @@ build_targets() { [ -d "$cfgsdir" ] || $err "directory, $cfgsdir, does not exist" - # Build for all targets if no argument is given - targets="$(ls -1 "$cfgsdir")" || $err "Can't get options for $cfgsdir" - [ $# -gt 0 ] && targets=$@ + [ $# -gt 0 ] || \ + targets="$(ls -1 "$cfgsdir")" || $err "$cfgsdir: Canot get options" handle_targets } @@ -288,3 +289,7 @@ copy_elf() } main $@ +e "$mkhelpercfg" f missing && mkhelpercfg="$TMPDIR/mkhelper.cfg" && x_ \ + touch "$mkhelpercfg" +. "$mkhelpercfg" +handle_project |