Add linting make targets

This commit is contained in:
Julien Letessier 2026-01-16 11:14:41 +01:00
parent b4c89eada9
commit 23315178f0
2 changed files with 40 additions and 2 deletions

View File

@ -1,5 +1,5 @@
.PHONY : default debug clean test .PHONY : default debug clean test lint cppcheck
make = make make = make
plt = $(shell uname) plt = $(shell uname)
@ -20,3 +20,9 @@ clean:
test: default test: default
@./test/run.sh @./test/run.sh
lint:
@$(make) -C src -f Makefile lint
cppcheck:
@$(make) -C src -f Makefile cppcheck

View File

@ -94,7 +94,25 @@ objs = \
Proxy.o \ Proxy.o \
main.o main.o
.PHONY : default debug clean SRCS = $(objs:.o=.cpp)
LINT_SRCS ?= $(SRCS)
CLANG_TIDY ?= clang-tidy
ifeq ($(shell command -v brew 2>/dev/null),)
CLANG_TIDY_BREW :=
else
LLVM_PREFIX := $(shell brew --prefix llvm 2>/dev/null)
CLANG_TIDY_BREW := $(LLVM_PREFIX)/bin/clang-tidy
endif
ifeq ($(shell command -v $(CLANG_TIDY) 2>/dev/null),)
CLANG_TIDY_CMD := $(CLANG_TIDY_BREW)
else
CLANG_TIDY_CMD := $(CLANG_TIDY)
endif
CPPCHECK ?= cppcheck
CPPCHECK_FLAGS ?= --std=c++11 --enable=warning,performance,style --suppress=missingIncludeSystem
.PHONY : default debug clean lint cppcheck
default: $(target) default: $(target)
@ -109,6 +127,20 @@ clean:
@rm -rf $(objs) $(target) @rm -rf $(objs) $(target)
@echo Done. @echo Done.
lint:
@command -v "$(CLANG_TIDY_CMD)" >/dev/null 2>&1 || { \
echo "error: clang-tidy not found; set CLANG_TIDY or install llvm via Homebrew"; \
exit 1; \
}
$(CLANG_TIDY_CMD) $(LINT_SRCS) -- $(CFLAGS) $(INCFLAGS)
cppcheck:
@command -v "$(CPPCHECK)" >/dev/null 2>&1 || { \
echo "error: cppcheck not found; set CPPCHECK or install cppcheck via Homebrew"; \
exit 1; \
}
$(CPPCHECK) $(CPPCHECK_FLAGS) $(INCFLAGS) $(LINT_SRCS)
%.o : %.cpp %.o : %.cpp
$(CXX) $(CFLAGS) -c $^ $(INCFLAGS) $(CXX) $(CFLAGS) -c $^ $(INCFLAGS)