Hi,

On 11/11/14 05:44, Nicholas Clark wrote:
foo1.out report.txt foo2.out foo3.out non_pattern.bit: TASK1_OUTPUTS
fob1.out static_file.bmm fob2.out fob3.out project_file.ngc: TASK2_OUTPUTS

TASK1_OUTPUTS: source1_a.src source1_b.src
     $(EXTERNAL_UTIL_1) source1_a.src source1_b.src

TASK2_OUTPUTS: source2_a.src source2_b.src
     $(EXTERNAL_UTIL_2) source2_a.src source2_b.src

.GROUPTARGET: TASK1_OUTPUTS TASK2_OUTPUTS


Is it not sufficient to create an empty target?:

task1.done: source1_a.src source1_b.src
    $(EXTERNAL_UTIL_1) source1_a.src source1_b.src
    touch $@

task2.done: source2_a.src source2_b.src
    $(EXTERNAL_UTIL_2) source2_a.src source2_b.src
    touch $@

If you need any of the files created by task 2, you just name task2.done as the prerequisite. Or have I misunderstood?...

In the example above, any dependencies of .GROUPTARGET would be a
target-group. Each target group could be treated sort of like a conditional
PHONY that would run if any of the group's members were out-of-date.

Are you saying that $(EXTERNAL_UTIL_1) won't necessarily update all of TASK1_OUTPUTS (otherwise, they would all be out-of-date together)?

Cheers,

Steven

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

Reply via email to