Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 9 Sep 2016 17:37:27 -0700
From:      "Simon J. Gerraty" <sjg@juniper.net>
To:        Bryan Drewery <bdrewery@freebsd.org>
Cc:        <src-committers@freebsd.org>, <svn-src-all@freebsd.org>, <svn-src-head@freebsd.org>, <sjg@juniper.net>
Subject:   Re: svn commit: r305634 - head/share/mk
Message-ID:  <76524.1473467847@kaos.jnpr.net>
In-Reply-To: <bf4c21cd-cbf3-55b9-d0f0-c0cbd01e5428@FreeBSD.org>
References:  <201609090121.u891LZOO023156@repo.freebsd.org> <bf4c21cd-cbf3-55b9-d0f0-c0cbd01e5428@FreeBSD.org>

index | next in thread | previous in thread | raw e-mail

Bryan Drewery <bdrewery@freebsd.org> wrote:

> > +# some targets involve old pre-built targets
> > +# ignore mtime of shell
> > +# and mtime of makefiles does not matter in meta mode
> > +.MAKE.META.IGNORE_PATHS += \
> > +        ${MAKEFILE} \
> > +        ${SHELL} \
> > +        ${SYS_MK_DIR}
> 
> I think it could be problematic to ignore *.mk changes.  The build

If you're not concerned with build optimization,
this can be disabled - but pretty much any sub-make for which there is a
.meta file will be out-of-date by any changed to *.mk

> commands may stay the same, but targets could grow new dependencies.  If
> those dependencies are already "met" then meta mode won't reconsider them.

I'm not sure how easy it is to accomplish that situation.
 
> Consider:
> Build 1:
> bar:
> 	touch dep
> 	touch bar
> 
> foo:
> 	touch foo
> 
> all: bar foo
> 
> In the first build, all generates dep, bar and foo.
> 
> Then the code is changed to:
> 
> bar:
> 	touch bar
> 
> dep:
> 	touch notmade
> 	touch dep
> 
> foo: dep
> 	touch foo
> 
> all: foo bar
> 
> Now in the second build, all finds bar command changes and rebuilds,
> finds foo command is the same and that dep is already satisfied from the
> last build.  So 'notmade' is never made.

Actually given you have missing-meta=yes
target dep would be remade, either because there is no .meta file, or
because its commands changed. 
Thus notmade should be.


home | help

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