+#
+# This rule insures that the subr_prof.c does NOT get compiled with
+# profiling. It implements mcount() and profiling it leads to recursion.
+#
+
+subr_prof.o_CFLAGS_RM = -pg
+
+# Rebuild if per-file overrides change
+${OBJS}: $(firstword $(MAKEFILE_LIST))
+
+# Rebuild if global compile flags change
+$(COBJS): .CFLAGS
+.CFLAGS: ALWAYS
+ $(_v)$(REPLACECONTENTS) $@ $(KCC) $(CFLAGS) $(INCFLAGS)
+$(CXXOBJS): .CXXFLAGS
+.CXXFLAGS: ALWAYS
+ $(_v)$(REPLACECONTENTS) $@ $(KC++) $(CXXFLAGS) $(INCFLAGS)
+$(SOBJS): .SFLAGS
+.SFLAGS: ALWAYS
+ $(_v)$(REPLACECONTENTS) $@ $(S_KCC) $(SFLAGS) $(INCFLAGS)
+
+$(COMPONENT).filelist: $(OBJS)
+ @echo LDFILELIST $(COMPONENT)
+ $(_v)( for obj in ${OBJS}; do \
+ echo $(TARGET)/$(CURRENT_KERNEL_CONFIG)/$${obj}; \
+ done; ) > $(COMPONENT).filelist
+
+MAKESYSCALLS = $(SRCROOT)/bsd/kern/makesyscalls.sh
+
+init_sysent.c: $(SRCROOT)/bsd/kern/syscalls.master $(MAKESYSCALLS)
+ @echo "Generating $@ from $<";
+ $(_v)$(MAKESYSCALLS) $< table > /dev/null
+
+syscalls.c: $(SRCROOT)/bsd/kern/syscalls.master $(MAKESYSCALLS)
+ @echo "Generating $@ from $<";
+ $(_v)$(MAKESYSCALLS) $< names > /dev/null
+
+audit_kevents.c: $(SRCROOT)/bsd/kern/syscalls.master $(MAKESYSCALLS)
+ @echo "Generating $@ from $<";
+ $(_v)$(MAKESYSCALLS) $< audit > /dev/null
+
+do_all: $(COMPONENT).filelist
+
+do_build_all:: do_all