xref: /netbsd-src/share/mk/bsd.host.mk (revision bdc22b2e01993381dcefeff2bc9b56ca75a4235c)
1#	$NetBSD: bsd.host.mk,v 1.4 2018/02/25 18:53:23 chs Exp $
2
3.if !defined(_BSD_HOST_MK_)
4_BSD_HOST_MK_=1
5
6.if ${MKTOOLSDEBUG: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 ${NEED_OWN_INSTALL_TARGET} != "no"
69HOST_INSTALL_FILE?=	${INSTALL} ${COPY} ${PRESERVE} ${RENAME}
70HOST_INSTALL_DIR?=	${INSTALL} -d
71HOST_INSTALL_SYMLINK?=	${INSTALL} ${SYMLINK} ${RENAME}
72.endif
73
74.endif
75