Changeset View
Changeset View
Standalone View
Standalone View
sys/conf/kern.post.mk
Show First 20 Lines • Show All 139 Lines • ▼ Show 20 Lines | |||||
.endif | .endif | ||||
.if !defined(DEBUG) | .if !defined(DEBUG) | ||||
${OBJCOPY} --strip-debug ${.TARGET} | ${OBJCOPY} --strip-debug ${.TARGET} | ||||
.endif | .endif | ||||
${SYSTEM_LD_TAIL} | ${SYSTEM_LD_TAIL} | ||||
OBJS_DEPEND_GUESS+= assym.s vnode_if.h ${BEFORE_DEPEND:M*.h} \ | OBJS_DEPEND_GUESS+= assym.s vnode_if.h ${BEFORE_DEPEND:M*.h} \ | ||||
${MFILES:T:S/.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/} | LNFILES= ${CFILES:T:S/.c$/.ln/} | ||||
.for mfile in ${MFILES} | .for mfile in ${MFILES} | ||||
# XXX the low quality .m.o rules gnerated by config are normally used | # XXX the low quality .m.o rules gnerated by config are normally used | ||||
wblock: spelling error | |||||
Not Done Inline ActionsAs above, perhaps in a separate commit emaste: As above, perhaps in a separate commit | |||||
# instead of the .m.c rules here. | # instead of the .m.c rules here. | ||||
${mfile:T:S/.m$/.c/}: ${mfile} | ${mfile:T:S/.m$/.c/}: ${mfile} | ||||
${AWK} -f $S/tools/makeobjops.awk ${mfile} -c | ${AWK} -f $S/tools/makeobjops.awk ${mfile} -c | ||||
${mfile:T:S/.m$/.h/}: ${mfile} | ${mfile:T:S/.m$/.h/}: ${mfile} | ||||
${AWK} -f $S/tools/makeobjops.awk ${mfile} -h | ${AWK} -f $S/tools/makeobjops.awk ${mfile} -h | ||||
.endfor | .endfor | ||||
kernel-clean: | kernel-clean: | ||||
Show All 20 Lines | |||||
assym.s: $S/kern/genassym.sh genassym.o | assym.s: $S/kern/genassym.sh genassym.o | ||||
NM='${NM}' NMFLAGS='${NMFLAGS}' sh $S/kern/genassym.sh genassym.o > ${.TARGET} | NM='${NM}' NMFLAGS='${NMFLAGS}' sh $S/kern/genassym.sh genassym.o > ${.TARGET} | ||||
genassym.o: $S/$M/$M/genassym.c | genassym.o: $S/$M/$M/genassym.c | ||||
${CC} -c ${CFLAGS:N-fno-common} $S/$M/$M/genassym.c | ${CC} -c ${CFLAGS:N-fno-common} $S/$M/$M/genassym.c | ||||
${SYSTEM_OBJS} genassym.o vers.o: opt_global.h | ${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 | # Skip reading .depend when not needed to speed up tree-walks | ||||
# and simple lookups. | # and simple lookups. | ||||
.if !empty(.MAKEFLAGS:M-V${_V_READ_DEPEND}) || make(obj) || make(clean*) || \ | .if !empty(.MAKEFLAGS:M-V${_V_READ_DEPEND}) || make(obj) || make(clean*) || \ | ||||
make(install*) || make(kernel-obj) || make(kernel-clean*) || \ | make(install*) || make(kernel-obj) || make(kernel-clean*) || \ | ||||
make(kernel-install*) | make(kernel-install*) | ||||
_SKIP_READ_DEPEND= 1 | _SKIP_READ_DEPEND= 1 | ||||
.MAKE.DEPENDFILE= /dev/null | .MAKE.DEPENDFILE= /dev/null | ||||
.endif | .endif | ||||
kernel-depend: .depend | 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} \ | SRCS= assym.s vnode_if.h ${BEFORE_DEPEND} ${CFILES} \ | ||||
${SYSTEM_CFILES} ${GEN_CFILES} ${SFILES} \ | ${SYSTEM_CFILES} ${GEN_CFILES} ${SFILES} \ | ||||
${MFILES:T:S/.m$/.h/} | ${MFILES:T:S/.m$/.h/} | ||||
DEPENDFILES= .depend .depend.* | DEPENDFILES= .depend .depend.* | ||||
# Skip generating or including .depend.* files if in meta+filemon mode since | # Skip generating or including .depend.* files if in meta+filemon mode since | ||||
# it will track dependencies itself. OBJS_DEPEND_GUESS is still used though. | # it will track dependencies itself. OBJS_DEPEND_GUESS is still used though. | ||||
.if !empty(.MAKE.MODE:Unormal:Mmeta) && empty(.MAKE.MODE:Unormal:Mnofilemon) | .if !empty(.MAKE.MODE:Unormal:Mmeta) && empty(.MAKE.MODE:Unormal:Mnofilemon) | ||||
_meta_filemon= 1 | _meta_filemon= 1 | ||||
.endif | .endif | ||||
.if ${MK_FAST_DEPEND} == "yes" | |||||
DEPENDOBJS+= ${SYSTEM_OBJS} genassym.o | DEPENDOBJS+= ${SYSTEM_OBJS} genassym.o | ||||
DEPENDFILES_OBJS= ${DEPENDOBJS:O:u:C/^/.depend./} | DEPENDFILES_OBJS= ${DEPENDOBJS:O:u:C/^/.depend./} | ||||
.if ${MAKE_VERSION} < 20160220 | .if ${MAKE_VERSION} < 20160220 | ||||
DEPEND_MP?= -MP | DEPEND_MP?= -MP | ||||
.endif | .endif | ||||
DEPEND_CFLAGS+= -MD ${DEPEND_MP} -MF.depend.${.TARGET} | DEPEND_CFLAGS+= -MD ${DEPEND_MP} -MF.depend.${.TARGET} | ||||
DEPEND_CFLAGS+= -MT${.TARGET} | DEPEND_CFLAGS+= -MT${.TARGET} | ||||
.if !defined(_meta_filemon) | .if !defined(_meta_filemon) | ||||
Show All 16 Lines | |||||
.endif # !defined(_SKIP_READ_DEPEND) | .endif # !defined(_SKIP_READ_DEPEND) | ||||
.endif # !defined(_meta_filemon) | .endif # !defined(_meta_filemon) | ||||
# Always run 'make depend' to generate dependencies early and to avoid the | # Always run 'make depend' to generate dependencies early and to avoid the | ||||
# need for manually running it. For the kernel this is mostly a NOP since | # need for manually running it. For the kernel this is mostly a NOP since | ||||
# all dependencies are correctly added or accounted for. This is mostly to | # all dependencies are correctly added or accounted for. This is mostly to | ||||
# ensure downstream uses of kernel-depend are handled. | # ensure downstream uses of kernel-depend are handled. | ||||
beforebuild: kernel-depend | beforebuild: kernel-depend | ||||
.endif # ${MK_FAST_DEPEND} == "yes" | |||||
# Guess some dependencies for when no ${DEPENDFILE}.OBJ is generated yet. | # 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 | # For meta+filemon the .meta file is checked for since it is the dependency | ||||
# file used. | # file used. | ||||
.if ${MK_FAST_DEPEND} == "yes" | |||||
.for __obj in ${DEPENDOBJS:O:u} | .for __obj in ${DEPENDOBJS:O:u} | ||||
.if (defined(_meta_filemon) && !exists(${.OBJDIR}/${__obj}.meta)) || \ | .if (defined(_meta_filemon) && !exists(${.OBJDIR}/${__obj}.meta)) || \ | ||||
(!defined(_meta_filemon) && !exists(${.OBJDIR}/.depend.${__obj})) | (!defined(_meta_filemon) && !exists(${.OBJDIR}/.depend.${__obj})) | ||||
.if ${SYSTEM_OBJS:M${__obj}} | .if ${SYSTEM_OBJS:M${__obj}} | ||||
${__obj}: ${OBJS_DEPEND_GUESS} | ${__obj}: ${OBJS_DEPEND_GUESS} | ||||
.endif | .endif | ||||
${__obj}: ${OBJS_DEPEND_GUESS.${__obj}} | ${__obj}: ${OBJS_DEPEND_GUESS.${__obj}} | ||||
.endif | .endif | ||||
.endfor | .endfor | ||||
.endif | |||||
.NOPATH: .depend ${DEPENDFILES_OBJS} | .NOPATH: .depend ${DEPENDFILES_OBJS} | ||||
.depend: .PRECIOUS ${SRCS} | .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 | _ILINKS= machine | ||||
.if ${MACHINE} != ${MACHINE_CPUARCH} && ${MACHINE} != "arm64" | .if ${MACHINE} != ${MACHINE_CPUARCH} && ${MACHINE} != "arm64" | ||||
_ILINKS+= ${MACHINE_CPUARCH} | _ILINKS+= ${MACHINE_CPUARCH} | ||||
.endif | .endif | ||||
.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64" | .if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64" | ||||
_ILINKS+= x86 | _ILINKS+= x86 | ||||
.endif | .endif | ||||
▲ Show 20 Lines • Show All 119 Lines • Show Last 20 Lines |
spelling error