diff options
author | Patrick Georgi <patrick.georgi@coresystems.de> | 2010-03-14 21:25:03 +0000 |
---|---|---|
committer | Patrick Georgi <patrick.georgi@coresystems.de> | 2010-03-14 21:25:03 +0000 |
commit | 020f51fdc0c54c8dcb115de611d48946695b155d (patch) | |
tree | 31eaaef17f69842cccc00c2a60a37539cb0074b4 /src | |
parent | 8702ab5ab1ee3e9f4f4d6edd7cec85ed6029aac8 (diff) |
Add scan-build support to the build system.
When configured in Kconfig, just running "make"
calls scan-build as appropriate (however, it does not
check for the presence of scan-build)
The target directory for the scan-build report is configurable
and defaults to the scan-build default of /tmp/scan-build-$date-$num
abuild is adapted to properly run scanbuild when ran
with the -sb option.
Signed-off-by: Patrick Georgi <patrick.georgi@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5208 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'src')
-rw-r--r-- | src/Kconfig | 14 | ||||
-rw-r--r-- | src/arch/i386/Makefile.inc | 2 | ||||
-rw-r--r-- | src/cpu/x86/smm/Makefile.inc | 4 |
3 files changed, 19 insertions, 1 deletions
diff --git a/src/Kconfig b/src/Kconfig index 1331f557e9..d361315540 100644 --- a/src/Kconfig +++ b/src/Kconfig @@ -46,6 +46,20 @@ config CBFS_PREFIX Select the prefix to all files put into the image. It's "fallback" by default, "normal" is a common alternative. +config SCANBUILD_ENABLE + bool "build with scan-build for static analysis" + default n + help + Changes the build process to scan-build is used. + Requires scan-build in path. + +config SCANBUILD_REPORT_LOCATION + string "directory to put scan-build report in" + default "" + depends on SCANBUILD_ENABLE + help + Where the scan-build report should be stored + endmenu source src/mainboard/Kconfig diff --git a/src/arch/i386/Makefile.inc b/src/arch/i386/Makefile.inc index e9a9225d20..018dc9a100 100644 --- a/src/arch/i386/Makefile.inc +++ b/src/arch/i386/Makefile.inc @@ -60,7 +60,7 @@ $(obj)/coreboot_ram: $(obj)/coreboot_ram.o $(src)/arch/i386/coreboot_ram.ld #ldo $(obj)/coreboot_ram.o: $(obj)/arch/i386/lib/c_start.o $(drivers) $(obj)/coreboot.a $(LIBGCC_FILE_NAME) @printf " CC $(subst $(obj)/,,$(@))\n" - $(CC) -nostdlib -r -o $@ $(obj)/arch/i386/lib/c_start.o $(drivers) -Wl,-\( $(obj)/coreboot.a $(LIBGCC_FILE_NAME) -Wl,-\) + $(CC) -nostdlib -r -o $@ $(obj)/arch/i386/lib/c_start.o $(drivers) -Wl,--start-group $(obj)/coreboot.a $(LIBGCC_FILE_NAME) -Wl,--end-group $(obj)/coreboot.a: $(objs) @printf " AR $(subst $(obj)/,,$(@))\n" diff --git a/src/cpu/x86/smm/Makefile.inc b/src/cpu/x86/smm/Makefile.inc index de21d624ce..014c2c792d 100644 --- a/src/cpu/x86/smm/Makefile.inc +++ b/src/cpu/x86/smm/Makefile.inc @@ -38,5 +38,9 @@ $(obj)/cpu/x86/smm/smm: $(obj)/cpu/x86/smm/smm.o $(src)/cpu/x86/smm/smm.ld $(obj $(obj)/cpu/x86/smm/smm_bin.c: $(obj)/cpu/x86/smm/smm (echo 'unsigned char smm[] = {'; od -vtx1 $(obj)/cpu/x86/smm/smm | sed -e 's,^[0-9]* *,,' -e 's:[0-9a-f][0-9a-f] :0x&,:g' -e 's:[0-9a-f][0-9a-f]$$:0x&,:'; echo '}; unsigned int smm_len = '; wc -c $(obj)/cpu/x86/smm/smm |awk '{print $$1;}' ; echo ';') > $@ +$(obj)/cpu/x86/smm/smm_bin.o: $(obj)/cpu/x86/smm/smm_bin.c + @printf " CC $(subst $(obj)/,,$(@))\n" + $(CC) $(CFLAGS) -c -o $@ $< + endif |