Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 24 Aug 2006 00:53:37 GMT
From:      Warner Losh <imp@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 104879 for review
Message-ID:  <200608240053.k7O0rbmA044383@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=104879

Change 104879 by imp@imp_bugs on 2006/08/24 00:53:32

	Try to make it possible to create a /usr/${MACHINE_ARCH} that
	contains the tools necessary for cross building.  This has a lot
	of rough edges and will likely undergo a lot of refinement
	between now and when it is committed.
	
	# Not sure I should do this in this tree, but there's no reason
	# not to, since there's no harm unless you use it.

Affected files ...

.. //depot/projects/arm/src/Makefile#2 edit
.. //depot/projects/arm/src/Makefile.inc1#3 edit

Differences ...

==== //depot/projects/arm/src/Makefile#2 (text+ko) ====

@@ -79,7 +79,7 @@
 	obj objlink regress rerelease showconfig tags toolchain update \
 	_worldtmp _legacy _bootstrap-tools _cleanobj _obj \
 	_build-tools _cross-tools _includes _libraries _depend \
-	build32 distribute32 install32
+	build32 distribute32 install32 cross-devel cross-devel-install
 TGTS+=	${SUBDIR_TARGETS}
 
 BITGTS=	files includes
@@ -156,7 +156,7 @@
 #
 
 ${TGTS}:
-	${_+_}@cd ${.CURDIR}; \
+	${_+_}cd ${.CURDIR}; \
 		${_MAKE} ${.TARGET}
 
 # Set a reasonable default

==== //depot/projects/arm/src/Makefile.inc1#3 (text+ko) ====

@@ -1038,6 +1038,7 @@
 .if exists(${.CURDIR}/${_lib})
 	${_+_}@${ECHODIR} "===> ${_lib} (depend,all,install)"; \
 		cd ${.CURDIR}/${_lib}; \
+		${MAKE} DIRPRFX=${_lib}/ obj; \
 		${MAKE} DIRPRFX=${_lib}/ depend; \
 		${MAKE} DIRPRFX=${_lib}/ all; \
 		${MAKE} DIRPRFX=${_lib}/ install
@@ -1050,6 +1051,7 @@
 lib/libpam__L: .PHONY
 	${_+_}@${ECHODIR} "===> lib/libpam (depend,all,install)"; \
 		cd ${.CURDIR}/lib/libpam; \
+		${MAKE} DIRPRFX=lib/libpam/ obj; \
 		${MAKE} DIRPRFX=lib/libpam/ depend; \
 		${MAKE} DIRPRFX=lib/libpam/ -D_NO_LIBPAM_SO_YET all; \
 		${MAKE} DIRPRFX=lib/libpam/ -D_NO_LIBPAM_SO_YET install
@@ -1202,3 +1204,49 @@
 #
 showconfig:
 	@${MAKE} -n -f bsd.own.mk -V dummy -dg1 | grep ^MK_ | sort
+
+
+###############
+
+NOFUN=-DNO_FSCHG -DWITHOUT_HTML -DWITHOUT_INFO -DNO_LINT \
+	    -DWITHOUT_MAN -DWITHOUT_NLS -DWITHOUT_PROFILE 
+
+CDENV=MAKEOBJDIRPREFIX=${MAKEOBJDIRPREFIX}/${XDEV_ARCH} \
+	TOOLS_PREFIX=/usr/${XDEV_ARCH} TARGET_ARCH=${XDEV_ARCH} \
+	MACHINE_ARCH=${XDEV_ARCH}
+
+CDMAKE=${CDENV} ${MAKE} ${NOFUN}
+CD2MAKE=${CDENV} PATH=/usr/${XDEV_ARCH}/usr/bin:${PATH} ${MAKE} ${NOFUN}
+
+
+cross-devel:
+.for _tool in \
+    gnu/usr.bin/binutils \
+    gnu/usr.bin/cc
+	${_+_}@${ECHODIR} "===> xdev.${XDEV_ARCH} ${_tool} (obj,depend,all)"; \
+	cd ${.CURDIR}/${_tool}; \
+	${CDMAKE} DIRPRFX=${_tool}/ obj; \
+	${CDMAKE} DIRPRFX=${_tool}/ depend; \
+	${CDMAKE} DIRPRFX=${_tool}/ all
+.endfor
+
+_cdi-mtree:
+	${_+_}@${ECHODIR} "mtree populating /usr/${XDEV_ARCH}"
+	mkdir -p /usr/${XDEV_ARCH}
+	mtree -deU -f ${.CURDIR}/etc/mtree/BSD.root.dist \
+	    -p /usr/${XDEV_ARCH} >/dev/null
+	mtree -deU -f ${.CURDIR}/etc/mtree/BSD.usr.dist \
+	    -p /usr/${XDEV_ARCH}/usr >/dev/null
+	mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \
+	    -p /usr/${XDEV_ARCH}/usr/include >/dev/null
+	
+cross-devel-install: _cdi-mtree
+.for _tool in \
+    gnu/usr.bin/binutils \
+    gnu/usr.bin/cc
+	${_+_}@${ECHODIR} "===> xdev.${XDEV_ARCH} ${_tool} (install)"; \
+	cd ${.CURDIR}/${_tool}; \
+	${CDMAKE} DIRPRFX=${_tool}/ install DESTDIR=${DESTDIR}/usr/${XDEV_ARCH}
+.endfor
+	${_+_}cd ${.CURDIR}; ${CD2MAKE} -f Makefile.inc1 par-includes DESTDIR=${DESTDIR}/usr/${XDEV_ARCH}
+	${_+_}cd ${.CURDIR}; ${CD2MAKE} -f Makefile.inc1 libraries DESTDIR=${DESTDIR}/usr/${XDEV_ARCH}



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200608240053.k7O0rbmA044383>