105d7dd73SKyle Evans 205d7dd73SKyle Evans# Don't use an OBJDIR 305d7dd73SKyle Evans.OBJDIR: ${.CURDIR} 405d7dd73SKyle Evans 505d7dd73SKyle Evans.include <bsd.sysdir.mk> 605d7dd73SKyle Evans.include <src.lua.mk> 705d7dd73SKyle Evans 805d7dd73SKyle EvansCOMMON_GENERATED= proto.h \ 905d7dd73SKyle Evans syscall.h \ 1005d7dd73SKyle Evans syscalls.c \ 1105d7dd73SKyle Evans sysent.c \ 1205d7dd73SKyle Evans systrace_args.c 1305d7dd73SKyle Evans 1405d7dd73SKyle EvansGENERATED_PREFIX?= 1505d7dd73SKyle EvansGENERATED?= ${COMMON_GENERATED:S/^/${GENERATED_PREFIX}/} 1605d7dd73SKyle EvansSYSENT_FILE?= syscalls.master 1705d7dd73SKyle EvansSYSENT_CONF?= syscalls.conf 1805d7dd73SKyle Evans 1905d7dd73SKyle Evans# Including Makefile should override SYSENT_FILE and SYSENT_CONF as needed, 2005d7dd73SKyle Evans# and set GENERATED. 2105d7dd73SKyle EvansSRCS+= ${SYSENT_FILE} 2205d7dd73SKyle EvansSRCS+= ${SYSENT_CONF} 232a466bc4SKyle Evans 242a466bc4SKyle EvansMAKESYSCALLS_INTERP?= ${LUA} 25204d065dSBrooks DavisMAKESYSCALLS_SCRIPT?= ${SYSDIR}/tools/syscalls/main.lua 262a466bc4SKyle EvansMAKESYSCALLS= ${MAKESYSCALLS_INTERP} ${MAKESYSCALLS_SCRIPT} 2705d7dd73SKyle Evans 2805d7dd73SKyle Evansall: 2905d7dd73SKyle Evans @echo "make sysent only" 3005d7dd73SKyle Evans 3105d7dd73SKyle Evans# We .ORDER these explicitly so that we only run MAKESYSCALLS once, rather than 3205d7dd73SKyle Evans# potentially once for each ${GENERATED} file. 3305d7dd73SKyle Evans.ORDER: ${GENERATED} 3405d7dd73SKyle Evanssysent: ${GENERATED} 3505d7dd73SKyle Evans 36*913bfd86SBrooks Davis# We slap a .PHONY on MAKESYSCALLS_SCRIPT so that we regenerate every 37*913bfd86SBrooks Davis# single time rather than tracking all internal dependencies for now. 388ea3921fSKyle Evans${MAKESYSCALLS_SCRIPT}: .PHONY 398ea3921fSKyle Evans 402a466bc4SKyle Evans${GENERATED}: ${MAKESYSCALLS_SCRIPT} ${SRCS} 412a466bc4SKyle Evans ${MAKESYSCALLS} ${SYSENT_FILE} ${SYSENT_CONF} 42