the following patch was just integrated into master: commit 5f7e4f019e258a49fff78e90509d1fda280fc147 Author: Vadim Bendebury vbendeb@chromium.org Date: Wed May 6 21:00:10 2015 -0700
make: support absolute and relative obj= specifications
There has been a problem with out of tree build directories specified using relative paths, as in
$ make obj=../build/peppy
while specifying full path to obj works fine. This patch fixes the problem, making sure that make's path manipulation string substitute command is applied to both source and build roots.
To test this ran the following script
echo > /tmp/build.log for build_root in ./ ../ ''; do build_dirs="${build_root}build/peppy" if [ -n "${build_root}" ]; then build_dirs+=" $(realpath ${build_root})/build/peppy" fi for build_dir in ${build_dirs}; do rm -rf $build_dir .config* build* ../build* make obj=${build_dir} menuconfig # configure for google peppy board echo "building in ${build_dir}" >> /tmp/build.log if ! make obj=${build_dir}; then exit fi done done
and then checked the generated file:
$ cat /tmp/build.log
building in ./build/peppy building in /home/vbendeb/old_projects/coreboot/source_code/build/peppy building in ../build/peppy building in /home/vbendeb/old_projects/coreboot/build/peppy building in build/peppy
Change-Id: If46b046108e906796fe84716e93bf341b3785f14 Signed-off-by: Vadim Bendebury vbendeb@chromium.org Reviewed-on: http://review.coreboot.org/10127 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi pgeorgi@google.com
See http://review.coreboot.org/10127 for details.
-gerrit