On Mon, Jan 31, 2005 at 01:16:12AM -0600, James Chacon wrote:
| On Sun, Jan 30, 2005 at 11:04:33PM +0000, Luke Mewburn wrote:
| >
| > Module Name: src
| > Committed By: lukem
| > Date: Sun Jan 30 23:04:33 UTC 2005
| >
| > Modified Files:
| > src/usr.bin/crunch/crunchgen: crunchgen.c
| >
| > Log Message:
| > Explicitly cd to the .OBJDIR in the ${PROG}.strip target.
| > This fixes the "make -j N dependall" build issues people were
| > seeing in src/rescue, that appears to have been introduced
| > in rev 1.62.
|
| Why is this needed? Even for -j isn't make always going to do a chdir(2)
| into $.OBJDIR before exec'ing the target commands?
I added some debug code in that target's { ... } shell block
and noticed that the pwd(1) was ${.CURDIR} not ${.OBJDIR}.
I didn't investigate why that was the case; I just fixed it
in the simplest solution at the time.
Note that if that shell block in ${PROG}.strip was using ${.TARGET}
(and filenames derived from that) instead of ${PROG}, I expect that
it would have worked, because make(1) does get that right.
I suspect that the entire ${PROG}.strip (et al) stuff could be
done in a better way using make's internal handling of timestamps...
Attachment:
pgp4ohxZM9ca0.pgp
Description: PGP signature