aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKimplul <kimi.h.kuparinen@gmail.com>2024-08-18 19:25:48 +0300
committerKimplul <kimi.h.kuparinen@gmail.com>2024-08-18 19:26:01 +0300
commitbd509c3aee89f0712c0d66bac9c2a59692d38af2 (patch)
treee45f18ac6ea68fd5d0f2da86c676427007729a13
parentb715a9b2eb323733dea81ef6f46cb2cfd4159c01 (diff)
downloadqbt-bd509c3aee89f0712c0d66bac9c2a59692d38af2.tar.gz
qbt-bd509c3aee89f0712c0d66bac9c2a59692d38af2.zip
add analyzer
+ Apparently no issues :)
-rw-r--r--Makefile4
-rw-r--r--gen/source.mk4
-rw-r--r--scripts/makefile16
-rw-r--r--src/source.mk2
4 files changed, 19 insertions, 7 deletions
diff --git a/Makefile b/Makefile
index a75b0ab..d4247f1 100644
--- a/Makefile
+++ b/Makefile
@@ -15,6 +15,10 @@ all: setup
.DEFAULT: setup
$(MAKE) -f scripts/makefile $<
+.PHONY: analyze
+analyze: setup
+ CC='gcc -fanalyzer' SKIP_ANALYZER='-fno-analyzer' $(MAKE) CROSS_COMPILE=
+
.PHONY:
setup:
@echo -n > deps.mk
diff --git a/gen/source.mk b/gen/source.mk
index 10295b2..aa438df 100644
--- a/gen/source.mk
+++ b/gen/source.mk
@@ -3,3 +3,7 @@ gen/gen_parser.c: src/parser.y gen/gen_lexer.inc
gen/gen_lexer.inc: src/lexer.l
flex -o gen/gen_lexer.inc src/lexer.l
+
+build/gen/gen_parser.o: gen/gen_parser.c
+ mkdir -p build/gen
+ $(COMPILE) $(SKIP_ANALYZER) -c gen/gen_parser.c -o build/gen/gen_parser.o
diff --git a/scripts/makefile b/scripts/makefile
index 7424204..9e0fba2 100644
--- a/scripts/makefile
+++ b/scripts/makefile
@@ -32,10 +32,14 @@ OBJCOPY != [ "$(LLVM)" != "0" ] \
&& echo llvm-objcopy \
|| echo $(CROSS_COMPILE)objcopy
-COMPILER != [ "$(LLVM)" != "0" ] \
- && echo clang --target="$(CROSS_COMPILE)" \
- || echo $(CROSS_COMPILE)gcc
-
+COMPILER != [ -n "$(CROSS_COMPILE)" ] \
+ && { \
+ [ "$(LLVM)" != "0" ] \
+ && echo clang --target="$(CROSS_COMPILE)" \
+ || echo $(CROSS_COMPILE)gcc \
+ ; \
+ } \
+ || echo $(CC)
OBFLAGS := -g
WARNFLAGS := -Wall -Wextra
@@ -60,8 +64,8 @@ COMPILE_QBT = $(COMPILE) $(QBT_FLAGS)
-include deps.mk
-qbt: $(QBT_OBJS)
- $(COMPILE_QBT) $(QBT_OBJS) -o $@
+qbt: $(QBT_OBJS) build/gen/gen_parser.o
+ $(COMPILE_QBT) $(QBT_OBJS) build/gen/gen_parser.o -o $@
# might lint some common things twice
.PHONY:
diff --git a/src/source.mk b/src/source.mk
index 5fedca2..c27be47 100644
--- a/src/source.mk
+++ b/src/source.mk
@@ -1,2 +1,2 @@
SRC_LOCAL != echo src/*.c
-QBT_SOURCES := $(QBT_SOURCES) $(SRC_LOCAL) gen/gen_parser.c
+QBT_SOURCES := $(QBT_SOURCES) $(SRC_LOCAL)