freebsd-skq/sys/conf/sysent.mk
kevans a934cd3261 sysent.mk: split interpreter out of target command
The main objective here is to make it easy to identify what needs to change
in order to use a different sysent generator than the current Lua-based one,
which may be used to MFC some of the changes that have happened so we can
avoid parallel accidents in stable branches, for instance.

As a secondary objective, it's now feasible to override the generator on a
per-Makefile basis if needed, so that one could refactor their Makefile to
use this while pinning generation to the legacy makesyscalls.sh. I don't
anticipate any consistent need for such a thing, but it's low-effort to
achieve.
2020-01-21 05:01:11 +00:00

39 lines
914 B
Makefile

# $FreeBSD$
# Don't use an OBJDIR
.OBJDIR: ${.CURDIR}
.include <bsd.sysdir.mk>
.include <src.lua.mk>
COMMON_GENERATED= proto.h \
syscall.h \
syscalls.c \
sysent.c \
systrace_args.c
GENERATED_PREFIX?=
GENERATED?= ${COMMON_GENERATED:S/^/${GENERATED_PREFIX}/}
SYSENT_FILE?= syscalls.master
SYSENT_CONF?= syscalls.conf
# Including Makefile should override SYSENT_FILE and SYSENT_CONF as needed,
# and set GENERATED.
SRCS+= ${SYSENT_FILE}
SRCS+= ${SYSENT_CONF}
MAKESYSCALLS_INTERP?= ${LUA}
MAKESYSCALLS_SCRIPT?= ${SYSDIR}/tools/makesyscalls.lua
MAKESYSCALLS= ${MAKESYSCALLS_INTERP} ${MAKESYSCALLS_SCRIPT}
all:
@echo "make sysent only"
# We .ORDER these explicitly so that we only run MAKESYSCALLS once, rather than
# potentially once for each ${GENERATED} file.
.ORDER: ${GENERATED}
sysent: ${GENERATED}
${GENERATED}: ${MAKESYSCALLS_SCRIPT} ${SRCS}
${MAKESYSCALLS} ${SYSENT_FILE} ${SYSENT_CONF}