Makefile depencies broken?

Derrell Lipman derrell.lipman at unwireduniverse.com
Sat Oct 3 10:50:19 MDT 2009


On Sat, Oct 3, 2009 at 12:43, Volker Lendecke <Volker.Lendecke at sernet.de>wrote:

> On Sat, Oct 03, 2009 at 11:48:37AM -0400, Derrell Lipman wrote:
> > I think the target .PHONY is often used to avoid this problem, although I
> > don't know if that's unique to GNU make or if it's commonly available. To
> > use it,
> > you'd add a new target like this, putting any phony targets in the list:
> >
> > .PHONY: libtalloc
> >
> > Then you don't need to create a libtalloc file to avoid the repeated
> > linking.
>
> But from the make manual I read:
>
> > A phony target should not be a prerequisite of a real target
> > file; if it is, its commands are run every time make goes to
> > update that file. As long as a phony target is never a
> > prerequisite of a real target, the phony target commands
> > will be executed only when the phony target is a specified
> > goal
>
> Doesn't this mean that such a target can't be used in a
> dependency?
>

I don't know enough about it to answer.  If that's a real target, then isn't
_something_ being built? If something is, e.g. libtalloc.a, then the target
can be changed to the actual file that gets built, e.g. libtalloc.a, instead
of the phony target libtalloc.

I think this will have to wait for the makefile gurus to answer.

Derrell


More information about the samba-technical mailing list