Merge from CheriBSD: commit 1d1b908107255ffdff4d17f015d8f057d73cc6cb Author: Brooks Davis Date: Fri Mar 28 16:24:45 2014 +0000 Add a long needed seatbelt. Exit with an error when make is called without a target at the top level rather than poluting the source tree and causing use confusion in future builds. commit a9d9aa341b2f4308a227ab460ba85f1f287ad028 Author: Brooks Davis Date: Tue Apr 29 16:06:12 2014 +0000 Simplify seatbelt added in 1d1b908 based in feedback. Discussed with: imp@FreeBSD.org Reviewed by: Sponsored by: DARPA, AFRL --------------------------------------------------------------------- Index: Makefile =================================================================== --- Makefile (revision 265059) +++ Makefile (working copy) @@ -238,9 +238,18 @@ ${TGTS}: ${_+_}@cd ${.CURDIR}; ${_MAKE} ${.TARGET} -# Set a reasonable default -.MAIN: all +# The historic default "all" target creates files which may cause stale +# or (in the cross build case) unlinkable results. Fail with an error +# when no target is given. The users can explicitly specify "all" +# if they want the historic behavior. +.MAIN: _guard +_guard: + @echo + @echo "Explicit target required (use \"all\" for historic behavior)" + @echo + @false + STARTTIME!= LC_ALL=C date CHECK_TIME!= find ${.CURDIR}/sys/sys/param.h -mtime -0s ; echo .if !empty(CHECK_TIME)