Changeset View
Changeset View
Standalone View
Standalone View
sys/conf/kmod.mk
Show First 20 Lines • Show All 134 Lines • ▼ Show 20 Lines | |||||
# somewhere unexpected, allocate storage for them in the module itself. | # somewhere unexpected, allocate storage for them in the module itself. | ||||
CFLAGS+= -fno-common | CFLAGS+= -fno-common | ||||
LDFLAGS+= -d -warn-common | LDFLAGS+= -d -warn-common | ||||
.if defined(LINKER_FEATURES) && ${LINKER_FEATURES:Mbuild-id} | .if defined(LINKER_FEATURES) && ${LINKER_FEATURES:Mbuild-id} | ||||
LDFLAGS+= --build-id=sha1 | LDFLAGS+= --build-id=sha1 | ||||
.endif | .endif | ||||
.if defined(LINKER_FEATURES) && ${LINKER_FEATURES:Mgdb-index} | |||||
LDFLAGS+= --gdb-index | |||||
.endif | |||||
CFLAGS+= ${DEBUG_FLAGS} | CFLAGS+= ${DEBUG_FLAGS} | ||||
.if ${MACHINE_CPUARCH} == amd64 | .if ${MACHINE_CPUARCH} == amd64 | ||||
CFLAGS+= -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer | CFLAGS+= -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer | ||||
.endif | .endif | ||||
.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "riscv" || \ | .if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "riscv" || \ | ||||
${MACHINE_CPUARCH} == "powerpc" | ${MACHINE_CPUARCH} == "powerpc" | ||||
CFLAGS+= -fPIC | CFLAGS+= -fPIC | ||||
Show All 34 Lines | |||||
SRCS+= ${KMOD:S/$/.c/} | SRCS+= ${KMOD:S/$/.c/} | ||||
CLEANFILES+= ${KMOD:S/$/.c/} | CLEANFILES+= ${KMOD:S/$/.c/} | ||||
.for _firmw in ${FIRMWS} | .for _firmw in ${FIRMWS} | ||||
${_firmw:C/\:.*$/.fwo/:T}: ${_firmw:C/\:.*$//} | ${_firmw:C/\:.*$/.fwo/:T}: ${_firmw:C/\:.*$//} | ||||
@${ECHO} ${_firmw:C/\:.*$//} ${.ALLSRC:M*${_firmw:C/\:.*$//}} | @${ECHO} ${_firmw:C/\:.*$//} ${.ALLSRC:M*${_firmw:C/\:.*$//}} | ||||
@if [ -e ${_firmw:C/\:.*$//} ]; then \ | @if [ -e ${_firmw:C/\:.*$//} ]; then \ | ||||
${LD} -b binary --no-warn-mismatch ${_LDFLAGS} \ | ${LD} -b binary --no-warn-mismatch \ | ||||
${_LDFLAGS:N--gdb-index} \ | |||||
-m ${LD_EMULATION} -r -d \ | -m ${LD_EMULATION} -r -d \ | ||||
-o ${.TARGET} ${_firmw:C/\:.*$//}; \ | -o ${.TARGET} ${_firmw:C/\:.*$//}; \ | ||||
else \ | else \ | ||||
ln -s ${.ALLSRC:M*${_firmw:C/\:.*$//}} ${_firmw:C/\:.*$//}; \ | ln -s ${.ALLSRC:M*${_firmw:C/\:.*$//}} ${_firmw:C/\:.*$//}; \ | ||||
${LD} -b binary --no-warn-mismatch ${_LDFLAGS} \ | ${LD} -b binary --no-warn-mismatch \ | ||||
${_LDFLAGS:N--gdb-index} \ | |||||
-m ${LD_EMULATION} -r -d \ | -m ${LD_EMULATION} -r -d \ | ||||
-o ${.TARGET} ${_firmw:C/\:.*$//}; \ | -o ${.TARGET} ${_firmw:C/\:.*$//}; \ | ||||
rm ${_firmw:C/\:.*$//}; \ | rm ${_firmw:C/\:.*$//}; \ | ||||
fi | fi | ||||
OBJS+= ${_firmw:C/\:.*$/.fwo/:T} | OBJS+= ${_firmw:C/\:.*$/.fwo/:T} | ||||
.endfor | .endfor | ||||
.endif | .endif | ||||
Show All 38 Lines | |||||
LDSCRIPT_FLAGS?= -T ${SYSDIR}/conf/ldscript.kmod.${MACHINE_ARCH} | LDSCRIPT_FLAGS?= -T ${SYSDIR}/conf/ldscript.kmod.${MACHINE_ARCH} | ||||
.endif | .endif | ||||
.if ${__KLD_SHARED} == yes | .if ${__KLD_SHARED} == yes | ||||
${KMOD}.kld: ${OBJS} | ${KMOD}.kld: ${OBJS} | ||||
.else | .else | ||||
${FULLPROG}: ${OBJS} | ${FULLPROG}: ${OBJS} | ||||
.endif | .endif | ||||
${LD} -m ${LD_EMULATION} ${_LDFLAGS} ${LDSCRIPT_FLAGS} -r -d \ | ${LD} -m ${LD_EMULATION} ${_LDFLAGS:N--gdb-index} ${LDSCRIPT_FLAGS} \ | ||||
-o ${.TARGET} ${OBJS} | -r -d -o ${.TARGET} ${OBJS} | ||||
.if ${MK_CTF} != "no" | .if ${MK_CTF} != "no" | ||||
${CTFMERGE} ${CTFFLAGS} -o ${.TARGET} ${OBJS} | ${CTFMERGE} ${CTFFLAGS} -o ${.TARGET} ${OBJS} | ||||
.endif | .endif | ||||
.if defined(EXPORT_SYMS) | .if defined(EXPORT_SYMS) | ||||
.if ${EXPORT_SYMS} != YES | .if ${EXPORT_SYMS} != YES | ||||
.if ${EXPORT_SYMS} == NO | .if ${EXPORT_SYMS} == NO | ||||
:> export_syms | :> export_syms | ||||
.elif !exists(${.CURDIR}/${EXPORT_SYMS}) | .elif !exists(${.CURDIR}/${EXPORT_SYMS}) | ||||
▲ Show 20 Lines • Show All 280 Lines • Show Last 20 Lines |