xdev-install target dependency

Jia-Shiun Li jiashiun at gmail.com
Wed Oct 22 05:10:23 UTC 2014


xdev-install target fails with make -j. This is indented for faster
build/install on faster SSD/tmpfs & multicore machine.


jsli at jsli-bsde5:/tmp/src # time cpuset -l
0,2,4,6,8,10,12,14,16,18,20,22 make -sj24 XDEV=arm XDEV_ARCH=armv6
DESTDIR=/usr/obj/test123 xdev-install
`_xb-worldtmp' was not built (made 0, flags 2009, type b000001)!
`_xb-bootstrap-tools' was not built (made 0, flags 2009, type b000001)!
    `_xb-bootstrap-tools' has .ORDER dependency against _xb-worldtmp
(made 0, flags 2009, type b000001)
`_xb-build-tools' was not built (made 0, flags 2009, type b000001)!
    `_xb-build-tools' has .ORDER dependency against
_xb-bootstrap-tools (made 0, flags 2009, type b000001)
`_xb-cross-tools' was not built (made 0, flags 2009, type b000001)!
    `_xb-cross-tools' has .ORDER dependency against _xb-build-tools
(made 0, flags 2009, type b000001)
`_xi-mtree' was not built (made 0, flags 2009, type b000001)!
    `_xi-mtree' has .ORDER dependency against xdev-build (made 0,
flags 3009, type 3000001)
`_xi-cross-tools' was not built (made 0, flags 2009, type b000001)!
    `_xi-cross-tools' has .ORDER dependency against _xi-mtree (made 0,
flags 2009, type b000001)
`_xi-includes' was not built (made 0, flags 2009, type b000001)!
    `_xi-includes' has .ORDER dependency against _xi-cross-tools (made
0, flags 2009, type b000001)
`_xi-libraries' was not built (made 0, flags 2009, type b000001)!
    `_xi-libraries' has .ORDER dependency against _xi-includes (made
0, flags 2009, type b000001)
--- xdev-install ---
*** [xdev-install] Error code 1

make: stopped in /tmp/src
1 error

make: stopped in /tmp/src
0.030u 0.084s 0:00.10 110.0%    274+208k 0+0io 0pf+0w
jsli at jsli-bsde5:/tmp/src #



Checked bmake source. According to comment of BEINGMADE, looks like
bmake does not like duplicated/cycled dependency on the same target.
xdev-build is referred by both .ORDER rules above xdev and
xdev-install targers. Removing xdev-build from source list of
xdev-install solves it.

I think it is reasonable to separate dependencies of build and install
targets, isn't it?


jsli at jsli-bsde5:/tmp/src # svn diff
Index: Makefile.inc1
===================================================================
--- Makefile.inc1       (revision 273384)
+++ Makefile.inc1       (working copy)
@@ -2010,8 +2010,8 @@
            -p ${XDDESTDIR}/usr >/dev/null
 .endif

-.ORDER: xdev-build _xi-mtree _xi-cross-tools _xi-includes _xi-libraries
-xdev-install: xdev-build _xi-mtree _xi-cross-tools _xi-includes _xi-libraries
+.ORDER: _xi-mtree _xi-cross-tools _xi-includes _xi-libraries
+xdev-install: _xi-mtree _xi-cross-tools _xi-includes _xi-libraries

 _xi-cross-tools:
        @echo "_xi-cross-tools"
jsli at jsli-bsde5:/tmp/src #


-Jia-Shiun


More information about the freebsd-embedded mailing list