[bug #62706] Restrict second expansion to targets which are being built.

2022-07-30 Thread Paul D. Smith
Update of bug #62706 (project make): Status:None => Fixed Open/Closed:Open => Closed Fixed Release:None => SCM _

[bug #62706] Restrict second expansion to targets which are being built.

2022-07-23 Thread Dmitry Goncharov
Follow-up Comment #5, bug #62706 (project make): sv62706_fix2.diff takes care of secondary expanding a prerequisite marked as intermediate by .SECONDARY or .INTERMEDIATE when an explicit or static pattern rule builds the prerequisite. sv62706_test2.diff adds related tests. __

[bug #62706] Restrict second expansion to targets which are being built.

2022-07-23 Thread Dmitry Goncharov
Additional Item Attachment, bug #62706 (project make): File name: sv62706_fix2.diff Size:5 KB File name: sv62706_test2.diff Size:15 KB

[bug #62706] Restrict second expansion to targets which are being built.

2022-07-09 Thread Paul D. Smith
Follow-up Comment #4, bug #62706 (project make): Since secondary expansion is not defined in POSIX it doesn't really matter what POSIX says about this, IMO: we could easily define it either way. However, I think this change is correct and the way I would expect things to work, so it's a good one.

[bug #62706] Restrict second expansion to targets which are being built.

2022-07-09 Thread Dmitry Goncharov
Follow-up Comment #3, bug #62706 (project make): Another thought on point 2 above. Posix contains the following requirement. "The make utility shall treat all prerequisites as targets themselves and recursively ensure that they are up-to-date, processing them in the order in which they appear in

[bug #62706] Restrict second expansion to targets which are being built.

2022-07-05 Thread Dmitry Goncharov
Follow-up Comment #2, bug #62706 (project make): This is a more detailed description of point 2 above (2. Causes all prerequisites to be second expanded in the same order they are being built.) $ cat makefile .SECONDEXPANSION: all: hello.tsk bye.tsk hello.tsk: $$(info 2nd expansion of prereq

Re: [bug #62706] Restrict second expansion to targets which are being built.

2022-07-05 Thread Dmitry Goncharov
On Tue, Jul 5, 2022 at 12:34 PM Edward Welbourne wrote: > was thinking of the fact that, if you'd started with > > all: $$(info 2nd expansion for all) hello.tsk bye.tsk; echo built both > > then its info would appear first, although its rule would be run last. That's correct. $$(info 2nd expansio

Re: [bug #62706] Restrict second expansion to targets which are being built.

2022-07-05 Thread Edward Welbourne
On Tue, Jul 5, 2022 at 5:19 AM Edward Welbourne wrote: >> I would have expected the order to be the exact reverse of the >> order of building: Dmitry Goncharov (5 July 2022 14:29) replied: > i guess, an example will make it more clear. > > $ cat makefile > .SECONDEXPANSION: > all: hello.tsk bye.

Re: [bug #62706] Restrict second expansion to targets which are being built.

2022-07-05 Thread Dmitry Goncharov
On Tue, Jul 5, 2022 at 5:19 AM Edward Welbourne wrote: > I would have expected the order to be the exact reverse of the > order of building: i guess, an example will make it more clear. $ cat makefile .SECONDEXPANSION: all: hello.tsk bye.tsk hello.tsk: $$(info 2nd expansion of prereqs of $$@);

Re: [bug #62706] Restrict second expansion to targets which are being built.

2022-07-05 Thread Edward Welbourne
Dmitry Goncharov (5 July 2022 01:42) wrote (inter alia): > 2. Causes all prerequisites to be second expanded in the same order > they are being built. Really ? I would have expected the order to be the exact reverse of the order of building: src = main.c hdr = lib.h prog: $$(src); $(CC) -o $@ $<

[bug #62706] Restrict second expansion to targets which are being built.

2022-07-04 Thread Dmitry Goncharov
Follow-up Comment #1, bug #62706 (project make): Second expand only the prerequisites of the targets being built. Avoid second expanding the prerequisites of targets which are not being built. There are multiple benefits. 1. Avoids redundant work of second expanding prerequisites of the targets

[bug #62706] Restrict second expansion to targets which are being built.

2022-07-04 Thread Dmitry Goncharov
Additional Item Attachment, bug #62706 (project make): File name: sv62706_doc.diff Size:4 KB File name: sv62706_test.diff Size:14 KB

[bug #62706] Restrict second expansion to targets which are being built.

2022-07-04 Thread Dmitry Goncharov
URL: Summary: Restrict second expansion to targets which are being built. Project: make Submitter: dgoncharov Submitted: Mon 04 Jul 2022 11:19:17 PM UTC Severity: 3 - Normal