d6e1044aa7
Since GCC version 10, there has been a new option -fanalyzer for
static analysis. It can make the CI pipeline more comprehensive.
Also, the static analysis updates in GCC 11, but we cannot install
the GCC 11 in ubuntu 20.04 straightforwardly right now, which is
the GitHub workflow environment (see status-check.yaml).
For this reason, we stay at the GCC 10.
Close #117
Reference
- https://gcc.gnu.org/onlinedocs/gcc-10.1.0/gcc/Static-Analyzer-Options.html
- https://developers.redhat.com/blog/2020/03/26/static-analysis-in-gcc-10
- https://lwn.net/Articles/870290/
- https://developers.redhat.com/blog/2021/01/28/static-analysis-updates-in-gcc-11
- 7d73c3e9c5
50 lines
1.0 KiB
Makefile
50 lines
1.0 KiB
Makefile
obj-m += hello-1.o
|
|
obj-m += hello-2.o
|
|
obj-m += hello-3.o
|
|
obj-m += hello-4.o
|
|
obj-m += hello-5.o
|
|
obj-m += startstop.o
|
|
startstop-objs := start.o stop.o
|
|
obj-m += chardev.o
|
|
obj-m += procfs1.o
|
|
obj-m += procfs2.o
|
|
obj-m += procfs3.o
|
|
obj-m += procfs4.o
|
|
obj-m += hello-sysfs.o
|
|
obj-m += sleep.o
|
|
obj-m += print_string.o
|
|
obj-m += kbleds.o
|
|
obj-m += sched.o
|
|
obj-m += chardev2.o
|
|
obj-m += syscall.o
|
|
obj-m += intrpt.o
|
|
obj-m += cryptosha256.o
|
|
obj-m += cryptosk.o
|
|
obj-m += completions.o
|
|
obj-m += example_tasklet.o
|
|
obj-m += devicemodel.o
|
|
obj-m += example_spinlock.o
|
|
obj-m += example_rwlock.o
|
|
obj-m += example_atomic.o
|
|
obj-m += example_mutex.o
|
|
obj-m += bottomhalf.o
|
|
obj-m += ioctl.o
|
|
|
|
PWD := $(CURDIR)
|
|
|
|
ifeq ($(CONFIG_STATUS_CHECK_GCC),y)
|
|
CC=$(STATUS_CHECK_GCC)
|
|
ccflags-y += -fanalyzer
|
|
endif
|
|
|
|
all:
|
|
$(MAKE) -C /lib/modules/$(shell uname -r)/build CC=$(CC) M=$(PWD) modules
|
|
|
|
clean:
|
|
$(MAKE) -C /lib/modules/$(shell uname -r)/build CC=$(CC) M=$(PWD) clean
|
|
$(RM) other/cat_noblock *.plist
|
|
|
|
indent:
|
|
clang-format -i *[.ch]
|
|
clang-format -i other/*[.ch]
|