MFC r289360,r289361,r289378,r289430,r289605,r289676:
r289360: Add temporary workaround for .MAKE being applied to _worldtmp, since r251750. r289361: Consider top-level targets to be .PHONY as bmake won't build them otherwise if a file with the same name is found in the directory. r289378: Mark sub-make targets as .MAKE and .PHONY to handle -n and always-build properly. r289430: Remove .MAKE from targets that do more than just run sub-makes, such as calling rm or mtree. r289605: Add missing .PHONY for parallel subdir target. r289676: Add some missing '+', .MAKE, and .PHONY modifiers.
This commit is contained in:
parent
1c5b4d7b40
commit
28f8b6600d
2
Makefile
2
Makefile
@ -252,7 +252,7 @@ ${TGTS}: .MAKE
|
||||
tinderbox toolchains kernel-toolchains: .MAKE
|
||||
.endif
|
||||
|
||||
${TGTS}:
|
||||
${TGTS}: .PHONY
|
||||
${_+_}@cd ${.CURDIR}; ${_MAKE} ${.TARGET}
|
||||
|
||||
# The historic default "all" target creates files which may cause stale
|
||||
|
@ -468,7 +468,7 @@ KMAKE= ${KMAKEENV} ${MAKE} ${.MAKEFLAGS} ${KERNEL_FLAGS} KERNEL=${INSTKERNNAME}
|
||||
# Attempt to rebuild the entire system, with reasonable chance of
|
||||
# success, regardless of how old your existing system is.
|
||||
#
|
||||
_worldtmp:
|
||||
_worldtmp: .PHONY
|
||||
.if ${.CURDIR:C/[^,]//g} != ""
|
||||
# The m4 build of sendmail files doesn't like it if ',' is used
|
||||
# anywhere in the path of it's files.
|
||||
@ -592,7 +592,7 @@ everything:
|
||||
@echo "--------------------------------------------------------------"
|
||||
${_+_}cd ${.CURDIR}; ${WMAKE} par-all
|
||||
.if defined(LIB32TMP)
|
||||
build32:
|
||||
build32: .PHONY
|
||||
@echo
|
||||
@echo "--------------------------------------------------------------"
|
||||
@echo ">>> stage 5.1: building 32 bit shim libraries"
|
||||
@ -609,54 +609,55 @@ build32:
|
||||
mkdir -p ${WORLDTMP}
|
||||
ln -sf ${.CURDIR}/sys ${WORLDTMP}
|
||||
.for _t in obj includes
|
||||
cd ${.CURDIR}/include; ${LIB32WMAKE} DIRPRFX=include/ ${_t}
|
||||
cd ${.CURDIR}/lib; ${LIB32WMAKE} DIRPRFX=lib/ ${_t}
|
||||
${_+_}cd ${.CURDIR}/include; ${LIB32WMAKE} DIRPRFX=include/ ${_t}
|
||||
${_+_}cd ${.CURDIR}/lib; ${LIB32WMAKE} DIRPRFX=lib/ ${_t}
|
||||
.if ${MK_CDDL} != "no"
|
||||
cd ${.CURDIR}/cddl/lib; ${LIB32WMAKE} DIRPRFX=cddl/lib/ ${_t}
|
||||
${_+_}cd ${.CURDIR}/cddl/lib; ${LIB32WMAKE} DIRPRFX=cddl/lib/ ${_t}
|
||||
.endif
|
||||
cd ${.CURDIR}/gnu/lib; ${LIB32WMAKE} DIRPRFX=gnu/lib/ ${_t}
|
||||
${_+_}cd ${.CURDIR}/gnu/lib; ${LIB32WMAKE} DIRPRFX=gnu/lib/ ${_t}
|
||||
.if ${MK_CRYPT} != "no"
|
||||
cd ${.CURDIR}/secure/lib; ${LIB32WMAKE} DIRPRFX=secure/lib/ ${_t}
|
||||
${_+_}cd ${.CURDIR}/secure/lib; ${LIB32WMAKE} DIRPRFX=secure/lib/ ${_t}
|
||||
.endif
|
||||
.if ${MK_KERBEROS} != "no"
|
||||
cd ${.CURDIR}/kerberos5/lib; ${LIB32WMAKE} DIRPRFX=kerberos5/lib ${_t}
|
||||
${_+_}cd ${.CURDIR}/kerberos5/lib; ${LIB32WMAKE} DIRPRFX=kerberos5/lib ${_t}
|
||||
.endif
|
||||
.endfor
|
||||
.for _dir in usr.bin/lex/lib
|
||||
cd ${.CURDIR}/${_dir}; ${LIB32WMAKE} DIRPRFX=${_dir}/ obj
|
||||
${_+_}cd ${.CURDIR}/${_dir}; ${LIB32WMAKE} DIRPRFX=${_dir}/ obj
|
||||
.endfor
|
||||
.for _dir in lib/ncurses/ncurses lib/ncurses/ncursesw lib/libmagic
|
||||
cd ${.CURDIR}/${_dir}; \
|
||||
${_+_}cd ${.CURDIR}/${_dir}; \
|
||||
WORLDTMP=${WORLDTMP} \
|
||||
MAKEFLAGS="-m ${.CURDIR}/tools/build/mk ${.MAKEFLAGS}" \
|
||||
MAKEOBJDIRPREFIX=${OBJTREE}/lib32 ${MAKE} SSP_CFLAGS= DESTDIR= \
|
||||
DIRPRFX=${_dir}/ -DNO_LINT -DNO_CPU_CFLAGS -DNO_WARNS -DNO_CTF \
|
||||
-DEARLY_BUILD build-tools
|
||||
.endfor
|
||||
cd ${.CURDIR}; \
|
||||
${_+_}cd ${.CURDIR}; \
|
||||
${LIB32WMAKE} -f Makefile.inc1 libraries
|
||||
.for _t in obj depend all
|
||||
cd ${.CURDIR}/libexec/rtld-elf; PROG=ld-elf32.so.1 ${LIB32WMAKE} \
|
||||
${_+_}cd ${.CURDIR}/libexec/rtld-elf; PROG=ld-elf32.so.1 ${LIB32WMAKE} \
|
||||
DIRPRFX=libexec/rtld-elf/ ${_t}
|
||||
cd ${.CURDIR}/usr.bin/ldd; PROG=ldd32 ${LIB32WMAKE} \
|
||||
${_+_}cd ${.CURDIR}/usr.bin/ldd; PROG=ldd32 ${LIB32WMAKE} \
|
||||
DIRPRFX=usr.bin/ldd ${_t}
|
||||
.endfor
|
||||
|
||||
distribute32 install32:
|
||||
cd ${.CURDIR}/lib; ${LIB32IMAKE} ${.TARGET:S/32$//}
|
||||
distribute32 install32: .MAKE .PHONY
|
||||
${_+_}cd ${.CURDIR}/lib; ${LIB32IMAKE} ${.TARGET:S/32$//}
|
||||
.if ${MK_CDDL} != "no"
|
||||
cd ${.CURDIR}/cddl/lib; ${LIB32IMAKE} ${.TARGET:S/32$//}
|
||||
${_+_}cd ${.CURDIR}/cddl/lib; ${LIB32IMAKE} ${.TARGET:S/32$//}
|
||||
.endif
|
||||
cd ${.CURDIR}/gnu/lib; ${LIB32IMAKE} ${.TARGET:S/32$//}
|
||||
${_+_}cd ${.CURDIR}/gnu/lib; ${LIB32IMAKE} ${.TARGET:S/32$//}
|
||||
.if ${MK_CRYPT} != "no"
|
||||
cd ${.CURDIR}/secure/lib; ${LIB32IMAKE} ${.TARGET:S/32$//}
|
||||
${_+_}cd ${.CURDIR}/secure/lib; ${LIB32IMAKE} ${.TARGET:S/32$//}
|
||||
.endif
|
||||
.if ${MK_KERBEROS} != "no"
|
||||
cd ${.CURDIR}/kerberos5/lib; ${LIB32IMAKE} ${.TARGET:S/32$//}
|
||||
${_+_}cd ${.CURDIR}/kerberos5/lib; ${LIB32IMAKE} ${.TARGET:S/32$//}
|
||||
.endif
|
||||
cd ${.CURDIR}/libexec/rtld-elf; \
|
||||
${_+_}cd ${.CURDIR}/libexec/rtld-elf; \
|
||||
PROG=ld-elf32.so.1 ${LIB32IMAKE} ${.TARGET:S/32$//}
|
||||
cd ${.CURDIR}/usr.bin/ldd; PROG=ldd32 ${LIB32IMAKE} ${.TARGET:S/32$//}
|
||||
${_+_}cd ${.CURDIR}/usr.bin/ldd; PROG=ldd32 ${LIB32IMAKE} \
|
||||
${.TARGET:S/32$//}
|
||||
.endif
|
||||
|
||||
WMAKE_TGTS=
|
||||
@ -871,7 +872,7 @@ distributeworld installworld: _installcheck_world
|
||||
.endif
|
||||
.endfor
|
||||
-mkdir ${DESTDIR}/${DISTDIR}/base
|
||||
cd ${.CURDIR}/etc; ${CROSSENV} PATH=${TMPPATH} ${MAKE} \
|
||||
${_+_}cd ${.CURDIR}/etc; ${CROSSENV} PATH=${TMPPATH} ${MAKE} \
|
||||
METALOG=${METALOG} ${IMAKE_INSTALL} ${IMAKE_MTREE} \
|
||||
DISTBASE=/base DESTDIR=${DESTDIR}/${DISTDIR}/base \
|
||||
LOCAL_MTREE=${LOCAL_MTREE:Q} distrib-dirs
|
||||
@ -943,7 +944,7 @@ packageworld:
|
||||
# and do a 'make reinstall' on the *client* to install new binaries from the
|
||||
# most recent server build.
|
||||
#
|
||||
reinstall: .MAKE
|
||||
reinstall: .MAKE .PHONY
|
||||
@echo "--------------------------------------------------------------"
|
||||
@echo ">>> Making hierarchy"
|
||||
@echo "--------------------------------------------------------------"
|
||||
@ -958,7 +959,7 @@ reinstall: .MAKE
|
||||
${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 install32
|
||||
.endif
|
||||
|
||||
redistribute: .MAKE
|
||||
redistribute: .MAKE .PHONY
|
||||
@echo "--------------------------------------------------------------"
|
||||
@echo ">>> Distributing everything"
|
||||
@echo "--------------------------------------------------------------"
|
||||
@ -968,7 +969,7 @@ redistribute: .MAKE
|
||||
DISTRIBUTION=lib32
|
||||
.endif
|
||||
|
||||
distrib-dirs distribution: .MAKE
|
||||
distrib-dirs distribution: .MAKE .PHONY
|
||||
cd ${.CURDIR}/etc; ${CROSSENV} PATH=${TMPPATH} ${MAKE} \
|
||||
${IMAKE_INSTALL} ${IMAKE_MTREE} METALOG=${METALOG} ${.TARGET}
|
||||
|
||||
@ -1019,14 +1020,14 @@ INSTALLKERNEL= ${_kernel}
|
||||
.endif
|
||||
.endfor
|
||||
|
||||
buildkernel ${WMAKE_TGTS} ${.ALLTARGETS:M_*}: .MAKE
|
||||
${WMAKE_TGTS:N_worldtmp:Nbuild32} ${.ALLTARGETS:M_*:N_worldtmp}: .MAKE .PHONY
|
||||
|
||||
#
|
||||
# buildkernel
|
||||
#
|
||||
# Builds all kernels defined by BUILDKERNELS.
|
||||
#
|
||||
buildkernel:
|
||||
buildkernel: .MAKE .PHONY
|
||||
.if empty(BUILDKERNELS)
|
||||
@echo "ERROR: Missing kernel configuration file(s) (${KERNCONF})."; \
|
||||
false
|
||||
@ -1053,14 +1054,14 @@ buildkernel:
|
||||
@echo "--------------------------------------------------------------"
|
||||
@echo ">>> stage 2.1: cleaning up the object tree"
|
||||
@echo "--------------------------------------------------------------"
|
||||
cd ${KRNLOBJDIR}/${_kernel}; ${KMAKE} ${CLEANDIR}
|
||||
${_+_}cd ${KRNLOBJDIR}/${_kernel}; ${KMAKE} ${CLEANDIR}
|
||||
.endif
|
||||
.if !defined(NO_KERNELOBJ)
|
||||
@echo
|
||||
@echo "--------------------------------------------------------------"
|
||||
@echo ">>> stage 2.2: rebuilding the object tree"
|
||||
@echo "--------------------------------------------------------------"
|
||||
cd ${KRNLOBJDIR}/${_kernel}; ${KMAKE} obj
|
||||
${_+_}cd ${KRNLOBJDIR}/${_kernel}; ${KMAKE} obj
|
||||
.endif
|
||||
@echo
|
||||
@echo "--------------------------------------------------------------"
|
||||
@ -1072,13 +1073,13 @@ buildkernel:
|
||||
@echo "--------------------------------------------------------------"
|
||||
@echo ">>> stage 3.1: making dependencies"
|
||||
@echo "--------------------------------------------------------------"
|
||||
cd ${KRNLOBJDIR}/${_kernel}; ${KMAKE} depend -DNO_MODULES_OBJ
|
||||
${_+_}cd ${KRNLOBJDIR}/${_kernel}; ${KMAKE} depend -DNO_MODULES_OBJ
|
||||
.endif
|
||||
@echo
|
||||
@echo "--------------------------------------------------------------"
|
||||
@echo ">>> stage 3.2: building everything"
|
||||
@echo "--------------------------------------------------------------"
|
||||
cd ${KRNLOBJDIR}/${_kernel}; ${KMAKE} all -DNO_MODULES_OBJ
|
||||
${_+_}cd ${KRNLOBJDIR}/${_kernel}; ${KMAKE} all -DNO_MODULES_OBJ
|
||||
@echo "--------------------------------------------------------------"
|
||||
@echo ">>> Kernel build for ${_kernel} completed on `LC_ALL=C date`"
|
||||
@echo "--------------------------------------------------------------"
|
||||
@ -1161,12 +1162,12 @@ packagekernel:
|
||||
#
|
||||
# Build the API documentation with doxygen
|
||||
#
|
||||
doxygen:
|
||||
doxygen: .PHONY
|
||||
@if [ ! -x `/usr/bin/which doxygen` ]; then \
|
||||
echo "You need doxygen (devel/doxygen) to generate the API documentation of the kernel." | /usr/bin/fmt; \
|
||||
exit 1; \
|
||||
fi
|
||||
cd ${.CURDIR}/tools/kerneldoc/subsys && ${MAKE} obj all
|
||||
${_+_}cd ${.CURDIR}/tools/kerneldoc/subsys && ${MAKE} obj all
|
||||
|
||||
#
|
||||
# update
|
||||
@ -1435,7 +1436,7 @@ build-tools: .MAKE
|
||||
#
|
||||
# kernel-tools: Build kernel-building tools
|
||||
#
|
||||
kernel-tools: .MAKE
|
||||
kernel-tools:
|
||||
mkdir -p ${MAKEOBJDIRPREFIX}/usr
|
||||
mtree -deU -f ${.CURDIR}/etc/mtree/BSD.usr.dist \
|
||||
-p ${MAKEOBJDIRPREFIX}/usr >/dev/null
|
||||
@ -1480,7 +1481,7 @@ _cc= gnu/usr.bin/cc
|
||||
.endif
|
||||
.endif
|
||||
|
||||
cross-tools: .MAKE
|
||||
cross-tools: .MAKE .PHONY
|
||||
.for _tool in \
|
||||
${_clang_libs} \
|
||||
${_clang} \
|
||||
@ -1512,7 +1513,7 @@ NXBMAKE= ${NXBENV} ${MAKE} \
|
||||
-DNO_CPU_CFLAGS -DNO_WARNS -DNO_CTF \
|
||||
-DWITHOUT_CLANG_FULL -DWITHOUT_LLDB
|
||||
|
||||
native-xtools: .MAKE
|
||||
native-xtools: .PHONY
|
||||
mkdir -p ${OBJTREE}/nxb-bin/bin
|
||||
mkdir -p ${OBJTREE}/nxb-bin/sbin
|
||||
mkdir -p ${OBJTREE}/nxb-bin/usr
|
||||
@ -1589,8 +1590,8 @@ native-xtools: .MAKE
|
||||
#
|
||||
# hierarchy - ensure that all the needed directories are present
|
||||
#
|
||||
hierarchy hier: .MAKE
|
||||
cd ${.CURDIR}/etc && ${HMAKE} distrib-dirs
|
||||
hierarchy hier: .MAKE .PHONY
|
||||
${_+_}cd ${.CURDIR}/etc && ${HMAKE} distrib-dirs
|
||||
|
||||
#
|
||||
# libraries - build all libraries, and install them under ${DESTDIR}.
|
||||
@ -1599,8 +1600,8 @@ hierarchy hier: .MAKE
|
||||
# interdependencies (__L) are built automatically by the
|
||||
# ${.CURDIR}/tools/make_libdeps.sh script.
|
||||
#
|
||||
libraries: .MAKE
|
||||
cd ${.CURDIR} && \
|
||||
libraries: .MAKE .PHONY
|
||||
${_+_}cd ${.CURDIR} && \
|
||||
${MAKE} -f Makefile.inc1 _prereq_libs && \
|
||||
${MAKE} -f Makefile.inc1 _startup_libs && \
|
||||
${MAKE} -f Makefile.inc1 _prebuild_libs && \
|
||||
@ -2099,12 +2100,12 @@ xdev: xdev-build xdev-install
|
||||
.ORDER: _xb-worldtmp _xb-bootstrap-tools _xb-build-tools _xb-cross-tools
|
||||
xdev-build: _xb-worldtmp _xb-bootstrap-tools _xb-build-tools _xb-cross-tools
|
||||
|
||||
_xb-worldtmp:
|
||||
_xb-worldtmp: .PHONY
|
||||
mkdir -p ${CDTMP}/usr
|
||||
mtree -deU -f ${.CURDIR}/etc/mtree/BSD.usr.dist \
|
||||
-p ${CDTMP}/usr >/dev/null
|
||||
|
||||
_xb-bootstrap-tools:
|
||||
_xb-bootstrap-tools: .PHONY
|
||||
.for _tool in \
|
||||
${_clang_tblgen}
|
||||
${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all,install)"; \
|
||||
@ -2115,11 +2116,11 @@ _xb-bootstrap-tools:
|
||||
${CDMAKE} DIRPRFX=${_tool}/ DESTDIR=${CDTMP} install
|
||||
.endfor
|
||||
|
||||
_xb-build-tools:
|
||||
_xb-build-tools: .PHONY
|
||||
${_+_}@cd ${.CURDIR}; \
|
||||
${CDBENV} ${MAKE} -f Makefile.inc1 ${NOFUN} build-tools
|
||||
|
||||
_xb-cross-tools:
|
||||
_xb-cross-tools: .PHONY
|
||||
.for _tool in \
|
||||
${_binutils} \
|
||||
usr.bin/ar \
|
||||
@ -2133,7 +2134,7 @@ _xb-cross-tools:
|
||||
${CDMAKE} DIRPRFX=${_tool}/ all
|
||||
.endfor
|
||||
|
||||
_xi-mtree:
|
||||
_xi-mtree: .PHONY
|
||||
${_+_}@${ECHODIR} "mtree populating ${XDDESTDIR}"
|
||||
mkdir -p ${XDDESTDIR}
|
||||
mtree -deU -f ${.CURDIR}/etc/mtree/BSD.root.dist \
|
||||
@ -2151,7 +2152,7 @@ _xi-mtree:
|
||||
.ORDER: xdev-build _xi-mtree _xi-cross-tools _xi-includes _xi-libraries _xi-links
|
||||
xdev-install: xdev-build _xi-mtree _xi-cross-tools _xi-includes _xi-libraries _xi-links
|
||||
|
||||
_xi-cross-tools:
|
||||
_xi-cross-tools: .PHONY
|
||||
@echo "_xi-cross-tools"
|
||||
.for _tool in \
|
||||
${_binutils} \
|
||||
@ -2164,15 +2165,15 @@ _xi-cross-tools:
|
||||
${CDMAKE} DIRPRFX=${_tool}/ install DESTDIR=${XDDESTDIR}
|
||||
.endfor
|
||||
|
||||
_xi-includes:
|
||||
_xi-includes: .PHONY
|
||||
${_+_}cd ${.CURDIR}; ${CD2MAKE} -f Makefile.inc1 par-includes \
|
||||
DESTDIR=${XDDESTDIR}
|
||||
|
||||
_xi-libraries:
|
||||
_xi-libraries: .PHONY
|
||||
${_+_}cd ${.CURDIR}; ${CD2MAKE} -f Makefile.inc1 libraries \
|
||||
DESTDIR=${XDDESTDIR}
|
||||
|
||||
_xi-links:
|
||||
_xi-links: .PHONY
|
||||
${_+_}cd ${XDDESTDIR}/usr/bin; \
|
||||
mkdir -p ../../../../usr/bin; \
|
||||
for i in *; do \
|
||||
|
@ -17,7 +17,7 @@ SPROGS+=usr.sbin/sendmail
|
||||
.endif
|
||||
|
||||
# This target is used to rebuild these programs with crypto.
|
||||
secure:
|
||||
secure: .MAKE .PHONY
|
||||
.for entry in ${SPROGS}
|
||||
cd ${.CURDIR}/../${entry}; \
|
||||
${MAKE} cleandir; \
|
||||
@ -28,7 +28,7 @@ secure:
|
||||
.endfor
|
||||
|
||||
# This target is used to rebuild these programs without crypto.
|
||||
insecure:
|
||||
insecure: .MAKE .PHONY
|
||||
.for entry in ${SPROGS}
|
||||
cd ${.CURDIR}/../${entry}; \
|
||||
${MAKE} -DWITHOUT_CRYPT cleandir; \
|
||||
|
@ -84,7 +84,7 @@ __deps=
|
||||
.for __dep in ${SUBDIR_DEPEND_${__dir}}
|
||||
__deps+= ${__target}_subdir_${__dep}
|
||||
.endfor
|
||||
${__target}_subdir_${__dir}: .MAKE ${__deps}
|
||||
${__target}_subdir_${__dir}: .PHONY .MAKE ${__deps}
|
||||
.if !defined(NO_SUBDIR)
|
||||
@${_+_}set -e; \
|
||||
if test -d ${.CURDIR}/${__dir}.${MACHINE_ARCH}; then \
|
||||
|
Loading…
x
Reference in New Issue
Block a user