86 lines
2.0 KiB
Makefile
86 lines
2.0 KiB
Makefile
# $NetBSD: Makefile.host,v 1.36 2023/06/04 16:53:59 lukem 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>
|