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
This commit is contained in:
14
src/Kconfig
14
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
|
||||
|
@@ -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"
|
||||
|
@@ -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
|
||||
|
||||
|
Reference in New Issue
Block a user