u-boot/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 Makefile: move BFD_ROOT_DIR to tools/gdb/Makefile 2014-02-19 11:07:50 -05:00
kermit tools: move kermit files to tools/kermit directory 2014-01-24 16:59:07 -05:00
logos dm: video: test: Test that bitmap display works correctly 2016-01-20 19:10:16 -07:00
omap Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
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 kbuild: move asm-offsets.h rules to ./Kbuild 2014-02-25 11:01:28 -05:00
tbot test, tools: update tbot documentation 2016-05-13 11:25:59 -04:00
.gitignore gitignore: Add defconfig and fdtgrep 2015-08-05 08:42:39 -06:00
aisimage.c imagetool: replace image registration function by linker_lists feature 2015-01-29 13:38:41 -05:00
aisimage.h Coding Style cleanup: remove trailing white space 2013-10-14 16:06:53 -04:00
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 tools, bmp_logo: fix index from uint16_t to int to allow bigger logos 2013-08-10 10:48:00 +02:00
default_image.c Fix variation in timestamps caused by timezone differences. 2015-10-11 17:12:12 -04:00
dumpimage.c dumpimage: replace the term "datafile" by "subimage" 2015-01-29 13:38:41 -05:00
dumpimage.h includes: move openssl headers to include/u-boot 2014-06-19 11:19:04 -04:00
envcrc.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
fdt_host.h tools, fit_check_sign: verify a signed fit image 2014-03-21 16:40:38 -04:00
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 mkimage: Automatically make space in FDT when full 2014-06-11 16:25:46 -04:00
fit_common.h mkimage: Automatically make space in FDT when full 2014-06-11 16:25:46 -04:00
fit_image.c fit_image: Fix a double close() on the error path 2016-05-02 18:37:10 -04:00
fit_info.c tools, fit_info: increase buffer for command name 2014-08-14 11:20:24 +02:00
gen_eth_addr.c tools: gen_eth_addr: add getpid() to time(0) to avoid duplicated seed 2015-09-28 10:48:25 -04:00
genboardscfg.py tools/genboardscfg.py: pick up also commented maitainers 2014-09-24 18:30:28 -04:00
getline.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
getline.h getline: split out for darwin systems 2010-01-26 00:07:13 +01:00
gpheader.h tools: mkimage: add support for gpimage format 2014-04-17 17:24:38 -04:00
gpimage-common.c dumpimage: add 'T' option to explicitly set the image type 2015-01-29 13:38:41 -05:00
gpimage.c imagetool: replace image registration function by linker_lists feature 2015-01-29 13:38:41 -05:00
ifdtool.c x86: ifdtool: Support checking region overlap before U-Boot 2015-09-09 07:48:03 -06:00
ifdtool.h tools/ifdtool: Support writing multiple files (-w) simultaneously 2014-12-13 22:32:04 -07:00
image-host.c tools: fix typo in tools/image-host.c 2014-08-14 11:20:01 +02:00
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 Coding Style cleanup: replace leading SPACEs by TABs 2013-10-14 16:06:54 -04:00
img2srec.c img2srec: use standard types 2009-11-24 23:43:18 +01:00
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 Blackfin: jtagconsole: disable output processing 2010-07-25 15:17:23 -04:00
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 lpc32xx: add lpc32xx-spl.bin boot image target 2015-04-10 14:23:26 +02:00
Makefile cmd: Fix license command 2016-03-22 12:16:13 -04:00
microcode-tool x86: Add a script to process Intel microcode files 2014-12-18 17:26:08 -07:00
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 Add LGPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:45:01 -04:00
mingw_support.h Add LGPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:45:01 -04:00
mkenvimage.c Patch to mkenvimage to handle text files with length that exceed env size 2015-03-28 12:07:47 -04:00
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 includes: move openssl headers to include/u-boot 2014-06-19 11:19:04 -04:00
mksunxiboot.c sunxi: (mksunxiboot) signature to indicate "sunxi" SPL variant 2015-09-29 11:50:07 +02:00
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 imagetool: replace image registration function by linker_lists feature 2015-01-29 13:38:41 -05:00
mxsimage.h ARM: mxs: tools: Add support for boot progress display flag 2014-11-20 10:13:45 +01:00
ncb.c ncb: Check return value of write() 2009-04-28 01:16:46 +02:00
netconsole net: Make netconsole src and dest ports configurable 2012-09-24 13:17:24 -05:00
omapimage.c imagetool: replace image registration function by linker_lists feature 2015-01-29 13:38:41 -05:00
omapimage.h tools: mkimage: add support for gpimage format 2014-04-17 17:24:38 -04:00
os_support.c Add LGPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:45:01 -04:00
os_support.h Add LGPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:45:01 -04:00
pbl_crc32.c mkimage : Split out and clean pbl_crc32 for use by other image types 2014-06-05 14:38:38 -04:00
pbl_crc32.h mkimage : Split out and clean pbl_crc32 for use by other image types 2014-06-05 14:38:38 -04:00
pblimage.c imagetool: replace image registration function by linker_lists feature 2015-01-29 13:38:41 -05:00
pblimage.h Coding Style cleanup: remove trailing white space 2013-10-14 16:06:53 -04:00
proftool.c tools/proftool: fix use-after-free 2015-11-16 17:22:18 -05:00
relocate-rela.c relocate-rela: replace a magic number with sizeof(Elf64_Rela) 2014-02-13 15:16:47 +01:00
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 tools: do not print error messages in verify_header() functions 2015-01-29 13:38:41 -05:00
ublimage.c imagetool: replace image registration function by linker_lists feature 2015-01-29 13:38:41 -05:00
ublimage.h Coding Style cleanup: remove trailing white space 2013-10-14 16:06:53 -04:00
ubsha1.c includes: move openssl headers to include/u-boot 2014-06-19 11:19:04 -04:00
xway-swap-bytes.c MIPS: INCA-IP: rename inca-swap-bytes host tool 2011-07-31 23:25:41 +09:00
zynqimage.c tools: zynqimage: Clean up check_params 2015-12-18 13:15:57 +01:00