Makefile.host revision 1.37
1# $NetBSD: Makefile.host,v 1.37 2024/08/17 22:23:46 christos 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. 58.if !target(realinstall) 59realinstall: install.host install.files 60install.host: ${HOST_INSTALLPROG} 61${HOST_INSTALLPROG}:: ${HOSTPROG} 62 ${_MKTARGET_INSTALL} 63 mkdir -p ${HOST_BINDIR} 64 ${HOST_INSTALL_FILE} -m ${BINMODE} ${HOSTPROG}${HOSTEXEEXT} ${.TARGET} 65.if !empty(.MAKE.OS:M*CYGWIN*) 66 ${HOST_SH} ${NETBSDSRCDIR}/tools/binstall/mkmanifest ${.TARGET} 67.endif 68 69.if ${MKUPDATE} == "no" 70.PHONY: ${HOST_INSTALLPROG} 71.endif 72 73install.files: 74.for F in ${HOSTFILES} 75install.files: ${HOST_FILESDIR}/${F} 76${HOST_FILESDIR}/${F}: ${F} 77 ${_MKTARGET_INSTALL} 78 mkdir -p ${HOST_FILESDIR} 79 ${HOST_INSTALL_FILE} -m ${NONBINMODE} ${.ALLSRC} ${.TARGET} 80 81.if ${MKUPDATE} == "no" 82.PHONY: ${HOST_FILESDIR}/${F} 83.endif 84.endfor 85.endif 86 87.include <bsd.hostprog.mk> 88