tech-toolchain archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

dependall ordering



Hi

I noticed that 'make dependall' and 'make all' end up processing
directories in a different order:

    make dependall:
        depend(.)
        depend(subdir)
        all(subdir)
        all(.)

    make all:
        all(.)
        all(subdir)

which can cause some inconsistencies when building (eg the 'all' target
under src/external/mit/xorg fails in server/xorg-server/hw/xfree86 because
subdirs were not built yet). The reason for this originates from the
dependall target in <bsd.own.mk>, but is this a problem that needs to be
fixed?

Index: bsd.own.mk
===================================================================
RCS file: /cvsroot/src/share/mk/bsd.own.mk,v
retrieving revision 1.652
diff -u -r1.652 bsd.own.mk
--- bsd.own.mk  7 Feb 2011 21:23:47 -0000       1.652
+++ bsd.own.mk  13 Mar 2011 13:13:20 -0000
@@ -640,8 +640,7 @@
 distclean:     cleandir
 cleandir:      clean

-dependall:     .NOTMAIN realdepend .MAKE
-       @cd "${.CURDIR}"; ${MAKE} realall
+dependall:     .NOTMAIN realdepend .WAIT realall .MAKE
 .endif

 #

This simplistic patch 'corrects' the dependall ordering though I haven't
tried it beyond a simple testcase and there would be source-tree failures
to fix up (ie I'm not proposing to commit that)

thoughts?
iain


Home | Main Index | Thread Index | Old Index