bsd.host.mk revision 1.1.2.1 1 # $NetBSD: bsd.host.mk,v 1.1.2.1 2014/08/10 06:53:30 tls Exp $
2
3 .if !defined(_BSD_HOST_MK_)
4 _BSD_HOST_MK_=1
5
6 # Helpers for cross-compiling
7 HOST_CC?= cc
8 HOST_CFLAGS?= -O
9 HOST_COMPILE.c?=${HOST_CC} ${HOST_CFLAGS} ${HOST_CPPFLAGS} -c
10 HOST_COMPILE.cc?= ${HOST_CXX} ${HOST_CXXFLAGS} ${HOST_CPPFLAGS} -c
11 HOST_LINK.cc?= ${HOST_CXX} ${HOST_CXXFLAGS} ${HOST_CPPFLAGS} ${HOST_LDFLAGS}
12 .if defined(HOSTPROG_CXX)
13 HOST_LINK.c?= ${HOST_LINK.cc}
14 .else
15 HOST_LINK.c?= ${HOST_CC} ${HOST_CFLAGS} ${HOST_CPPFLAGS} ${HOST_LDFLAGS}
16 .endif
17
18 HOST_CXX?= c++
19 HOST_CXXFLAGS?= -O
20
21 HOST_CPP?= cpp
22 HOST_CPPFLAGS?=
23
24 HOST_LD?= ld
25 HOST_LDFLAGS?=
26
27 HOST_AR?= ar
28 HOST_RANLIB?= ranlib
29
30 HOST_LN?= ln
31
32 # HOST_SH must be an absolute path
33 HOST_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
45 HOST_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"
50 HOST_MKDEP?= ${TOOLDIR}/bin/${_TOOL_PREFIX}host-mkdep
51 HOST_MKDEPCXX?= ${TOOLDIR}/bin/${_TOOL_PREFIX}host-mkdep
52 .else
53 HOST_MKDEP?= CC=${HOST_CC:Q} mkdep
54 HOST_MKDEPCXX?= CC=${HOST_CXX:Q} mkdep
55 .endif
56
57 .if ${NEED_OWN_INSTALL_TARGET} != "no"
58 HOST_INSTALL_FILE?= ${INSTALL} ${COPY} ${PRESERVE} ${RENAME}
59 HOST_INSTALL_DIR?= ${INSTALL} -d
60 HOST_INSTALL_SYMLINK?= ${INSTALL} ${SYMLINK} ${RENAME}
61 .endif
62
63 .endif
64