aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile.inc
blob: 7471b5ca90030673f42c44f1a462f6c29c7ec5b5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# vim:ft=make:
# This source code is released into the public domain.

LOCALBASE?=	/usr/local
PREFIX?=	${LOCALBASE}
BINDIR?=	${PREFIX}/sbin
LIBDIR?=	${PREFIX}/lib
ETCDIR?=	${PREFIX}/etc
SHAREDIR?=	${PREFIX}/share
MANDIR?=	${SHAREDIR}/man/man
DBDIR?=		/var/db/lfjail
TESTSDIR?=	${PREFIX}/tests/lfjail

TOPDIR=		${.CURDIR:H}

CXXSTD=		c++23
CXXFLAGS+=	-W -Wall -Werror -Wpedantic \
		-DLFJAIL_DBDIR="\"${DBDIR}\"" \
		-I${LOCALBASE}/include \
		-I${TOPDIR}/liblfjail

MK_AUTO_OBJ=	yes
MAKEOBJDIRPREFIX=
MAKEOBJDIR:=${TOPDIR}/build/${.CURDIR:T}

# Allow installing as non-root.
SHAREOWN!=	id -nu
SHAREGRP!=	id -ng
BINOWN!=	id -nu
BINGRP!=	id -ng
MANOWN!=	id -nu
MANGRP!=	id -ng

SUBDIR_TARGETS+=	tidy

# Support clang-tidy.
CLANG_TIDY?=	clang-tidy19
#TIDYFLAGS?=	-header-filter='^${TOPDIR}/.*'
TIDYFLAGS?=	

tidy:
.PHONY: tidy

.for src in ${SRCS}
# Avoid re-running tidy on files which haven't changed.
${src}.tidy: ${src}
	${CLANG_TIDY} ${.ALLSRC} -config-file=${TOPDIR}/clang-tidy.yaml -- ${PICFLAG} ${CXXFLAGS}
	touch ${.TARGET}
tidy: ${src}.tidy
CLEANFILES+=	${src}.tidy

.endfor

.-include "${TOPDIR}/build.conf"

.include <auto.obj.mk>