@@ -21,6 +21,9 @@ $(TST_E): $(SRC_O) $(TST_O)
2121clean :
2222 rm -f $(SRC_O ) $(TST_O ) $(TST_E )
2323
24+ #
25+ # valgrind
26+ #
2427% -vg : VALGRIND = valgrind \
2528 --error-exitcode=1 \
2629 --leak-check=full \
@@ -29,12 +32,18 @@ clean:
2932 --gen-suppressions=all
3033% -vg : % ;
3134
35+ #
36+ # test
37+ #
3238test : $(TST_T )
3339test-vg : $(TST_T )
3440
3541$(TST_T ) : $(TST_E )
3642 $(VALGRIND ) ./$(patsubst test-% ,tst-% ,$(@ ) )
3743
44+ #
45+ # iwyu
46+ #
3847IWYU = include-what-you-use \
3948 -Xiwyu --no_fwd_decls \
4049 -Xiwyu --error=1 \
@@ -43,6 +52,9 @@ IWYU = include-what-you-use \
4352iwyu : CC = $(IWYU ) -Xiwyu --check_also="inc/* h"
4453iwyu : clean $(SRC_O ) $(TST_O )
4554
55+ #
56+ # cppcheck
57+ #
4658cppcheck : $(INC_H ) $(SRC_C ) $(TST_H ) $(TST_C )
4759 cppcheck $(^ ) \
4860 --enable=warning,unusedFunction,performance,portability \
@@ -51,6 +63,28 @@ cppcheck: $(INC_H) $(SRC_C) $(TST_H) $(TST_C)
5163 --error-exitcode=1 \
5264 $(CPPFLAGS )
5365
66+ #
67+ # local docker dev
68+ #
69+ docker-build :
70+ docker build --tag " alex-c-collections:latest" .
71+
72+ docker-stop :
73+ docker rm -f alex-c-collections || true
74+
75+ docker-run : docker-stop
76+ docker run \
77+ --name=" alex-c-collections" \
78+ --volume " ${PWD} :/alex-c-collections" \
79+ --workdir=" /alex-c-collections" \
80+ --user " ` id -u` :` id -g` " \
81+ --detach \
82+ " alex-c-collections:latest"
83+
84+ docker-packages :
85+ docker exec alex-c-collections .github/workflows/packages/include-what-you-use/build.sh
86+ docker exec --user " root:root" alex-c-collections .github/workflows/packages/include-what-you-use/install.sh
87+
5488.PHONY : all clean test test-vg $(TST_T ) iwyu cppcheck
5589
5690.NOTPARALLEL : iwyu test test-vg
0 commit comments