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