summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile26
1 files changed, 26 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..16d98bb
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,26 @@
+SRC = $(shell git ls-files '*.cc')
+
+check: $(SRC:.cc=.x)
+lint : $(SRC:.cc=.l)
+fmt : $(SRC:.cc=.f)
+
+%.x: %.cc
+ bash $^
+
+%.l: %.cc
+ clang-format -n --Werror $^
+ clang-tidy $^
+
+%.f: %.cc
+ clang-format -i $^
+
+help:
+ @echo "Targets that apply to all .cc files under scm:"
+ @echo "* check execute build commands in each file"
+ @echo " lint clang-format & clang-tidy lint"
+ @echo " fmt re-format each file"
+ @echo ""
+ @echo "Targets that apply to a single .cc file (where <name> is the file name w/o .cc suffix):"
+ @echo " <name>.x only execute <name>.cc"
+ @echo " <name>.l only lint <name>.cc"
+ @echo " <name>.f only re-format <name>.cc"