On 08/02/13 19:48, Mark Galeck wrote: > --- On Fri, 2/8/13, Michael Stahl <[email protected]> wrote: > >>> [mark@grid003 ~]$ cat Makefile >>> bar1: bar >>> touch $@ >>> >>> bar: foo >>> foo : baz >>> touch foo bar >>> [mark@grid003 ~]$ touch bar1 foo bar >>> [mark@grid003 ~]$ touch baz >>> [mark@grid003 ~]$ make bar1 >>> touch foo bar >>> touch bar1 >> >> but how often do users invoke a particular file target >> manually? >> >> [0] /tmp > make >> touch foo bar >> [0] /tmp > make >> touch bar1 >> >> is a result far more likely to happen in practice with your >> Makefile.
actually the above should do the same for both of us, since the default target is "bar1" there so it shouldn't make a difference if you invoke "make" or "make bar1" > Michael, I am sorry for being so dumb apparently, but I still don't see it. > Can you tell me the sequence of steps to reproduce the problem? apparently the problem is tricky and depends on the exact dependency structure and the invoked target: > [mark@grid003 ~]$ cat Makefile > all: foo bar bar1 > > bar1: bar > touch $@ > > bar: foo > foo : baz > touch foo bar with this ^ Makefile and make (3.82, Fedora18) and make-3.81 built from source: [0] /tmp > touch foo bar bar1 && touch baz [0] /tmp > make bar1 touch foo bar [0] /tmp > touch foo bar bar1 && touch baz [0] /tmp > make touch foo bar touch bar1 [0] /tmp > touch foo bar bar1 && touch baz [0] /tmp > ~/stuff/make-3.81/make touch foo bar touch bar1 [0] /tmp > touch foo bar bar1 && touch baz [0] /tmp > ~/stuff/make-3.81/make bar1 touch foo bar with "all" not depending on every target it's different: [0] /tmp > sed -i "s/foo bar bar1/bar1/" Makefile [0] /tmp > touch foo bar bar1 && touch baz [0] /tmp > ~/stuff/make-3.81/make touch foo bar [0] /tmp > touch foo bar bar1 && touch baz [0] /tmp > make touch foo bar regards, michael _______________________________________________ Help-make mailing list [email protected] https://lists.gnu.org/mailman/listinfo/help-make
