Import NetBSD tools and build.sh

This commit finalizes support for cross compilation. The tools
directory are all links to the actual tools and are built on the
host system to build Minix. build.sh is the work horse that takes
care of all environment settings. It's slightly adjusted for Minix.
The /usr/src/Makefile has additional targets needed for cross
compilation.
This commit is contained in:
Thomas Veerman
2012-06-06 14:46:00 +00:00
parent 2ed11343a6
commit c8a0e2f4c6
140 changed files with 26869 additions and 0 deletions

78
tools/Makefile.host Normal file
View File

@@ -0,0 +1,78 @@
# $NetBSD: Makefile.host,v 1.28 2011/04/10 16:52:36 joerg Exp $
NOINFO= # defined
NOLINT= # defined
NOMAN= # defined
.include <bsd.own.mk>
.ifndef NOCOMPATLIB
COMPATOBJ!= cd ${.CURDIR}/../compat && ${PRINTOBJDIR}
.-include "${COMPATOBJ}/defs.mk"
.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=*}
.undef LINKS
SRCS?= ${HOSTPROG}.c
SRCS+= ${HOST_SRCS}
.PATH: ${.PROGDIR}
# Install rule.
realinstall: install.host install.files
install.host: ${HOST_BINDIR}/${HOSTPROGNAME}
${HOST_BINDIR}/${HOSTPROGNAME}:: ${HOSTPROG}
${_MKTARGET_INSTALL}
mkdir -p ${HOST_BINDIR}
${HOST_INSTALL_FILE} -m ${BINMODE} ${HOSTPROG}${HOSTEXEEXT} ${.TARGET}
.if ${MKUPDATE} == "no"
.PHONY: ${HOST_BINDIR}/${HOSTPROGNAME}
.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>