Jonathan Baccash <[EMAIL PROTECTED]> writes:

> Some commands create more than one result, and make (3.81beta3)
> behaves funny when I try to account for this.  For example:
>
> #-------------
> a: b
>       touch a
>
> b: c
>
> c: d
>       touch c
>       touch b
> #-------------

There is nothing funny about this. The only way make can know what
you are updating in your command script is if you explicitly told
it so, e.g.:

c b: d
        touch $@

If you really need to update several targets at once (i.e., they cannot
be rewritten as separate rules) then you will need to use implicit rules
for this.


> Now, if file d exists, this works fine the first time.  But then I
> touch d and get weird results:
>
> $ touch d
> $ make
> touch c
> touch b
> $ make
> touch a
> $ make
> make: `a' is up to date.

As I said, there is nothing weird about this: you hid information from
make and as a result got an incomplete build.


hth,
-boris



_______________________________________________
Help-make mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-make

Reply via email to