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