uboot/tools
Stephen Warren f79f1e0c0e buildman: allow more incremental building
One use-case for buildman is to continually run it interactively after
each small step in a large refactoring operation. This gives more
immediate feedback than making a number of commits and then going back and
testing them. For this to work well, buildman needs to be extremely fast.
At present, a couple issues prevent it being as fast as it could be:

1) Each time buildman runs "make %_defconfig", it runs "make mrproper"
first. This throws away all previous build results, requiring a
from-scratch build. Optionally avoiding this would speed up the build, at
the cost of potentially causing or missing some build issues.

2) A build tree is created per thread rather than per board. When a thread
switches between building different boards, this often causes many files
to be rebuilt due to changing config options. Using a separate build tree
for each board would avoid this. This does put more strain on the system's
disk cache, but it is worth it on my system at least.

This commit adds two command-line options to implement the changes
described above; -I ("--incremental") turns of "make mrproper" and -P
("--per-board-out-dir") creats a build directory per board rather than per
thread.

Tested:

    ./tools/buildman/buildman.py tegra
    ./tools/buildman/buildman.py -I -P tegra
    ./tools/buildman/buildman.py -b tegra_dev tegra
    ./tools/buildman/buildman.py -b tegra_dev -I -P tegra

... each once after deleting the buildman result/work directory, and once
"incrementally" after a previous identical invocation.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Acked-by: Simon Glass <sjg@chromium.org> # v1
Tested-by: Simon Glass <sjg@chromium.org> # v1
Acked-by: Simon Glass <sjg@chromium.org>
2016-05-17 09:54:43 -06:00
..
buildman buildman: allow more incremental building 2016-05-17 09:54:43 -06:00
easylogo Various Makefiles: Add SPDX-License-Identifier tags 2015-11-10 09:19:52 -05:00
env tools: env: fix config file loading in env library 2016-05-02 18:37:10 -04:00
gdb
kermit
logos dm: video: test: Test that bitmap display works correctly 2016-01-20 19:10:16 -07:00
omap
palmtreo680 Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
patman buildman: Allow branch names which conflict with directories 2016-03-17 21:27:39 -06:00
scripts
tbot test, tools: update tbot documentation 2016-05-13 11:25:59 -04:00
.gitignore
Makefile cmd: Fix license command 2016-03-22 12:16:13 -04:00
aisimage.c
aisimage.h
atmel_pmecc_params.c Change my mailaddress 2016-05-02 18:37:09 -04:00
atmelimage.c Change my mailaddress 2016-05-02 18:37:09 -04:00
bin2header.c cmd: Fix license command 2016-03-22 12:16:13 -04:00
bmp_logo.c
default_image.c Fix variation in timestamps caused by timezone differences. 2015-10-11 17:12:12 -04:00
dumpimage.c
dumpimage.h
envcrc.c
fdt_host.h
fdtgrep.c fdtgrep: Improve error handling with invalid device tree 2016-03-14 15:34:50 -06:00
fit_check_sign.c Fix bad return value checks (detected with Coccinelle) 2015-10-24 13:50:30 -04:00
fit_common.c
fit_common.h
fit_image.c fit_image: Fix a double close() on the error path 2016-05-02 18:37:10 -04:00
fit_info.c
gen_eth_addr.c
genboardscfg.py
getline.c
getline.h
gpheader.h
gpimage-common.c
gpimage.c
ifdtool.c
ifdtool.h
image-host.c
imagetool.c mkimage: Close the file when unable to get its size 2016-03-22 12:16:19 -04:00
imagetool.h mkimage: Support placing data outside the FIT 2016-03-14 19:18:29 -04:00
img2brec.sh
img2srec.c
imximage.c imximage: fix commands other than write_data 2015-10-07 13:43:15 +02:00
imximage.h imximage: fix commands other than write_data 2015-10-07 13:43:15 +02:00
jtagconsole
kwbimage.c tools/kwbimage: fix size computations for v1 images 2015-11-29 16:02:44 +01:00
kwbimage.h tools/kwbimage: fix endianess issue 2015-11-29 16:02:44 +01:00
kwboot.c tools: kwboot: Add xmodem timeout option 2016-03-24 10:08:49 +01:00
lpc32xximage.c
microcode-tool
microcode-tool.py tools: microcode-tool: Support parsing header file with a license block 2016-01-13 12:20:14 +08:00
mingw_support.c
mingw_support.h
mkenvimage.c
mkexynosspl.c Fix bad return value checks (detected with Coccinelle) 2015-10-24 13:50:30 -04:00
mkimage.c mkimage: fix generation of FIT image 2016-05-03 11:28:18 -04:00
mkimage.h
mksunxiboot.c
moveconfig.py Fix various typos, scattered over the code. 2016-05-05 21:39:26 -04:00
mxsboot.c mxsboot: remove unused include 2016-02-21 11:09:19 +01:00
mxsimage.c
mxsimage.h
ncb.c
netconsole
omapimage.c
omapimage.h
os_support.c
os_support.h
pbl_crc32.c
pbl_crc32.h
pblimage.c
pblimage.h
proftool.c tools/proftool: fix use-after-free 2015-11-16 17:22:18 -05:00
relocate-rela.c
rkcommon.c rockchip: mkimage: use imagename to select spl hdr & spl size 2015-12-13 17:07:29 -07:00
rkcommon.h rockchip: mkimage: use imagename to select spl hdr & spl size 2015-12-13 17:07:29 -07:00
rkimage.c rockchip: mkimage: use imagename to select spl hdr & spl size 2015-12-13 17:07:29 -07:00
rkmux.py rockchip: Add a script to parse datasheets 2016-01-21 20:42:37 -07:00
rksd.c rockchip: mkimage: use imagename to select spl hdr & spl size 2015-12-13 17:07:29 -07:00
rkspi.c rockchip: Drop a debug message when outputing SPI images 2016-01-08 07:59:06 -07:00
socfpgaimage.c
ublimage.c
ublimage.h
ubsha1.c
xway-swap-bytes.c
zynqimage.c tools: zynqimage: Clean up check_params 2015-12-18 13:15:57 +01:00