version 1.129.2.1, 2011/06/06 09:07:35 |
version 1.130, 2011/02/17 18:47:13 |
Line 63 COPTS?= ${DEFCOPTS} |
|
Line 63 COPTS?= ${DEFCOPTS} |
|
DBG= # might contain unwanted -Ofoo |
DBG= # might contain unwanted -Ofoo |
DEFWARNINGS?= yes |
DEFWARNINGS?= yes |
.if (${DEFWARNINGS} == "yes") |
.if (${DEFWARNINGS} == "yes") |
|
. if !defined(NOGCCERROR) |
|
CWARNFLAGS+= -Werror |
|
. endif |
CWARNFLAGS+= -Wall -Wno-main -Wno-format-zero-length -Wpointer-arith |
CWARNFLAGS+= -Wall -Wno-main -Wno-format-zero-length -Wpointer-arith |
CWARNFLAGS+= -Wmissing-prototypes -Wstrict-prototypes |
CWARNFLAGS+= -Wmissing-prototypes -Wstrict-prototypes |
CWARNFLAGS+= -Wswitch -Wshadow |
CWARNFLAGS+= -Wswitch -Wshadow |
CWARNFLAGS+= -Wcast-qual -Wwrite-strings |
CWARNFLAGS+= -Wcast-qual -Wwrite-strings |
CWARNFLAGS+= -Wno-unreachable-code |
CWARNFLAGS+= -Wno-unreachable-code |
|
# Add -Wno-sign-compare. -Wsign-compare is included in -Wall as of GCC 3.3, |
|
# but our sources aren't up for it yet. |
|
CWARNFLAGS+= -Wno-sign-compare |
. if (defined(HAVE_GCC) && ${HAVE_GCC} > 3) || defined(HAVE_PCC) |
. if (defined(HAVE_GCC) && ${HAVE_GCC} > 3) || defined(HAVE_PCC) |
CWARNFLAGS+= -Wno-pointer-sign -Wno-attributes |
CWARNFLAGS+= -Wno-pointer-sign -Wno-attributes |
. if ${MACHINE} == "i386" || ${MACHINE_ARCH} == "x86_64" || \ |
. if ${MACHINE} == "i386" || ${MACHINE_ARCH} == "x86_64" || \ |
Line 75 CWARNFLAGS+= -Wno-pointer-sign -Wno-attr |
|
Line 81 CWARNFLAGS+= -Wno-pointer-sign -Wno-attr |
|
CWARNFLAGS+= -Wextra -Wno-unused-parameter |
CWARNFLAGS+= -Wextra -Wno-unused-parameter |
. endif |
. endif |
. endif |
. endif |
# Add -Wno-sign-compare. -Wsign-compare is included in -Wall as of GCC 3.3, |
|
# but our sources aren't up for it yet. |
|
CWARNFLAGS+= -Wno-sign-compare |
|
.endif |
.endif |
|
|
CWARNFLAGS.clang+= -Wno-unknown-pragmas -Wno-conversion \ |
|
-Wno-self-assign -Wno-array-bounds |
|
|
|
CFLAGS+= -ffreestanding -fno-zero-initialized-in-bss |
CFLAGS+= -ffreestanding -fno-zero-initialized-in-bss |
CFLAGS+= ${DEBUG} ${COPTS} |
CFLAGS+= ${DEBUG} ${COPTS} |
AFLAGS+= -D_LOCORE -Wa,--fatal-warnings |
AFLAGS+= -D_LOCORE -Wa,-fatal-warnings |
|
|
# XXX |
# XXX |
.if defined(HAVE_GCC) && ${HAVE_GCC} > 3 |
.if defined(HAVE_GCC) && ${HAVE_GCC} > 3 |
Line 93 CFLAGS+= -fno-strict-aliasing |
|
Line 93 CFLAGS+= -fno-strict-aliasing |
|
.endif |
.endif |
|
|
.if ${USE_SSP:Uno} == "yes" |
.if ${USE_SSP:Uno} == "yes" |
|
CFLAGS+=-fstack-protector -Wstack-protector --param ssp-buffer-size=1 |
|
LDFLAGS+=-fstack-protector -Wstack-protector --param ssp-buffer-size=1 |
COPTS.kern_ssp.c+= -fno-stack-protector -D__SSP__ |
COPTS.kern_ssp.c+= -fno-stack-protector -D__SSP__ |
.endif |
.endif |
|
|
|
|
. endfor |
. endfor |
.endfor |
.endfor |
|
|
# Always compile debugsyms.c with debug information. |
# Always compile subr_debug_info.c with debug informations. |
# This allows gdb to use type informations. |
# This allows gdb to use type informations. |
# |
# |
COPTS.debugsyms.c+= -g |
COPTS.debugsyms.c+= -g |
Line 131 COMPILE_CTFCONVERT= ${_MKSHECHO} |
|
Line 133 COMPILE_CTFCONVERT= ${_MKSHECHO} |
|
# NOPROF and SUFFIX is the file suffix, capitalized (e.g. C for a .c file). |
# NOPROF and SUFFIX is the file suffix, capitalized (e.g. C for a .c file). |
NORMAL_C?= @${_MKSHMSG} "compile ${.CURDIR:T}/${.TARGET}" && \ |
NORMAL_C?= @${_MKSHMSG} "compile ${.CURDIR:T}/${.TARGET}" && \ |
${_MKSHECHO}\ |
${_MKSHECHO}\ |
${CC} ${COPTS.${<:T}} ${CFLAGS} ${CPPFLAGS} ${PROF} -c $< && \ |
${CC} ${CFLAGS} ${CPPFLAGS} ${PROF} -c $< && \ |
${CC} ${COPTS.${<:T}} ${CFLAGS} ${CPPFLAGS} ${PROF} -c $< && \ |
${CC} ${CFLAGS} ${CPPFLAGS} ${PROF} -c $< && \ |
${COMPILE_CTFCONVERT} |
${COMPILE_CTFCONVERT} |
NOPROF_C?= @${_MKSHMSG} "compile ${.CURDIR:T}/${.TARGET}" && \ |
NOPROF_C?= @${_MKSHMSG} "compile ${.CURDIR:T}/${.TARGET}" && \ |
${_MKSHECHO}\ |
${_MKSHECHO}\ |
${CC} ${COPTS.${<:T}} ${CFLAGS} ${CPPFLAGS} -c $< && \ |
${CC} ${CFLAGS} ${CPPFLAGS} -c $< && \ |
${CC} ${COPTS.${<:T}} ${CFLAGS} ${CPPFLAGS} -c $< && \ |
${CC} ${CFLAGS} ${CPPFLAGS} -c $< && \ |
${COMPILE_CTFCONVERT} |
${COMPILE_CTFCONVERT} |
NORMAL_S?= @${_MKSHMSG} "compile ${.CURDIR:T}/${.TARGET}" && \ |
NORMAL_S?= @${_MKSHMSG} "compile ${.CURDIR:T}/${.TARGET}" && \ |
${_MKSHECHO}\ |
${_MKSHECHO}\ |
${CC} ${AFLAGS} ${AFLAGS.${<:T}} ${CPPFLAGS} -c $< && \ |
${CC} ${AFLAGS} ${CPPFLAGS} -c $< && \ |
${CC} ${AFLAGS} ${AFLAGS.${<:T}} ${CPPFLAGS} -c $< |
${CC} ${AFLAGS} ${CPPFLAGS} -c $< |
|
|
## |
## |
## (3) libkern and compat |
## (3) libkern and compat |
|
|
SYSTEM_LD_TAIL+=; \ |
SYSTEM_LD_TAIL+=; \ |
if grep '^\#define.*SYMTAB_SPACE' opt_ddbparam.h > /dev/null; then \ |
if grep '^\#define.*SYMTAB_SPACE' opt_ddbparam.h > /dev/null; then \ |
echo "${DBSYM} $@.gdb"; \ |
echo "${DBSYM} $@.gdb"; \ |
${DBSYM} $@.gdb || exit 1; \ |
${DBSYM} $@.gdb; \ |
fi |
fi |
|
|
.elifndef PROF |
.elifndef PROF |
Line 260 LINKFLAGS+= ${LINKFLAGS_NORMAL} |
|
Line 262 LINKFLAGS+= ${LINKFLAGS_NORMAL} |
|
SYSTEM_LD_TAIL+=; \ |
SYSTEM_LD_TAIL+=; \ |
if grep '^\#define.*SYMTAB_SPACE' opt_ddbparam.h > /dev/null; then \ |
if grep '^\#define.*SYMTAB_SPACE' opt_ddbparam.h > /dev/null; then \ |
echo "${DBSYM} $@"; \ |
echo "${DBSYM} $@"; \ |
${DBSYM} $@ || exit 1; \ |
${DBSYM} $@; \ |
fi |
fi |
|
|
SYSTEM_LD_HEAD+=${SYSTEM_LD_HEAD_EXTRA} |
SYSTEM_LD_HEAD+=${SYSTEM_LD_HEAD_EXTRA} |