Home | History | Annotate | Line # | Download | only in mk
      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"
      7 HOST_DBG?= -g
      8 .else
      9 HOST_DBG?= -O
     10 .endif
     11 
     12 .if ${MKDTRACE:Uno} != "no"
     13 # disable compiler options that interfere with dtrace
     14 HOST_DTRACE_OPTS?=	-fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-ipa-sra
     15 .endif
     16 
     17 # Helpers for cross-compiling
     18 HOST_CC?=	cc
     19 HOST_CFLAGS?=	${HOST_DBG}
     20 HOST_COMPILE.c?=${HOST_CC} ${HOST_CFLAGS} ${HOST_DTRACE_OPTS} ${HOST_CPPFLAGS} -c
     21 HOST_COMPILE.cc?=      ${HOST_CXX} ${HOST_CXXFLAGS} ${HOST_DTRACE_OPTS} ${HOST_CPPFLAGS} -c
     22 HOST_LINK.cc?=  ${HOST_CXX} ${HOST_CXXFLAGS} ${HOST_CPPFLAGS} ${HOST_LDFLAGS}
     23 .if defined(HOSTPROG_CXX)
     24 HOST_LINK.c?=   ${HOST_LINK.cc}
     25 .else
     26 HOST_LINK.c?=	${HOST_CC} ${HOST_CFLAGS} ${HOST_CPPFLAGS} ${HOST_LDFLAGS}
     27 .endif
     28 
     29 HOST_CXX?=	c++
     30 HOST_CXXFLAGS?=	${HOST_DBG}
     31 
     32 HOST_CPP?=	cpp
     33 HOST_CPPFLAGS?=
     34 
     35 HOST_LD?=	ld
     36 HOST_LDFLAGS?=
     37 
     38 HOST_AR?=	ar
     39 HOST_RANLIB?=	ranlib
     40 
     41 HOST_LN?=	ln
     42 
     43 # HOST_SH must be an absolute path
     44 HOST_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
     56 HOST_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"
     61 HOST_MKDEP?=	${TOOLDIR}/bin/${_TOOL_PREFIX}host-mkdep
     62 HOST_MKDEPCXX?=	${TOOLDIR}/bin/${_TOOL_PREFIX}host-mkdep
     63 .else
     64 HOST_MKDEP?=	CC=${HOST_CC:Q} mkdep
     65 HOST_MKDEPCXX?=	CC=${HOST_CXX:Q} mkdep
     66 .endif
     67 
     68 .if ${HOST_OSTYPE:MLinux*}
     69 HOST_CPPFLAGS+=-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
     70 .endif
     71 
     72 .if ${NEED_OWN_INSTALL_TARGET} != "no"
     73 HOST_INSTALL_FILE?=	${INSTALL} ${COPY} ${PRESERVE} ${RENAME}
     74 HOST_INSTALL_DIR?=	${INSTALL} -d
     75 HOST_INSTALL_SYMLINK?=	${INSTALL} ${SYMLINK} ${RENAME}
     76 .endif
     77 
     78 .endif
     79