From: "Noel Yap" <[EMAIL PROTECTED]> > IIRC, make will spawn a shell for the sed command due to to '>' in the > command line. I believe make will then fork/exec for the mv command. > Since make is already shelling out for the sed command, I see no reason > not to use that shell to do the conditional mv as well. > > If you're worried about legibility, you could write the rule as: > > foo: > sed ... > /tmp/x && \ > mv /tmp/x y
Good thinking, I hadn't considered performance. But I'm not sure I agree. The two command version will fork/exec three times 1) make forks bash; 2) bash forks sed; 3) make forks mv. The && version also forks three times 1) make forks bash; 2) bash forks sed; 3) bash forks sed. I'm not sure I see a performance argument. I do see a clarity argument (not only legibility). Make's job is to ensure a command has finished with success before starting the next command. Why use a (slightly) arcane syntax of the shell when the "obvious" command is intended to work? I'm still mulling this over. More thoughts? Robert _______________________________________________ Help-make mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/help-make
