# 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