1#	$NetBSD: Makefile.host,v 1.36 2023/06/04 16:53:59 lukem Exp $
2
3NOINFO=         # defined
4NOLINT=         # defined
5NOMAN=          # defined
6MKREPRO=no	# Native toolchain might be unable to do it
7
8.include <bsd.own.mk>
9
10.ifndef NOCOMPATLIB
11# Use TOOLDIR copy of libnbcompat and associated *.h files
12.-include	"${TOOLDIR}/share/compat/defs.mk"
13.elif !empty(.MAKE.OS:M*CYGWIN*)
14HOSTEXEEXT=.exe
15.endif
16
17# Resolve pathnames in variables.
18_RESOLVE_VARS=	CFLAGS CPPFLAGS DPADD HOST_CPPFLAGS LDADD
19.for var in ${_RESOLVE_VARS}
20${var}:=	${${var}}
21.endfor
22
23# Switch over to the "real" Makefile.
24.PROGDIR:=	${.CURDIR}/../../${HOST_SRCDIR}
25_CURDIR:=	${.CURDIR}
26HOSTPROG?=	${PROG}
27
28.CURDIR:=	${.PROGDIR}
29.PATH:		${.CURDIR}
30.include "${.CURDIR}/Makefile"
31.-include "${.CURDIR}/../Makefile.inc"
32
33# Resolve pathnames from "real" Makefile, and switch .CURDIR back.
34.for var in ${_RESOLVE_VARS}
35${var}:=	${${var}}
36.endfor
37.CURDIR:=	${_CURDIR}
38.undef		_CURDIR
39
40# Set up the environment for <bsd.hostprog.mk>.
41.if ${USETOOLS} != "yes"
42.undef HOSTPROG
43.endif
44
45HOSTPROGNAME?=	${HOSTPROG}
46HOST_BINDIR?=	${TOOLDIR}/bin
47HOST_CPPFLAGS:=	${HOST_CPPFLAGS} ${CPPFLAGS}
48HOST_CPPFLAGS:=	${HOST_CPPFLAGS:N-Wp,-iremap,*:N--sysroot=*}
49HOST_INSTALLPROG?=${HOST_BINDIR}/${HOSTPROGNAME}${HOSTEXEEXT}
50.undef LINKS
51
52SRCS?=		${HOSTPROG}.c
53SRCS+=		${HOST_SRCS}
54
55.PATH:		${.PROGDIR}
56
57# Install rule.
58realinstall: install.host install.files
59install.host: ${HOST_INSTALLPROG}
60${HOST_INSTALLPROG}:: ${HOSTPROG}
61	${_MKTARGET_INSTALL}
62	mkdir -p ${HOST_BINDIR}
63	${HOST_INSTALL_FILE} -m ${BINMODE} ${HOSTPROG}${HOSTEXEEXT} ${.TARGET}
64.if !empty(.MAKE.OS:M*CYGWIN*)
65	${HOST_SH} ${NETBSDSRCDIR}/tools/binstall/mkmanifest ${.TARGET}
66.endif
67
68.if ${MKUPDATE} == "no"
69.PHONY:		${HOST_INSTALLPROG}
70.endif
71
72install.files:
73.for F in ${HOSTFILES}
74install.files: ${HOST_FILESDIR}/${F}
75${HOST_FILESDIR}/${F}: ${F}
76	${_MKTARGET_INSTALL}
77	mkdir -p ${HOST_FILESDIR}
78	${HOST_INSTALL_FILE} -m ${NONBINMODE} ${.ALLSRC} ${.TARGET}
79
80.if ${MKUPDATE} == "no"
81.PHONY:		${HOST_FILESDIR}/${F}
82.endif
83.endfor
84
85.include <bsd.hostprog.mk>
86