Re: new feature idea: ingesting processed rulesets

2023-05-27 Thread Dmitry Goncharov
On Tue, May 23, 2023 at 9:07 AM Zoltán Turányi
 wrote:

> If we invoke make on the top makefile, it will compile the two lib{1,2}.o 
> object files serially.

That's because your rule is
subs:
cd sub1
make
  cd ../sub2
  make

Do something like

subs: sub1 sub2
sub1:; $(MAKE) -C sub1
sub2:; $(MAKE) -C sub2

regards, Dmitry



[bug #64185] *** only one 'else' per conditional. Stop. due to else in recipe

2023-05-27 Thread Dmitry Goncharov
Follow-up Comment #11, bug #64185 (project make):


> If someone has a thought of something this might break (other than people
indenting their conditionals with the recipe prefix) please let me know 

See https://savannah.gnu.org/bugs/index.php?64259


___

Reply to this item at:

  

___
Message sent via Savannah
https://savannah.gnu.org/




[bug #64259] Regression in master: make ignores statements it should not ignore.

2023-05-27 Thread Dmitry Goncharov
Follow-up Comment #1, bug #64259 (project make):

Commit 07fcee35f058a876447c8a021f9eb1943f902534 introduced a regression.

The text in NEWS clarifies that the idea was to never consider a line starting
with the recipe prefix as a conditional, to ensure make does not confuse
recipe lines with conditionals as described in sv 64185.

However, there are cases where the fix 
1. Still considers lines starting with the recipe prefix as conditionals.
2. Ignores lines which it should not ignore.

In this makefile both 'ifdef blah' and 'else' are intended with tabs.


$ ls
makefile
$ cat makefile 
ifdef blah
$(info true)
else
$(info false)
endif
all:
$ make-4.4
false
make-4.4: Nothing to be done for 'all'.
$ # this is the latest make from master
$ ~/src/gmake/make/m64/make 
make: Nothing to be done for 'all'.


We can see the latest make
1. honored 'ifdef blah', even though it is intended with a tab.
2. failed to run '$(info false)'.

The patch in the attachment causes make to fail with a syntax error here.
The patch keeps NEWS intact.


___

Reply to this item at:

  

___
Message sent via Savannah
https://savannah.gnu.org/




[bug #64259] Regression in master: make ignores statements it should not ignore.

2023-05-27 Thread Dmitry Goncharov
Additional Item Attachment, bug #64259 (project make):

File name: sv64259_fix.diff   Size:2 KB


File name: sv64259_test.diff  Size:1 KB




___

Reply to this item at:

  

___
Message sent via Savannah
https://savannah.gnu.org/




[bug #64259] Regression in master: make ignores statements it should not ignore.

2023-05-27 Thread Dmitry Goncharov
URL:
  

 Summary: Regression in master: make ignores statements it
should not ignore.
   Group: make
   Submitter: dgoncharov
   Submitted: Sat 27 May 2023 03:33:14 PM UTC
Severity: 3 - Normal
  Item Group: Bug
  Status: None
 Privacy: Public
 Assigned to: None
 Open/Closed: Open
 Discussion Lock: Any
   Component Version: SCM
Operating System: None
   Fixed Release: None
   Triage Status: None


___

Follow-up Comments:


---
Date: Sat 27 May 2023 03:33:14 PM UTC By: Dmitry Goncharov 
.







___

Reply to this item at:

  

___
Message sent via Savannah
https://savannah.gnu.org/