#       $NetBSD: Makefile.host,v 1.38 2024/08/18 00:04:17 christos Exp $

NOINFO=         # defined
NOLINT=         # defined
NOMAN=          # defined
MKREPRO=no      # Native toolchain might be unable to do it

include <bsd.own.mk>

ifndef NOCOMPATLIB
# Use TOOLDIR copy of libnbcompat and associated *.h files
-include        "${TOOLDIR}/share/compat/defs.mk"
elif !empty(.MAKE.OS:M*CYGWIN*)
HOSTEXEEXT=.exe
endif

# Resolve pathnames in variables.
_RESOLVE_VARS=  CFLAGS CPPFLAGS DPADD HOST_CPPFLAGS LDADD
for var in ${_RESOLVE_VARS}
${var}:=        ${${var}}
endfor

# Switch over to the "real" Makefile.
PROGDIR:=       ${.CURDIR}/../../${HOST_SRCDIR}
_CURDIR:=       ${.CURDIR}
HOSTPROG?=      ${PROG}

CURDIR:=        ${.PROGDIR}
PATH:           ${.CURDIR}
include "${.CURDIR}/Makefile"
-include "${.CURDIR}/../Makefile.inc"

# Resolve pathnames from "real" Makefile, and switch .CURDIR back.
for var in ${_RESOLVE_VARS}
${var}:=        ${${var}}
endfor
CURDIR:=        ${_CURDIR}
undef           _CURDIR

# Set up the environment for <bsd.hostprog.mk>.
if ${USETOOLS} != "yes"
undef HOSTPROG
endif

HOSTPROGNAME?=  ${HOSTPROG}
HOST_BINDIR?=   ${TOOLDIR}/bin
HOST_CPPFLAGS:= ${HOST_CPPFLAGS} ${CPPFLAGS}
HOST_CPPFLAGS:= ${HOST_CPPFLAGS:N-Wp,-iremap,*:N--sysroot=*}
HOST_INSTALLPROG?=${HOST_BINDIR}/${HOSTPROGNAME}${HOSTEXEEXT}
undef LINKS

SRCS?=          ${HOSTPROG}.c
SRCS+=          ${HOST_SRCS}

PATH:           ${.PROGDIR}

# Install rule.
realinstall: install.host install.files
install.host: ${HOST_INSTALLPROG}
${HOST_INSTALLPROG}:: ${HOSTPROG}
       ${_MKTARGET_INSTALL}
       mkdir -p ${HOST_BINDIR}
       ${HOST_INSTALL_FILE} -m ${BINMODE} ${HOSTPROG}${HOSTEXEEXT} ${.TARGET}
if !empty(.MAKE.OS:M*CYGWIN*)
       ${HOST_SH} ${NETBSDSRCDIR}/tools/binstall/mkmanifest ${.TARGET}
endif

if ${MKUPDATE} == "no"
PHONY:          ${HOST_INSTALLPROG}
endif

install.files:
for F in ${HOSTFILES}
install.files: ${HOST_FILESDIR}/${F}
${HOST_FILESDIR}/${F}: ${F}
       ${_MKTARGET_INSTALL}
       mkdir -p ${HOST_FILESDIR}
       ${HOST_INSTALL_FILE} -m ${NONBINMODE} ${.ALLSRC} ${.TARGET}

if ${MKUPDATE} == "no"
PHONY:          ${HOST_FILESDIR}/${F}
endif
endfor

include <bsd.hostprog.mk>