xref: /netbsd-src/share/mk/bsd.host.mk (revision 7e30e94394d0994ab9534f68a8f91665045c91ce)
1#	$NetBSD: bsd.host.mk,v 1.3 2016/02/20 15:18:46 christos 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# Helpers for cross-compiling
13HOST_CC?=	cc
14HOST_CFLAGS?=	${HOST_DBG}
15HOST_COMPILE.c?=${HOST_CC} ${HOST_CFLAGS} ${HOST_CPPFLAGS} -c
16HOST_COMPILE.cc?=      ${HOST_CXX} ${HOST_CXXFLAGS} ${HOST_CPPFLAGS} -c
17HOST_LINK.cc?=  ${HOST_CXX} ${HOST_CXXFLAGS} ${HOST_CPPFLAGS} ${HOST_LDFLAGS}
18.if defined(HOSTPROG_CXX)
19HOST_LINK.c?=   ${HOST_LINK.cc}
20.else
21HOST_LINK.c?=	${HOST_CC} ${HOST_CFLAGS} ${HOST_CPPFLAGS} ${HOST_LDFLAGS}
22.endif
23
24HOST_CXX?=	c++
25HOST_CXXFLAGS?=	${HOST_DBG}
26
27HOST_CPP?=	cpp
28HOST_CPPFLAGS?=
29
30HOST_LD?=	ld
31HOST_LDFLAGS?=
32
33HOST_AR?=	ar
34HOST_RANLIB?=	ranlib
35
36HOST_LN?=	ln
37
38# HOST_SH must be an absolute path
39HOST_SH?=	/bin/sh
40
41.if !defined(HOST_OSTYPE)
42_HOST_OSNAME!=	uname -s
43_HOST_OSREL!=	uname -r
44# For _HOST_ARCH, if uname -p fails, or prints "unknown", or prints
45# something that does not look like an identifier, then use uname -m.
46_HOST_ARCH!=	uname -p 2>/dev/null
47_HOST_ARCH:=	${HOST_ARCH:tW:C/.*[^-_A-Za-z0-9].*//:S/unknown//}
48.if empty(_HOST_ARCH)
49_HOST_ARCH!=	uname -m
50.endif
51HOST_OSTYPE:=	${_HOST_OSNAME}-${_HOST_OSREL:C/\([^\)]*\)//g:[*]:C/ /_/g}-${_HOST_ARCH:C/\([^\)]*\)//g:[*]:C/ /_/g}
52.MAKEOVERRIDES+= HOST_OSTYPE
53.endif # !defined(HOST_OSTYPE)
54
55.if ${USETOOLS} == "yes"
56HOST_MKDEP?=	${TOOLDIR}/bin/${_TOOL_PREFIX}host-mkdep
57HOST_MKDEPCXX?=	${TOOLDIR}/bin/${_TOOL_PREFIX}host-mkdep
58.else
59HOST_MKDEP?=	CC=${HOST_CC:Q} mkdep
60HOST_MKDEPCXX?=	CC=${HOST_CXX:Q} mkdep
61.endif
62
63.if ${NEED_OWN_INSTALL_TARGET} != "no"
64HOST_INSTALL_FILE?=	${INSTALL} ${COPY} ${PRESERVE} ${RENAME}
65HOST_INSTALL_DIR?=	${INSTALL} -d
66HOST_INSTALL_SYMLINK?=	${INSTALL} ${SYMLINK} ${RENAME}
67.endif
68
69.endif
70