xref: /freebsd/sys/conf/sysent.mk (revision 045c8f526484cb3b97f5fd693987f4376fa43c5f)
1# $FreeBSD$
2
3# Don't use an OBJDIR
4.OBJDIR: ${.CURDIR}
5
6.include <bsd.sysdir.mk>
7.include <src.lua.mk>
8
9COMMON_GENERATED=	proto.h		\
10			syscall.h	\
11			syscalls.c	\
12			sysent.c	\
13			systrace_args.c
14
15GENERATED_PREFIX?=
16GENERATED?=	${COMMON_GENERATED:S/^/${GENERATED_PREFIX}/}
17SYSENT_FILE?=	syscalls.master
18SYSENT_CONF?=	syscalls.conf
19
20# Including Makefile should override SYSENT_FILE and SYSENT_CONF as needed,
21# and set GENERATED.
22SRCS+=	${SYSENT_FILE}
23SRCS+=	${SYSENT_CONF}
24
25# Ensure that the target gets updated if the capabilities file is modified,
26# even though it is not an explicit input to makesyscalls.lua.  For some
27# targets, like Linux system calls, this is unnecessary, but a spurious rebuild
28# is both rare and harmless.
29SRCS+=	${CAPABILITIES_CONF}
30
31MAKESYSCALLS_INTERP?=	${LUA}
32MAKESYSCALLS_SCRIPT?=	${SYSDIR}/tools/makesyscalls.lua
33MAKESYSCALLS=	${MAKESYSCALLS_INTERP} ${MAKESYSCALLS_SCRIPT}
34
35all:
36	@echo "make sysent only"
37
38# We .ORDER these explicitly so that we only run MAKESYSCALLS once, rather than
39# potentially once for each ${GENERATED} file.
40.ORDER: ${GENERATED}
41sysent: ${GENERATED}
42
43# We slap a .PHONY on makesyscalls.lua so that we regenerate every single time,
44# for now, which can be less painful across rebases or other things that may
45# have odd effects on mtimes.
46${MAKESYSCALLS_SCRIPT}: .PHONY
47
48${GENERATED}: ${MAKESYSCALLS_SCRIPT} ${SRCS}
49	${MAKESYSCALLS} ${SYSENT_FILE} ${SYSENT_CONF}
50