/ Makefile
Makefile
1 # SPDX-FileCopyrightText: Copyright (C) 2024-2025 Marek Küthe <m.k@mk16.de> 2 # 3 # SPDX-License-Identifier: GPL-3.0-or-later 4 5 .PHONY: all setup addresssanitizer leaksanitizer undefinedsanitizer clean compile coverage install debian check cppcheck flawfinder selene luacheck mdl lua lizard clangtidy reuse-annotate reuse-download reuse-lint reuse-fix reuse test clangformat 6 7 all: setup compile 8 9 setup: 10 test -d build || meson setup build 11 12 sanitizer: 13 meson setup --reconfigure --debug -Db_sanitize=address,undefined build 14 15 native: 16 meson setup --reconfigure -Dnative=true build 17 18 setupcoverage: 19 meson setup --reconfigure -Db_coverage=true build 20 21 clean: setup 22 meson compile --clean -C build 23 24 compile: setup 25 meson compile -C build 26 27 coverage: setupcoverage test 28 ninja -C build coverage 29 30 install: setup compile 31 meson install -C build 32 33 debian: 34 dpkg-buildpackage -b 35 36 check: flawfinder cppcheck scanbuild clangtidy lizard reuse mdl selene luacheck 37 38 cppcheck: setup 39 meson compile -C build cppcheck 40 41 infer: setup 42 meson compile -C build infer 43 44 flawfinder: setup 45 meson compile -C build flawfinder 46 47 selene: setup 48 meson compile -C build selene 49 50 luacheck: setup 51 meson compile -C build luacheck 52 53 stylua: setup 54 meson compile -C build stylua 55 56 lua: setup stylua luacheck selene 57 58 lizard: setup 59 meson compile -C build lizard 60 61 # || true is a workaround for 62 # https://github.com/boostorg/boost/issues/1107 63 clangtidy: setup 64 ninja -C build clang-tidy || true 65 66 # || true is a workaround for 67 # https://github.com/boostorg/boost/issues/1107 68 scanbuild: setup 69 ninja -C build scan-build || true 70 71 mdl: setup 72 meson compile -C build mdl 73 74 reuse-annotate: setup 75 meson compile -C build reuse-annotate 76 77 reuse-download: setup 78 meson compile -C build reuse-download 79 80 reuse-lint: setup 81 meson compile -C build reuse-lint 82 83 reuse-fix: reuse-annotate reuse-download 84 85 reuse: reuse-lint 86 87 test: setup 88 meson test -C build 89 90 clangformat: setup 91 ninja -C build clang-format