1# $NetBSD: bsd.host.mk,v 1.6 2021/12/20 20:33:20 christos Exp $ 2 3.if !defined(_BSD_HOST_MK_) 4_BSD_HOST_MK_=1 5 6.if ${MKDEBUGTOOLS:Uno} == "yes" 7HOST_DBG?= -g 8.else 9HOST_DBG?= -O 10.endif 11 12.if ${MKDTRACE:Uno} != "no" 13# disable compiler options that interfere with dtrace 14HOST_DTRACE_OPTS?= -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-ipa-sra 15.endif 16 17# Helpers for cross-compiling 18HOST_CC?= cc 19HOST_CFLAGS?= ${HOST_DBG} 20HOST_COMPILE.c?=${HOST_CC} ${HOST_CFLAGS} ${HOST_DTRACE_OPTS} ${HOST_CPPFLAGS} -c 21HOST_COMPILE.cc?= ${HOST_CXX} ${HOST_CXXFLAGS} ${HOST_DTRACE_OPTS} ${HOST_CPPFLAGS} -c 22HOST_LINK.cc?= ${HOST_CXX} ${HOST_CXXFLAGS} ${HOST_CPPFLAGS} ${HOST_LDFLAGS} 23.if defined(HOSTPROG_CXX) 24HOST_LINK.c?= ${HOST_LINK.cc} 25.else 26HOST_LINK.c?= ${HOST_CC} ${HOST_CFLAGS} ${HOST_CPPFLAGS} ${HOST_LDFLAGS} 27.endif 28 29HOST_CXX?= c++ 30HOST_CXXFLAGS?= ${HOST_DBG} 31 32HOST_CPP?= cpp 33HOST_CPPFLAGS?= 34 35HOST_LD?= ld 36HOST_LDFLAGS?= 37 38HOST_AR?= ar 39HOST_RANLIB?= ranlib 40 41HOST_LN?= ln 42 43# HOST_SH must be an absolute path 44HOST_SH?= /bin/sh 45 46.if !defined(HOST_OSTYPE) 47_HOST_OSNAME!= uname -s 48_HOST_OSREL!= uname -r 49# For _HOST_ARCH, if uname -p fails, or prints "unknown", or prints 50# something that does not look like an identifier, then use uname -m. 51_HOST_ARCH!= uname -p 2>/dev/null 52_HOST_ARCH:= ${HOST_ARCH:tW:C/.*[^-_A-Za-z0-9].*//:S/unknown//} 53.if empty(_HOST_ARCH) 54_HOST_ARCH!= uname -m 55.endif 56HOST_OSTYPE:= ${_HOST_OSNAME}-${_HOST_OSREL:C/\([^\)]*\)//g:[*]:C/ /_/g}-${_HOST_ARCH:C/\([^\)]*\)//g:[*]:C/ /_/g} 57.MAKEOVERRIDES+= HOST_OSTYPE 58.endif # !defined(HOST_OSTYPE) 59 60.if ${USETOOLS} == "yes" 61HOST_MKDEP?= ${TOOLDIR}/bin/${_TOOL_PREFIX}host-mkdep 62HOST_MKDEPCXX?= ${TOOLDIR}/bin/${_TOOL_PREFIX}host-mkdep 63.else 64HOST_MKDEP?= CC=${HOST_CC:Q} mkdep 65HOST_MKDEPCXX?= CC=${HOST_CXX:Q} mkdep 66.endif 67 68.if ${HOST_OSTYPE:MLinux*} 69HOST_CPPFLAGS+=-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 70.endif 71 72.if ${NEED_OWN_INSTALL_TARGET} != "no" 73HOST_INSTALL_FILE?= ${INSTALL} ${COPY} ${PRESERVE} ${RENAME} 74HOST_INSTALL_DIR?= ${INSTALL} -d 75HOST_INSTALL_SYMLINK?= ${INSTALL} ${SYMLINK} ${RENAME} 76.endif 77 78.endif 79