Index: head/Makefile =================================================================== --- head/Makefile +++ head/Makefile @@ -124,7 +124,7 @@ installworld kernel-toolchain libraries lint maninstall \ obj objlink rerelease showconfig tags toolchain update \ _worldtmp _legacy _bootstrap-tools _cleanobj _obj \ - _build-tools _cross-tools _includes _libraries _depend \ + _build-tools _cross-tools _includes _libraries \ build32 distribute32 install32 build32 distribute32 install32 \ builddtb xdev xdev-build xdev-install \ xdev-links native-xtools installconfig \ Index: head/Makefile.inc1 =================================================================== --- head/Makefile.inc1 +++ head/Makefile.inc1 @@ -7,10 +7,9 @@ # -DDB_FROM_SRC use the user/group databases in src/etc instead of # the system database when installing. # -DNO_SHARE do not go into share subdir -# -DKERNFAST define NO_KERNEL{CONFIG,CLEAN,DEPEND,OBJ} +# -DKERNFAST define NO_KERNEL{CONFIG,CLEAN,OBJ} # -DNO_KERNELCONFIG do not run config in ${MAKE} buildkernel # -DNO_KERNELCLEAN do not run ${MAKE} clean in ${MAKE} buildkernel -# -DNO_KERNELDEPEND do not run ${MAKE} depend in ${MAKE} buildkernel # -DNO_KERNELOBJ do not run ${MAKE} obj in ${MAKE} buildkernel # -DNO_PORTSUPDATE do not update ports in ${MAKE} update # -DNO_ROOT install without using root privilege @@ -145,16 +144,6 @@ CLEANDIR= cleandir .endif -# FAST_DEPEND can skip depend tree-walks. -.if ${MK_FAST_DEPEND} == "yes" -NO_DEPEND= t -NO_KERNELDEPEND=t -.endif -# Ensure shell checks later have a value. -.if defined(NO_DEPEND) -NO_DEPEND= t -.endif - LOCAL_TOOL_DIRS?= PACKAGEDIR?= ${DESTDIR}/${DISTDIR} @@ -406,7 +395,6 @@ .endif .endfor CROSSENV+= CC="${XCC} ${XCFLAGS}" CXX="${XCXX} ${XCFLAGS} ${XCXXFLAGS}" \ - DEPFLAGS="${DEPFLAGS}" \ CPP="${XCPP} ${XCFLAGS}" \ AS="${XAS}" AR="${XAR}" LD="${XLD}" NM=${XNM} \ OBJDUMP=${XOBJDUMP} OBJCOPY="${XOBJCOPY}" \ @@ -438,10 +426,6 @@ # Force using libc++ for external GCC. XCXXFLAGS+= -isystem ${WORLDTMP}/usr/include/c++/v1 -std=c++11 \ -nostdinc++ -L${WORLDTMP}/../lib/libc++ -# XXX: DEPFLAGS is a workaround for not properly passing CXXFLAGS to sub-makes -# due to CXX="${XCXX} ${XCXXFLAGS}". bsd.dep.mk does use CXXFLAGS when -# building C++ files so this can come out if passing CXXFLAGS down is fixed. -DEPFLAGS+= -I${WORLDTMP}/usr/include/c++/v1 .else TARGET_ABI?= unknown TARGET_TRIPLE?= ${TARGET_ARCH:C/amd64/x86_64/}-${TARGET_ABI}-freebsd11.0 @@ -635,16 +619,10 @@ ${_+_}cd ${.CURDIR}; \ ${WMAKE} -DNO_FSCHG MK_HTML=no -DNO_LINT MK_MAN=no \ MK_PROFILE=no MK_TESTS=no MK_TESTS_SUPPORT=${MK_TESTS} libraries -_depend: - @echo - @echo "--------------------------------------------------------------" - @echo ">>> stage 4.3: make dependencies" - @echo "--------------------------------------------------------------" - ${_+_}cd ${.CURDIR}; ${WMAKE} depend everything: @echo @echo "--------------------------------------------------------------" - @echo ">>> stage 4.4: building everything" + @echo ">>> stage 4.3: building everything" @echo "--------------------------------------------------------------" ${_+_}cd ${.CURDIR}; _PARALLEL_SUBDIR_OK=1 ${WMAKE} all @@ -655,9 +633,6 @@ .endif WMAKE_TGTS+= _cleanobj _obj _build-tools _cross-tools WMAKE_TGTS+= _includes _libraries -.if !defined(NO_DEPEND) -WMAKE_TGTS+= _depend -.endif WMAKE_TGTS+= everything .if defined(LIBCOMPAT) && empty(SUBDIR_OVERRIDE) WMAKE_TGTS+= build${libcompat} @@ -700,7 +675,7 @@ @cd ${BUILDENV_DIR} && env ${WMAKEENV} BUILDENV=1 ${BUILDENV_SHELL} \ || true -TOOLCHAIN_TGTS= ${WMAKE_TGTS:N_depend:Neverything:Nbuild${libcompat}} +TOOLCHAIN_TGTS= ${WMAKE_TGTS:Neverything:Nbuild${libcompat}} toolchain: ${TOOLCHAIN_TGTS} kernel-toolchain: ${TOOLCHAIN_TGTS:N_includes:N_libraries} @@ -997,7 +972,6 @@ .if defined(KERNFAST) NO_KERNELCLEAN= t NO_KERNELCONFIG= t -NO_KERNELDEPEND= t NO_KERNELOBJ= t # Shortcut for KERNCONF=Blah -DKERNFAST is now KERNFAST=Blah .if !defined(KERNCONF) && ${KERNFAST} != "1" @@ -1079,16 +1053,9 @@ @echo ">>> stage 2.3: build tools" @echo "--------------------------------------------------------------" ${_+_}cd ${.CURDIR}; ${KTMAKE} kernel-tools -.if !defined(NO_KERNELDEPEND) - @echo - @echo "--------------------------------------------------------------" - @echo ">>> stage 3.1: making dependencies" - @echo "--------------------------------------------------------------" - ${_+_}cd ${KRNLOBJDIR}/${_kernel}; ${KMAKE} depend -DNO_MODULES_OBJ -.endif @echo @echo "--------------------------------------------------------------" - @echo ">>> stage 3.2: building everything" + @echo ">>> stage 3.1: building everything" @echo "--------------------------------------------------------------" ${_+_}cd ${KRNLOBJDIR}/${_kernel}; ${KMAKE} all -DNO_MODULES_OBJ @echo "--------------------------------------------------------------" @@ -1287,11 +1254,10 @@ false .endif .for _tool in tools/build ${_elftoolchain_libs} - ${_+_}@${ECHODIR} "===> ${_tool} (obj,includes,depend,all,install)"; \ + ${_+_}@${ECHODIR} "===> ${_tool} (obj,includes,all,install)"; \ cd ${.CURDIR}/${_tool}; \ ${MAKE} DIRPRFX=${_tool}/ obj; \ ${MAKE} DIRPRFX=${_tool}/ DESTDIR=${MAKEOBJDIRPREFIX}/legacy includes; \ - if [ -z "${NO_DEPEND}" ]; then ${MAKE} DIRPRFX=${_tool}/ depend; fi; \ ${MAKE} DIRPRFX=${_tool}/ all; \ ${MAKE} DIRPRFX=${_tool}/ DESTDIR=${MAKEOBJDIRPREFIX}/legacy install .endfor @@ -1447,10 +1413,9 @@ ${_vtfontcvt} \ usr.bin/localedef ${_bt}-${_tool}: .PHONY .MAKE - ${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all,install)"; \ + ${_+_}@${ECHODIR} "===> ${_tool} (obj,all,install)"; \ cd ${.CURDIR}/${_tool}; \ ${MAKE} DIRPRFX=${_tool}/ obj; \ - if [ -z "${NO_DEPEND}" ]; then ${MAKE} DIRPRFX=${_tool}/ depend; fi; \ ${MAKE} DIRPRFX=${_tool}/ all; \ ${MAKE} DIRPRFX=${_tool}/ DESTDIR=${MAKEOBJDIRPREFIX}/legacy install @@ -1496,10 +1461,9 @@ .for _tool in \ ${_gcc_tools} build-tools_${_tool}: .PHONY - ${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all)"; \ + ${_+_}@${ECHODIR} "===> ${_tool} (obj,all)"; \ cd ${.CURDIR}/${_tool}; \ ${MAKE} DIRPRFX=${_tool}/ obj; \ - if [ -z "${NO_DEPEND}" ]; then ${MAKE} DIRPRFX=${_tool}/ depend; fi; \ ${MAKE} DIRPRFX=${_tool}/ all build-tools: build-tools_${_tool} .endfor @@ -1580,10 +1544,9 @@ ${_btxld} \ ${_crunchide} \ ${_usb_tools} - ${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all,install)"; \ + ${_+_}@${ECHODIR} "===> ${_tool} (obj,all,install)"; \ cd ${.CURDIR}/${_tool}; \ ${MAKE} DIRPRFX=${_tool}/ obj; \ - if [ -z "${NO_DEPEND}" ]; then ${MAKE} DIRPRFX=${_tool}/ depend; fi; \ ${MAKE} DIRPRFX=${_tool}/ all; \ ${MAKE} DIRPRFX=${_tool}/ DESTDIR=${MAKEOBJDIRPREFIX} install .endfor @@ -1612,10 +1575,9 @@ native-xtools: .PHONY .if ${MK_GCC_BOOTSTRAP} != "no" mkdir -p ${OBJTREE}/gperf_for_gcc/usr/bin - ${_+_}@${ECHODIR} "===> ${_gperf} (obj,depend,all,install)"; \ + ${_+_}@${ECHODIR} "===> ${_gperf} (obj,all,install)"; \ cd ${.CURDIR}/${_gperf}; \ ${NXBMAKE} DIRPRFX=${_gperf}/ obj; \ - if [ -z "${NO_DEPEND}" ]; then ${NXBMAKE} DIRPRFX=${_gperf}/ depend; fi; \ ${NXBMAKE} DIRPRFX=${_gperf}/ all; \ ${NXBMAKE} DIRPRFX=${_gperf}/ DESTDIR=${OBJTREE}/gperf_for_gcc install .endif @@ -1687,10 +1649,9 @@ usr.bin/xz \ usr.bin/yacc \ usr.sbin/chown - ${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all,install)"; \ + ${_+_}@${ECHODIR} "===> ${_tool} (obj,all,install)"; \ cd ${.CURDIR}/${_tool}; \ ${NXBMAKE} DIRPRFX=${_tool}/ obj; \ - if [ -z "${NO_DEPEND}" ]; then ${NXBMAKE} DIRPRFX=${_tool}/ depend; fi; \ ${NXBMAKE} DIRPRFX=${_tool}/ all; \ ${NXBMAKE} DIRPRFX=${_tool}/ DESTDIR=${NXBDESTDIR} install .endfor @@ -1926,10 +1887,9 @@ .for _lib in ${_prereq_libs} ${_lib}__PL: .PHONY .MAKE .if exists(${.CURDIR}/${_lib}) - ${_+_}@${ECHODIR} "===> ${_lib} (obj,depend,all,install)"; \ + ${_+_}@${ECHODIR} "===> ${_lib} (obj,all,install)"; \ cd ${.CURDIR}/${_lib}; \ ${MAKE} MK_TESTS=no DIRPRFX=${_lib}/ obj; \ - if [ -z "${NO_DEPEND}" ]; then ${MAKE} MK_TESTS=no DIRPRFX=${_lib}/ depend; fi; \ ${MAKE} MK_TESTS=no MK_PROFILE=no -DNO_PIC \ DIRPRFX=${_lib}/ all; \ ${MAKE} MK_TESTS=no MK_PROFILE=no -DNO_PIC \ @@ -1940,10 +1900,9 @@ .for _lib in ${_startup_libs} ${_prebuild_libs:Nlib/libpam} ${_generic_libs} ${_lib}__L: .PHONY .MAKE .if exists(${.CURDIR}/${_lib}) - ${_+_}@${ECHODIR} "===> ${_lib} (obj,depend,all,install)"; \ + ${_+_}@${ECHODIR} "===> ${_lib} (obj,all,install)"; \ cd ${.CURDIR}/${_lib}; \ ${MAKE} MK_TESTS=no DIRPRFX=${_lib}/ obj; \ - if [ -z "${NO_DEPEND}" ]; then ${MAKE} MK_TESTS=no DIRPRFX=${_lib}/ depend; fi; \ ${MAKE} MK_TESTS=no DIRPRFX=${_lib}/ all; \ ${MAKE} MK_TESTS=no DIRPRFX=${_lib}/ install .endif @@ -1953,10 +1912,9 @@ # static PAM library, and dynamic PAM library before dynamic PAM # modules. lib/libpam__L: .PHONY .MAKE - ${_+_}@${ECHODIR} "===> lib/libpam (obj,depend,all,install)"; \ + ${_+_}@${ECHODIR} "===> lib/libpam (obj,all,install)"; \ cd ${.CURDIR}/lib/libpam; \ ${MAKE} MK_TESTS=no DIRPRFX=lib/libpam/ obj; \ - if [ -z "${NO_DEPEND}" ]; then ${MAKE} MK_TESTS=no DIRPRFX=lib/libpam/ depend; fi; \ ${MAKE} MK_TESTS=no DIRPRFX=lib/libpam/ \ -D_NO_LIBPAM_SO_YET all; \ ${MAKE} MK_TESTS=no DIRPRFX=lib/libpam/ \ @@ -2251,10 +2209,9 @@ .for _tool in \ ${_clang_tblgen} \ ${_gperf} - ${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all,install)"; \ + ${_+_}@${ECHODIR} "===> ${_tool} (obj,all,install)"; \ cd ${.CURDIR}/${_tool}; \ ${CDMAKE} DIRPRFX=${_tool}/ obj; \ - if [ -z "${NO_DEPEND}" ]; then ${CDMAKE} DIRPRFX=${_tool}/ depend; fi; \ ${CDMAKE} DIRPRFX=${_tool}/ all; \ ${CDMAKE} DIRPRFX=${_tool}/ DESTDIR=${CDTMP} install .endfor @@ -2271,10 +2228,9 @@ ${_clang_libs} \ ${_clang} \ ${_cc} - ${_+_}@${ECHODIR} "===> xdev ${_tool} (obj,depend,all)"; \ + ${_+_}@${ECHODIR} "===> xdev ${_tool} (obj,all)"; \ cd ${.CURDIR}/${_tool}; \ ${CDMAKE} DIRPRFX=${_tool}/ obj; \ - if [ -z "${NO_DEPEND}" ]; then ${CDMAKE} DIRPRFX=${_tool}/ depend; fi; \ ${CDMAKE} DIRPRFX=${_tool}/ all .endfor Index: head/Makefile.libcompat =================================================================== --- head/Makefile.libcompat +++ head/Makefile.libcompat @@ -148,7 +148,7 @@ ${_+_}cd ${.CURDIR}; \ ${LIBCOMPATWMAKE} -f Makefile.inc1 -DNO_FSCHG libraries .if ${libcompat} == "32" -.for _t in obj depend all +.for _t in obj all ${_+_}cd ${.CURDIR}/libexec/rtld-elf; PROG=ld-elf32.so.1 ${LIBCOMPATWMAKE} \ -DNO_FSCHG DIRPRFX=libexec/rtld-elf/ ${_t} ${_+_}cd ${.CURDIR}/usr.bin/ldd; PROG=ldd32 ${LIBCOMPATWMAKE} \ Index: head/UPDATING =================================================================== --- head/UPDATING +++ head/UPDATING @@ -31,6 +31,11 @@ disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20160330: + The FAST_DEPEND build option has been removed and its functionality is + now the one true way. The old mkdep(1) style of 'make depend' has + been removed. See 20160311 for further details. + 20160317: Resource range types have grown from unsigned long to uintmax_t. All drivers, and anything using libdevinfo, need to be recompiled. Index: head/gnu/lib/csu/Makefile =================================================================== --- head/gnu/lib/csu/Makefile +++ head/gnu/lib/csu/Makefile @@ -22,7 +22,6 @@ CFLAGS+= -I${GCCLIB}/include -I${GCCDIR}/config -I${GCCDIR} -I. \ -I${CCDIR}/cc_tools CRTS_CFLAGS= -DCRTSTUFFS_O -DSHARED ${PICFLAG} -MKDEP= -DCRT_BEGIN .if ${TARGET_CPUARCH} == "arm" CFLAGS+= -DTARGET_ARM_EABI Index: head/kerberos5/Makefile =================================================================== --- head/kerberos5/Makefile +++ head/kerberos5/Makefile @@ -14,7 +14,6 @@ cd ${.CURDIR}/../${entry}; \ ${MAKE} cleandir; \ ${MAKE} obj; \ - ${MAKE} depend; \ ${MAKE} all; \ ${MAKE} install .endfor @@ -25,7 +24,6 @@ cd ${.CURDIR}/../${entry}; \ ${MAKE} MK_KERBEROS=no cleandir; \ ${MAKE} MK_KERBEROS=no obj; \ - ${MAKE} MK_KERBEROS=no depend; \ ${MAKE} MK_KERBEROS=no all; \ ${MAKE} MK_KERBEROS=no install .endfor Index: head/release/picobsd/build/Makefile.conf =================================================================== --- head/release/picobsd/build/Makefile.conf +++ head/release/picobsd/build/Makefile.conf @@ -43,8 +43,7 @@ (cd ${COMPILE}; ${BINMAKE} KERNEL=kernel ${MODULES} ) ${COMPILE}: ${CONF}/${CONFFILE} - (cd ${CONF}; ${CONFIG} -d ${COMPILE} ${CONFFILE}; \ - cd ${COMPILE}; ${BINMAKE} KERNEL=kernel ${MODULES} depend ) + cd ${CONF}; ${CONFIG} -d ${COMPILE} ${CONFFILE} ${CONF}/${CONFFILE}: ${KERNCONF} # -mkdir -p ${CONF} # XXX not needed yet. Index: head/secure/Makefile =================================================================== --- head/secure/Makefile +++ head/secure/Makefile @@ -24,7 +24,6 @@ cd ${.CURDIR}/../${entry}; \ ${MAKE} cleandir; \ ${MAKE} obj; \ - ${MAKE} depend; \ ${MAKE} all; \ ${MAKE} install .endfor @@ -35,7 +34,6 @@ cd ${.CURDIR}/../${entry}; \ ${MAKE} MK_CRYPT=no cleandir; \ ${MAKE} MK_CRYPT=no obj; \ - ${MAKE} MK_CRYPT=no depend; \ ${MAKE} MK_CRYPT=no all; \ ${MAKE} MK_CRYPT=no install .endfor Index: head/share/man/man5/make.conf.5 =================================================================== --- head/share/man/man5/make.conf.5 +++ head/share/man/man5/make.conf.5 @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd February 24, 2016 +.Dd March 29, 2016 .Dt MAKE.CONF 5 .Os .Sh NAME @@ -294,12 +294,6 @@ .Xr config 8 during .Dq Li "${MAKE} buildkernel" . -.It Va NO_KERNELDEPEND -.Pq Vt bool -Set this to skip running -.Dq Li "${MAKE} depend" -during -.Dq Li "${MAKE} buildkernel" . .It Va NO_KERNELOBJ .Pq Vt bool Set this to skip running Index: head/share/man/man7/build.7 =================================================================== --- head/share/man/man7/build.7 +++ head/share/man/man7/build.7 @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd February 26, 2016 +.Dd March 29, 2016 .Dt BUILD 7 .Os .Sh NAME @@ -122,11 +122,13 @@ .It Cm clean Remove any files created during the build process. .It Cm cleandepend -Remove the file -.Pa ${.OBJDIR}/${DEPENDFILE} -generated by a prior +Remove the +.Pa ${.OBJDIR}/${DEPENDFILE}* +files generated by prior +.Dq Li "make" +and .Dq Li "make depend" -step. +steps. .It Cm cleandir Remove the canonical object directory if it exists, or perform actions equivalent to @@ -146,6 +148,8 @@ .It Cm depend Generate a list of build dependencies in file .Pa ${.OBJDIR}/${DEPENDFILE} . +Per-object dependencies are generated at build time and stored in +.Pa ${.OBJDIR}/${DEPENDFILE}.${OBJ} . .It Cm install Install the results of the build to the appropriate location in the installation directory hierarchy specified in variable @@ -412,7 +416,6 @@ defaults to setting .Va NO_KERNELCLEAN , .Va NO_KERNELCONFIG , -.Va NO_KERNELDEPEND and .Va NO_KERNELOBJ . When set to a value other than @@ -527,7 +530,7 @@ .Fl D option of .Xr make 1 : -.Bl -tag -width ".Va -DNO_KERNELDEPEND" +.Bl -tag -width ".Va -DNO_KERNELCONFIG" .It Va NO_CLEANDIR If set, the build targets that clean parts of the object tree use the equivalent of @@ -565,12 +568,6 @@ as part of the .Cm buildkernel target. -.It Va NO_KERNELDEPEND -If set, the build process does not run -.Dq make depend -as part of the -.Cm buildkernel -target. .It Va NO_KERNELOBJ If set, the build process does not run .Dq make obj Index: head/share/mk/bsd.clang-analyze.mk =================================================================== --- head/share/mk/bsd.clang-analyze.mk +++ head/share/mk/bsd.clang-analyze.mk @@ -83,10 +83,7 @@ ${__obj}: ${OBJS_DEPEND_GUESS.${__obj}} .endfor -.if ${MK_FAST_DEPEND} == "yes" -beforeanalyze: depend -.endif -beforeanalyze: .PHONY +beforeanalyze: depend .PHONY .if !defined(_RECURSING_PROGS) && !empty(CLANG_ANALYZE_SRCS) && \ ${CLANG_ANALYZE_OUTPUT} != "text" mkdir -p ${CLANG_ANALYZE_OUTPUT_DIR} Index: head/share/mk/bsd.dep.mk =================================================================== --- head/share/mk/bsd.dep.mk +++ head/share/mk/bsd.dep.mk @@ -20,10 +20,6 @@ # # HTAGSFLAGS Options for htags(1) [not set] # -# MKDEP Options for ${MKDEPCMD} [not set] -# -# MKDEPCMD Makefile dependency list program [mkdep] -# # SRCS List of source files (c, c++, assembler) # # DPSRCS List of source files which are needed for generating @@ -54,13 +50,6 @@ GTAGSFLAGS?= -o HTAGSFLAGS?= -_MKDEPCC:= ${CC:N${CCACHE_BIN}} -# XXX: DEPFLAGS can come out once Makefile.inc1 properly passes down -# CXXFLAGS. -.if !empty(DEPFLAGS) -_MKDEPCC+= ${DEPFLAGS} -.endif -MKDEPCMD?= CC='${_MKDEPCC}' mkdep .if ${MK_DIRDEPS_BUILD} == "no" .MAKE.DEPENDFILE= ${DEPENDFILE} .endif @@ -95,9 +84,6 @@ .for _S in ${SRCS:N*.[dhly]} OBJS_DEPEND_GUESS.${_S:R}.o= ${_S} -.if ${MK_FAST_DEPEND} == "no" && !exists(${.OBJDIR}/${DEPENDFILE}) -${_S:R}.o: ${OBJS_DEPEND_GUESS.${_S:R}.o} -.endif .endfor # Lexical analyzers @@ -106,9 +92,6 @@ ${_LC}: ${_LSRC} ${LEX} ${LFLAGS} -o${.TARGET} ${.ALLSRC} OBJS_DEPEND_GUESS.${_LC:R}.o= ${_LC} -.if ${MK_FAST_DEPEND} == "no" && !exists(${.OBJDIR}/${DEPENDFILE}) -${_LC:R}.o: ${OBJS_DEPEND_GUESS.${_LC:R}.o} -.endif SRCS:= ${SRCS:S/${_LSRC}/${_LC}/} CLEANFILES+= ${_LC} .endfor @@ -138,9 +121,6 @@ ${YACC} ${YFLAGS} -o ${_YC} ${.ALLSRC} .endif OBJS_DEPEND_GUESS.${_YC:R}.o= ${_YC} -.if ${MK_FAST_DEPEND} == "no" && !exists(${.OBJDIR}/${DEPENDFILE}) -${_YC:R}.o: ${OBJS_DEPEND_GUESS.${_YC:R}.o} -.endif .endfor .endfor @@ -175,7 +155,6 @@ .if !empty(.MAKE.MODE:Mmeta) && empty(.MAKE.MODE:Mnofilemon) _meta_filemon= 1 .endif -.if ${MK_FAST_DEPEND} == "yes" .if ${MAKE_VERSION} < 20160220 DEPEND_MP?= -MP .endif @@ -210,7 +189,6 @@ .endfor .endif # !defined(_SKIP_READ_DEPEND) .endif # !defined(_meta_filemon) -.endif # ${MK_FAST_DEPEND} == "yes" .endif # defined(SRCS) .if ${MK_DIRDEPS_BUILD} == "yes" @@ -230,7 +208,6 @@ # Guess some dependencies for when no ${DEPENDFILE}.OBJ is generated yet. # For meta+filemon the .meta file is checked for since it is the dependency # file used. -.if ${MK_FAST_DEPEND} == "yes" .for __obj in ${DEPENDOBJS:O:u} .if (defined(_meta_filemon) && !exists(${.OBJDIR}/${__obj}.meta)) || \ (!defined(_meta_filemon) && !exists(${.OBJDIR}/${DEPENDFILE}.${__obj})) @@ -245,7 +222,6 @@ .if ${MK_DIRDEPS_BUILD} == "no" || ${.MAKE.LEVEL} > 0 beforebuild: depend .endif -.endif # ${MK_FAST_DEPEND} == "yes" .if !target(depend) .if defined(SRCS) @@ -254,41 +230,14 @@ # Tell bmake not to look for generated files via .PATH .NOPATH: ${DEPENDFILE} ${DEPENDFILES_OBJS} -.if ${MK_FAST_DEPEND} == "no" -# Capture -include from CFLAGS. -# This could be simpler with bmake :tW but needs to support fmake for MFC. -_CFLAGS_INCLUDES= ${CFLAGS:Q:S/\\ /,/g:C/-include,/-include%/g:C/,/ /g:M-include*:C/%/ /g} -_CXXFLAGS_INCLUDES= ${CXXFLAGS:Q:S/\\ /,/g:C/-include,/-include%/g:C/,/ /g:M-include*:C/%/ /g} - -# Different types of sources are compiled with slightly different flags. -# Split up the sources, and filter out headers and non-applicable flags. -MKDEP_CFLAGS= ${CFLAGS:M-nostdinc*} ${CFLAGS:M-[BIDU]*} ${CFLAGS:M-std=*} \ - ${CFLAGS:M-ansi} ${_CFLAGS_INCLUDES} -MKDEP_CXXFLAGS= ${CXXFLAGS:M-nostdinc*} ${CXXFLAGS:M-[BIDU]*} \ - ${CXXFLAGS:M-std=*} ${CXXFLAGS:M-ansi} ${CXXFLAGS:M-stdlib=*} \ - ${_CXXFLAGS_INCLUDES} -.endif # ${MK_FAST_DEPEND} == "no" - DPSRCS+= ${SRCS} -# FAST_DEPEND will only generate a .depend if _EXTRADEPEND is used but -# the target is created to allow 'make depend' to generate files. +# A .depend file will only be generated if there are commands in +# beforedepend/_EXTRADEPEND/afterdepend. The target is kept +# to allow 'make depend' to generate files. ${DEPENDFILE}: ${DPSRCS} .if exists(${.OBJDIR}/${DEPENDFILE}) rm -f ${DEPENDFILE} .endif -.if ${MK_FAST_DEPEND} == "no" -.if !empty(DPSRCS:M*.[cS]) - ${MKDEPCMD} -f ${DEPENDFILE} -a ${MKDEP} \ - ${MKDEP_CFLAGS} ${.ALLSRC:M*.[cS]} -.endif -.if !empty(DPSRCS:M*.cc) || !empty(DPSRCS:M*.C) || !empty(DPSRCS:M*.cpp) || \ - !empty(DPSRCS:M*.cxx) - ${MKDEPCMD} -f ${DEPENDFILE} -a ${MKDEP} \ - ${MKDEP_CXXFLAGS} \ - ${.ALLSRC:M*.cc} ${.ALLSRC:M*.C} ${.ALLSRC:M*.cpp} ${.ALLSRC:M*.cxx} -.else -.endif -.endif # ${MK_FAST_DEPEND} == "no" .if target(_EXTRADEPEND) _EXTRADEPEND: .USE ${DEPENDFILE}: _EXTRADEPEND Index: head/share/mk/bsd.lib.mk =================================================================== --- head/share/mk/bsd.lib.mk +++ head/share/mk/bsd.lib.mk @@ -289,12 +289,6 @@ .endif _EXTRADEPEND: -.if ${MK_FAST_DEPEND} == "no" - @TMP=_depend$$$$; \ - sed -e 's/^\([^\.]*\).o[ ]*:/\1.o \1.po \1.So:/' < ${DEPENDFILE} \ - > $$TMP; \ - mv $$TMP ${DEPENDFILE} -.endif .if !defined(NO_EXTRADEPEND) && defined(SHLIB_NAME) .if defined(DPADD) && !empty(DPADD) echo ${SHLIB_NAME_FULL}: ${DPADD} >> ${DEPENDFILE} @@ -414,23 +408,6 @@ .endif .include - -.if ${MK_FAST_DEPEND} == "no" && !exists(${.OBJDIR}/${DEPENDFILE}) -.if defined(LIB) && !empty(LIB) -${OBJS} ${STATICOBJS} ${POBJS}: ${OBJS_DEPEND_GUESS} -.for _S in ${SRCS:N*.[hly]} -${_S:R}.po: ${OBJS_DEPEND_GUESS.${_S:R}.po} -.endfor -.endif -.if defined(SHLIB_NAME) || \ - defined(INSTALL_PIC_ARCHIVE) && defined(LIB) && !empty(LIB) -${SOBJS}: ${OBJS_DEPEND_GUESS} -.for _S in ${SRCS:N*.[hly]} -${_S:R}.So: ${OBJS_DEPEND_GUESS.${_S:R}.So} -.endfor -.endif -.endif - .include .include .include Index: head/share/mk/bsd.opts.mk =================================================================== --- head/share/mk/bsd.opts.mk +++ head/share/mk/bsd.opts.mk @@ -52,7 +52,6 @@ ASSERT_DEBUG \ DEBUG_FILES \ DOCCOMPRESS \ - FAST_DEPEND \ INCLUDES \ INSTALLLIB \ KERBEROS \ @@ -79,12 +78,6 @@ STAGING_PROG/STAGING \ -# Enable FAST_DEPEND by default for the meta build. -.if !empty(.MAKE.MODE:Mmeta) -__DEFAULT_YES_OPTIONS+= FAST_DEPEND -__DEFAULT_NO_OPTIONS:= ${__DEFAULT_NO_OPTIONS:NFAST_DEPEND} -.endif - .include # Index: head/share/mk/bsd.prog.mk =================================================================== --- head/share/mk/bsd.prog.mk +++ head/share/mk/bsd.prog.mk @@ -283,13 +283,6 @@ .endif .include - -.if defined(PROG) -.if ${MK_FAST_DEPEND} == "no" && !exists(${.OBJDIR}/${DEPENDFILE}) -${OBJS}: ${OBJS_DEPEND_GUESS} -.endif -.endif - .include .include .include Index: head/share/mk/local.meta.sys.mk =================================================================== --- head/share/mk/local.meta.sys.mk +++ head/share/mk/local.meta.sys.mk @@ -6,7 +6,6 @@ # we need this until there is an alternative MK_INSTALL_AS_USER= yes -MK_FAST_DEPEND= yes _default_makeobjdir=$${.CURDIR:S,^$${SRCTOP},$${OBJTOP},} Index: head/sys/conf/kern.opts.mk =================================================================== --- head/sys/conf/kern.opts.mk +++ head/sys/conf/kern.opts.mk @@ -30,7 +30,6 @@ CDDL \ CRYPT \ CUSE \ - FAST_DEPEND \ FORMAT_EXTENSIONS \ INET \ INET6 \ @@ -49,12 +48,6 @@ NAND \ OFED -# Enable FAST_DEPEND by default for the meta build. -.if !empty(.MAKE.MODE:Unormal:Mmeta) -__DEFAULT_YES_OPTIONS+= FAST_DEPEND -__DEFAULT_NO_OPTIONS:= ${__DEFAULT_NO_OPTIONS:NFAST_DEPEND} -.endif - # Some options are totally broken on some architectures. We disable # them. If you need to enable them on an experimental basis, you # must change this code. Index: head/sys/conf/kern.post.mk =================================================================== --- head/sys/conf/kern.post.mk +++ head/sys/conf/kern.post.mk @@ -145,10 +145,6 @@ OBJS_DEPEND_GUESS+= assym.s vnode_if.h ${BEFORE_DEPEND:M*.h} \ ${MFILES:T:S/.m$/.h/} -.if ${MK_FAST_DEPEND} == "no" && !exists(${.OBJDIR}/.depend) -${SYSTEM_OBJS}: ${OBJS_DEPEND_GUESS} -.endif - LNFILES= ${CFILES:T:S/.c$/.ln/} .for mfile in ${MFILES} @@ -189,23 +185,6 @@ ${SYSTEM_OBJS} genassym.o vers.o: opt_global.h -# Normal files first -CFILES_NORMAL= ${CFILES:N*/cddl/*:N*fs/nfsclient/nfs_clkdtrace*:N*/compat/linuxkpi/common/*:N*/ofed/*:N*/dev/mlx5/*} -SFILES_NORMAL= ${SFILES:N*/cddl/*} - -# We have "special" -I include paths for zfs/dtrace files in 'depend'. -CFILES_CDDL= ${CFILES:M*/cddl/*} -SFILES_CDDL= ${SFILES:M*/cddl/*} - -# We have "special" -I include paths for LinuxKPI. -CFILES_LINUXKPI=${CFILES:M*/compat/linuxkpi/common/*} - -# We have "special" -I include paths for OFED. -CFILES_OFED=${CFILES:M*/ofed/*} - -# We have "special" -I include paths for MLX5. -CFILES_MLX5=${CFILES:M*/dev/mlx5/*} - # Skip reading .depend when not needed to speed up tree-walks # and simple lookups. .if !empty(.MAKEFLAGS:M-V${_V_READ_DEPEND}) || make(obj) || make(clean*) || \ @@ -216,9 +195,6 @@ .endif kernel-depend: .depend -# The argument list can be very long, so use make -V and xargs to -# pass it to mkdep. -_MKDEPCC:= ${CC:N${CCACHE_BIN}} SRCS= assym.s vnode_if.h ${BEFORE_DEPEND} ${CFILES} \ ${SYSTEM_CFILES} ${GEN_CFILES} ${SFILES} \ ${MFILES:T:S/.m$/.h/} @@ -228,7 +204,6 @@ .if !empty(.MAKE.MODE:Unormal:Mmeta) && empty(.MAKE.MODE:Unormal:Mnofilemon) _meta_filemon= 1 .endif -.if ${MK_FAST_DEPEND} == "yes" DEPENDOBJS+= ${SYSTEM_OBJS} genassym.o DEPENDFILES_OBJS= ${DEPENDOBJS:O:u:C/^/.depend./} .if ${MAKE_VERSION} < 20160220 @@ -261,12 +236,10 @@ # all dependencies are correctly added or accounted for. This is mostly to # ensure downstream uses of kernel-depend are handled. beforebuild: kernel-depend -.endif # ${MK_FAST_DEPEND} == "yes" # Guess some dependencies for when no ${DEPENDFILE}.OBJ is generated yet. # For meta+filemon the .meta file is checked for since it is the dependency # file used. -.if ${MK_FAST_DEPEND} == "yes" .for __obj in ${DEPENDOBJS:O:u} .if (defined(_meta_filemon) && !exists(${.OBJDIR}/${__obj}.meta)) || \ (!defined(_meta_filemon) && !exists(${.OBJDIR}/.depend.${__obj})) @@ -276,32 +249,10 @@ ${__obj}: ${OBJS_DEPEND_GUESS.${__obj}} .endif .endfor -.endif .NOPATH: .depend ${DEPENDFILES_OBJS} .depend: .PRECIOUS ${SRCS} -.if ${MK_FAST_DEPEND} == "no" - rm -f ${.TARGET}.tmp -# C files - ${MAKE} -V CFILES_NORMAL -V SYSTEM_CFILES -V GEN_CFILES | \ - CC="${_MKDEPCC}" xargs mkdep -a -f ${.TARGET}.tmp ${CFLAGS} - ${MAKE} -V CFILES_CDDL | \ - CC="${_MKDEPCC}" xargs mkdep -a -f ${.TARGET}.tmp ${ZFS_CFLAGS} \ - ${FBT_CFLAGS} ${DTRACE_CFLAGS} - ${MAKE} -V CFILES_LINUXKPI | \ - CC="${_MKDEPCC}" xargs mkdep -a -f ${.TARGET}.tmp \ - ${CFLAGS} ${LINUXKPI_INCLUDES} - ${MAKE} -V CFILES_OFED -V CFILES_MLX5 | \ - CC="${_MKDEPCC}" xargs mkdep -a -f ${.TARGET}.tmp \ - ${CFLAGS} ${OFEDINCLUDES} -# Assembly files - ${MAKE} -V SFILES_NORMAL | \ - CC="${_MKDEPCC}" xargs mkdep -a -f ${.TARGET}.tmp ${ASM_CFLAGS} - ${MAKE} -V SFILES_CDDL | \ - CC="${_MKDEPCC}" xargs mkdep -a -f ${.TARGET}.tmp ${ZFS_ASM_CFLAGS} - mv ${.TARGET}.tmp ${.TARGET} -.endif _ILINKS= machine .if ${MACHINE} != ${MACHINE_CPUARCH} && ${MACHINE} != "arm64" Index: head/sys/conf/kern.pre.mk =================================================================== --- head/sys/conf/kern.pre.mk +++ head/sys/conf/kern.pre.mk @@ -64,29 +64,6 @@ INCLUDES= ${NOSTDINC} ${INCLMAGIC} -I. -I$S -.if ${MK_FAST_DEPEND} == "no" && (make(depend) || make(kernel-depend)) - -# This hack lets us use the ipfilter code without spamming a new -# include path into contrib'ed source files. -INCLUDES+= -I$S/contrib/ipfilter - -# ... and the same for ath -INCLUDES+= -I$S/dev/ath -I$S/dev/ath/ath_hal -I$S/contrib/dev/ath/ath_hal - -# ... and the same for the NgATM stuff -INCLUDES+= -I$S/contrib/ngatm - -# ... and the same for vchiq -INCLUDES+= -I$S/contrib/vchiq - -# ... and the same for twa -INCLUDES+= -I$S/dev/twa - -# ... and the same for cxgb and cxgbe -INCLUDES+= -I$S/dev/cxgb -I$S/dev/cxgbe - -.endif - CFLAGS= ${COPTFLAGS} ${DEBUG} CFLAGS+= ${INCLUDES} -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h CFLAGS_PARAM_INLINE_UNIT_GROWTH?=100 Index: head/sys/conf/kmod.mk =================================================================== --- head/sys/conf/kmod.mk +++ head/sys/conf/kmod.mk @@ -458,11 +458,6 @@ OBJS_DEPEND_GUESS+= ${SRCS:M*.h} .include - -.if ${MK_FAST_DEPEND} == "no" && !exists(${.OBJDIR}/${DEPENDFILE}) -${OBJS}: ${OBJS_DEPEND_GUESS} -.endif - .include .include .include "kern.mk" Index: head/sys/modules/pflog/Makefile =================================================================== --- head/sys/modules/pflog/Makefile +++ head/sys/modules/pflog/Makefile @@ -7,14 +7,11 @@ opt_pf.h opt_inet.h opt_inet6.h opt_bpf.h SRCS+= bus_if.h device_if.h -.if defined(KERNBUILDDIR) -MKDEP+= -include ${KERNBUILDDIR}/opt_global.h -.else +.if !defined(KERNBUILDDIR) .if defined(VIMAGE) opt_global.h: echo "#define VIMAGE 1" >> ${.TARGET} CFLAGS+= -include opt_global.h -MKDEP+= -include opt_global.h .endif .endif Index: head/sys/modules/pfsync/Makefile =================================================================== --- head/sys/modules/pfsync/Makefile +++ head/sys/modules/pfsync/Makefile @@ -7,14 +7,11 @@ opt_pf.h opt_inet.h opt_inet6.h SRCS+= bus_if.h device_if.h -.if defined(KERNBUILDDIR) -MKDEP+= -include ${KERNBUILDDIR}/opt_global.h -.else +.if !defined(KERNBUILDDIR) .if defined(VIMAGE) opt_global.h: echo "#define VIMAGE 1" >> ${.TARGET} CFLAGS+= -include opt_global.h -MKDEP+= -include opt_global.h .endif .endif Index: head/sys/modules/wtap/Makefile =================================================================== --- head/sys/modules/wtap/Makefile +++ head/sys/modules/wtap/Makefile @@ -16,11 +16,8 @@ SRCS += opt_global.h -.if defined(KERNBUILDDIR) -MKDEP= -include ${KERNBUILDDIR}/opt_global.h -.else +.if !defined(KERNBUILDDIR) CFLAGS+= -include opt_global.h -MKDEP= -include opt_global.h opt_global.h: echo "#define VIMAGE 1" > ${.TARGET} Index: head/tools/build/options/WITHOUT_FAST_DEPEND =================================================================== --- head/tools/build/options/WITHOUT_FAST_DEPEND +++ head/tools/build/options/WITHOUT_FAST_DEPEND @@ -1,5 +0,0 @@ -.\" $FreeBSD$ -Set to use the historical -.Xr mkdep 1 -for the "make depend" phase of the build. -This option is deprecated and will be removed soon. Index: head/tools/build/options/WITH_FAST_DEPEND =================================================================== --- head/tools/build/options/WITH_FAST_DEPEND +++ head/tools/build/options/WITH_FAST_DEPEND @@ -1,7 +0,0 @@ -.\" $FreeBSD$ -Set to generate -.Sy .depend -files in the build during compilation instead of the -historial -.Xr mkdep 1 -call during the "make depend" phase. Index: head/tools/tinder.sh =================================================================== --- head/tools/tinder.sh +++ head/tools/tinder.sh @@ -58,4 +58,4 @@ ;; esac done -make tinderbox UNIVERSE_TARGET="_cleanobj _obj _depend everything" $MAKE_ARGS SUBDIR_OVERRIDE="$SUBDIR" +make tinderbox UNIVERSE_TARGET="_cleanobj _obj everything" $MAKE_ARGS SUBDIR_OVERRIDE="$SUBDIR" Index: head/usr.sbin/ndiscvt/ndisgen.sh =================================================================== --- head/usr.sbin/ndiscvt/ndisgen.sh +++ head/usr.sbin/ndiscvt/ndisgen.sh @@ -432,11 +432,6 @@ echo -n " Building kernel module... " echo "" > bus_if.h echo "" > device_if.h -if ! ${MAKE} -f ${MAKEFILE} depend > /dev/null; then - echo "build failed. Exiting." - echo "" - exit -fi if ! ${MAKE} -f ${MAKEFILE} all > /dev/null; then echo "build failed. Exiting." echo ""