Changeset View
Changeset View
Standalone View
Standalone View
Makefile.inc1
Show First 20 Lines • Show All 193 Lines • ▼ Show 20 Lines | |||||
MK_SYSTEM_COMPILER= no | MK_SYSTEM_COMPILER= no | ||||
MK_SYSTEM_LINKER= no | MK_SYSTEM_LINKER= no | ||||
.endif | .endif | ||||
# Handle external binutils. | # Handle external binutils. | ||||
.if defined(CROSS_TOOLCHAIN_PREFIX) | .if defined(CROSS_TOOLCHAIN_PREFIX) | ||||
CROSS_BINUTILS_PREFIX?=${CROSS_TOOLCHAIN_PREFIX} | CROSS_BINUTILS_PREFIX?=${CROSS_TOOLCHAIN_PREFIX} | ||||
.endif | .endif | ||||
XBINUTILS= AS AR LD NM OBJCOPY RANLIB SIZE STRINGS STRIPBIN | XBINUTILS= AS AR ELFCTL LD NM OBJCOPY RANLIB SIZE STRINGS STRIPBIN | ||||
.for BINUTIL in ${XBINUTILS} | .for BINUTIL in ${XBINUTILS} | ||||
.if defined(CROSS_BINUTILS_PREFIX) && \ | .if defined(CROSS_BINUTILS_PREFIX) && \ | ||||
exists(${CROSS_BINUTILS_PREFIX}/${${BINUTIL}}) | exists(${CROSS_BINUTILS_PREFIX}/${${BINUTIL}}) | ||||
X${BINUTIL}?= ${CROSS_BINUTILS_PREFIX:C,/*$,,}/${${BINUTIL}} | X${BINUTIL}?= ${CROSS_BINUTILS_PREFIX:C,/*$,,}/${${BINUTIL}} | ||||
.else | .else | ||||
X${BINUTIL}?= ${${BINUTIL}} | X${BINUTIL}?= ${${BINUTIL}} | ||||
.endif | .endif | ||||
.endfor | .endfor | ||||
▲ Show 20 Lines • Show All 578 Lines • ▼ Show 20 Lines | |||||
# make hierarchy | # make hierarchy | ||||
HMAKE= PATH=${TMPPATH} ${MAKE} LOCAL_MTREE=${LOCAL_MTREE:Q} | HMAKE= PATH=${TMPPATH} ${MAKE} LOCAL_MTREE=${LOCAL_MTREE:Q} | ||||
.if defined(NO_ROOT) | .if defined(NO_ROOT) | ||||
HMAKE+= PATH=${TMPPATH} METALOG=${METALOG} -DNO_ROOT | HMAKE+= PATH=${TMPPATH} METALOG=${METALOG} -DNO_ROOT | ||||
.endif | .endif | ||||
CROSSENV+= CC="${XCC} ${XCFLAGS}" CXX="${XCXX} ${XCXXFLAGS} ${XCFLAGS}" \ | CROSSENV+= CC="${XCC} ${XCFLAGS}" CXX="${XCXX} ${XCXXFLAGS} ${XCFLAGS}" \ | ||||
CPP="${XCPP} ${XCFLAGS}" \ | CPP="${XCPP} ${XCFLAGS}" \ | ||||
AS="${XAS}" AR="${XAR}" LD="${XLD}" LLVM_LINK="${XLLVM_LINK}" \ | AS="${XAS}" AR="${XAR}" ELFCTL="${XELFCTL}" LD="${XLD}" \ | ||||
NM=${XNM} OBJCOPY="${XOBJCOPY}" \ | LLVM_LINK="${XLLVM_LINK}" NM=${XNM} OBJCOPY="${XOBJCOPY}" \ | ||||
RANLIB=${XRANLIB} STRINGS=${XSTRINGS} \ | RANLIB=${XRANLIB} STRINGS=${XSTRINGS} \ | ||||
SIZE="${XSIZE}" STRIPBIN="${XSTRIPBIN}" | SIZE="${XSIZE}" STRIPBIN="${XSTRIPBIN}" | ||||
.if defined(CROSS_BINUTILS_PREFIX) && exists(${CROSS_BINUTILS_PREFIX}) | .if defined(CROSS_BINUTILS_PREFIX) && exists(${CROSS_BINUTILS_PREFIX}) | ||||
# In the case of xdev-build tools, CROSS_BINUTILS_PREFIX won't be a | # In the case of xdev-build tools, CROSS_BINUTILS_PREFIX won't be a | ||||
# directory, but the compiler will look in the right place for its | # directory, but the compiler will look in the right place for its | ||||
# tools so we don't need to tell it where to look. | # tools so we don't need to tell it where to look. | ||||
BFLAGS+= -B${CROSS_BINUTILS_PREFIX} | BFLAGS+= -B${CROSS_BINUTILS_PREFIX} | ||||
▲ Show 20 Lines • Show All 1,787 Lines • ▼ Show 20 Lines | _dtrace_tools= cddl/lib/libctf cddl/lib/libspl cddl/usr.bin/ctfconvert \ | ||||
cddl/usr.bin/ctfmerge | cddl/usr.bin/ctfmerge | ||||
.endif | .endif | ||||
# If we're given an XAS, don't build binutils. | # If we're given an XAS, don't build binutils. | ||||
.if ${XAS:M/*} == "" | .if ${XAS:M/*} == "" | ||||
.if ${MK_ELFTOOLCHAIN_BOOTSTRAP} != "no" | .if ${MK_ELFTOOLCHAIN_BOOTSTRAP} != "no" | ||||
_elftctools= lib/libelftc \ | _elftctools= lib/libelftc \ | ||||
lib/libpe \ | lib/libpe \ | ||||
usr.bin/elfctl \ | |||||
usr.bin/objcopy \ | usr.bin/objcopy \ | ||||
usr.bin/nm \ | usr.bin/nm \ | ||||
usr.bin/size \ | usr.bin/size \ | ||||
usr.bin/strings | usr.bin/strings | ||||
# These are not required by the build, but can be useful for developers who | # These are not required by the build, but can be useful for developers who | ||||
# cross-build on a FreeBSD 10 host: | # cross-build on a FreeBSD 10 host: | ||||
_elftctools+= usr.bin/addr2line | _elftctools+= usr.bin/addr2line | ||||
.endif | .endif | ||||
.elif ${TARGET_ARCH} != ${MACHINE_ARCH} && ${MK_ELFTOOLCHAIN_BOOTSTRAP} != "no" | .elif ${TARGET_ARCH} != ${MACHINE_ARCH} && ${MK_ELFTOOLCHAIN_BOOTSTRAP} != "no" | ||||
# If cross-building with an external binutils we still need to build strip for | # If cross-building with an external binutils we still need to build strip for | ||||
# the target (for at least crunchide). | # the target (for at least crunchide). | ||||
_elftctools= lib/libelftc \ | _elftctools= lib/libelftc \ | ||||
lib/libpe \ | lib/libpe \ | ||||
usr.bin/elfctl \ | |||||
usr.bin/objcopy | usr.bin/objcopy | ||||
.endif | .endif | ||||
.if ${MK_CLANG_BOOTSTRAP} != "no" | .if ${MK_CLANG_BOOTSTRAP} != "no" | ||||
_clang= usr.bin/clang | _clang= usr.bin/clang | ||||
.endif | .endif | ||||
.if ${MK_LLD_BOOTSTRAP} != "no" | .if ${MK_LLD_BOOTSTRAP} != "no" | ||||
_lld= usr.bin/clang/lld | _lld= usr.bin/clang/lld | ||||
▲ Show 20 Lines • Show All 906 Lines • Show Last 20 Lines |