Re: notes about make docs p 3.5

2020-12-08 Thread Dmitry
On Mon, Dec 7, 2020 at 12:46 AM Paul Smith  wrote:

> Maybe if you described the thing you were trying to accomplish or
> understand, and what about the documentation made this difficult, we
> could come up with a practical example or improve the documentation.

Yes, I totally agree with you about : "show useful things that people might
want to do in the make manual examples". And must confess that my example
more theoretical than practical.
My goal in reading this documentation was to get a deep comprehension in make
because I want to understand big and complex build system for openwrt
distribution.
And this chapter was full of confusion for me.
I think that information in this chapter is advanced and it's
difficult to understand it
after reading only several pages. I just wanted to figure out how make
reread  it's
current makefile and how variable MAKE_RESTARTS behaves (moreover in some
lines below it said that makefile can be created from nowhere ).
So maybe my example is not very practical, but it helps to understand
how make works.
What about timestamps and infinite rebuilding - these are not the
questions that I cared too much about.


> It's not that it's only possible from RCS or SCCS per se.
> It's that make only has built-in rules that know how to check out a
> makefile from RCS and SCCS.

After reply at SO - I've understood that "It's not that it's only possible
from RCS or SCCS per se."
But in 3.5 it's totally mystified. You just can't make a guess about
such behaviour and only in RCS/SCCS .

> So, it's unlikely that there will be a desire to add built-in rules for
> more kinds of source control systems.  Probably this paragraph could be
> reworked or even mostly removed.

Yes, I think too that deleting this paragraph will be useful.

--
  Dmitry



Re: notes about make docs p 3.5

2020-12-06 Thread Paul Smith
On Thu, 2020-12-03 at 15:04 +0300, Dmitry wrote:
> > > It'll be very good to have some examples with explanations in the
> > > docs.
> > Maybe so.  Concrete suggestions are easy to discuss, like:
> 
> I think this example would saved me a lot of time.
> 
> make -f mkfile
> 
> content of mkfile:
> 
> all:
> @echo total $(MAKE_RESTARTS) MAKE_RESTARTS
> 
> mkfile: force
> [ x$(MAKE_RESTARTS) = x3 ] || touch mkfile ; sleep 1
> 
> force: ;

I like to show useful things that people might want to do in the make
manual examples.  I'm not sure what the above makefile is trying to
accomplish nor why one would want to do something like it.  Also there
are a lot of more advanced concepts here like 'force:' etc.: it's
better to work with only one concept at a time if possible.

Maybe if you described the thing you were trying to accomplish or
understand, and what about the documentation made this difficult, we
could come up with a practical example or improve the documentation.

In the SO question you quote it seems like the real confusion stemmed
from other things, not related to remaking makefiles at all; for
example, the fact that a target with no prerequisites is always up to
date if the file exists and so the included makefile would never be
rebuilt if it exists, or that continuously trying to make a file up to
date could run into system limitations with timestamps.

In other words, your question seemed to be trying to force make to
constantly rebuild makefiles in an infinite loop and that was not
successful and the manual didn't explain why that should be.  But the
reasons for why it didn't rebuild forever are mostly pretty esoteric
and system-specific, and to my mind don't really belong in the user's
manual.

In a real makefile no one would ever want to force their included files
to be rebuilt forever for example, and they would not run into the
issues in that SO question.

> For me  (as a  nube in make) would be good something like this:
> Automatic creation of makefile currently possible from only RCS /
> SCCS systems ( more about "Built-In Rules" here -
> https://www.gnu.org/software/make/manual/make.html#Catalogue-of-Rules
>  ).

It's not that it's only possible from RCS or SCCS per se.

It's that make only has built-in rules that know how to check out a
makefile from RCS and SCCS.

If you don't have any makefile already, which is the situation this
paragraph is talking about, then all you have are the default rules
that are built into make: without a makefile you can't define your own
custom rules.

In modern source control systems you don't have the same use for this
behavior.  When you obtain a workspace you already have all the code
checked out, not an empty directory, and it's not really appropriate to
automatically obtain a newer version of the Makefile from source
control: users want to handle that themselves.

So, it's unlikely that there will be a desire to add built-in rules for
more kinds of source control systems.  Probably this paragraph could be
reworked or even mostly removed.




Re: notes about make docs p 3.5

2020-12-04 Thread Dmitry
On Thu, Dec 3, 2020 at 4:07 PM  wrote:

> With all respect, yours is is a baseless complaint - please complain to your
> English teacher instead.
With all respect, why do you choose the most negligible subject and
show me your dominance, professor?
What about the other two complaints? Are they baseless too?

Chmoki
--
  Dmitry



Re: notes about make docs p 3.5

2020-12-03 Thread dima.pasechnik
On Thu, Dec 03, 2020 at 03:04:28PM +0300, Dmitry wrote:
> > > It'll be very good to have some examples with explanations in the docs.
> > Maybe so.  Concrete suggestions are easy to discuss, like:
> 
> I think this example would saved me a lot of time.
> make -f mkfile
> content of mkfile:
> 
> all:
> @echo total $(MAKE_RESTARTS) MAKE_RESTARTS
> 
> mkfile: force
> [ x$(MAKE_RESTARTS) = x3 ] || touch mkfile ; sleep 1
> 
> force: ;
> 
> 
> > > 1) make starts with a clean slate-> make starts with a clean sTate
> > The "clean slate" idiom seems more natural to this native English speaker.  
> > Would "starts from scratch" present the same problem?
> 
> I'm sure that most people read documentation not for English
> improvement, but just to understand how things work.
> So for me (and I bet  for thousands others ) it'll be better if
> documentation would be written as simple as possible.
> What about "clean slate"  thank you, my English is a little better now.

Yes, I graduated from a high school in
Moscow in 1980 without knowing what "clean slate" means, but I learned
there much more useful "collective farm", "socialist competition", etc :-)
And for a while I needed a dictionary to read messages of the Fortran IV 
compiler
and DOS (no, not the MSDOS, there was another DOS then) on a Soviet clone of 
IBM OS 360.

With all respect, yours is is a baseless complaint - please complain to your
English teacher instead.

Cheers,
Dmitrii

> 
> 
> > > In this discussion, the man says that this is no longer relevant.
> > Perhaps we could agree that SCCS and RCS are now a minority interest.  It 
> > does seem unlikely that other systems will get similar support added to the 
> > default rules, in which case the documentation could mention SCCS and RCS 
> > specifically without becoming a maintenance burden.  Reading the original 
> > discussion, though, perhaps the more useful clarification would have been 
> > to make it explicit that Make has default, built-in make rules, the ones 
> > from https://www.gnu.org/software/make/manual/make.html#Catalogue-of-Rules.
> 
> Sorry, perhaps I don't exactly understand last sequence, but if I
> understand right - you say about adding a link to
> https://www.gnu.org/software/make/manual/make.html#Catalogue-of-Rules
> For me  (as a  nube in make) would be good something like this:
> Automatic creation of makefile currently possible from only RCS / SCCS
> systems ( more about "Built-In Rules" here -
> https://www.gnu.org/software/make/manual/make.html#Catalogue-of-Rules ).
> 
> On Tue, Dec 1, 2020 at 4:39 AM Martin Dorey
>  wrote:
> >
> > > It'l be very good to have some examples with explanations in the docs.
> >
> > Maybe so.  Concrete suggestions are easy to discuss, like:
> >
> > > 1) make starts with a clean slate-> make starts with a clean sTate
> >
> > The "clean slate" idiom seems more natural to this native English speaker.  
> > Would "starts from scratch" present the same problem?
> >
> > > In this discussion, the man says that this is no longer relevant.
> >
> > Perhaps we could agree that SCCS and RCS are now a minority interest.  It 
> > does seem unlikely that other systems will get similar support added to the 
> > default rules, in which case the documentation could mention SCCS and RCS 
> > specifically without becoming a maintenance burden.  Reading the original 
> > discussion, though, perhaps the more useful clarification would have been 
> > to make it explicit that Make has default, built-in make rules, the ones 
> > from https://www.gnu.org/software/make/manual/make.html#Catalogue-of-Rules.
> >
> > 
> > From: Bug-make  on behalf of 
> > Dmitry 
> > Sent: Monday, November 30, 2020 09:51
> > To: bug-make@gnu.org 
> > Subject: notes about make docs p 3.5
> >
> > * EXTERNAL EMAIL *
> >
> > Hello, I'm reading GNU make docs and had troubles with understanding
> > paragraph 3.5 .
> > These are some problems which I encountered:
> >
> > 1) make starts with a clean slate-> make starts with a clean sTate
> >
> > 2) It was difficult to understand how make remade makefiles without 
> > examples.
> > There is discussion when peoples explain me what's going on.
> > It'l be very good to have some examples with explanations in the docs.
> >
> > https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstackoverflow.com%2Fquestions%2F65058553%2Fhow-makefiles-are-remade-dont-understand-o

Re: notes about make docs p 3.5

2020-12-03 Thread Dmitry
> > It'll be very good to have some examples with explanations in the docs.
> Maybe so.  Concrete suggestions are easy to discuss, like:

I think this example would saved me a lot of time.
make -f mkfile
content of mkfile:

all:
@echo total $(MAKE_RESTARTS) MAKE_RESTARTS

mkfile: force
[ x$(MAKE_RESTARTS) = x3 ] || touch mkfile ; sleep 1

force: ;


> > 1) make starts with a clean slate-> make starts with a clean sTate
> The "clean slate" idiom seems more natural to this native English speaker.  
> Would "starts from scratch" present the same problem?

I'm sure that most people read documentation not for English
improvement, but just to understand how things work.
So for me (and I bet  for thousands others ) it'll be better if
documentation would be written as simple as possible.
What about "clean slate"  thank you, my English is a little better now.


> > In this discussion, the man says that this is no longer relevant.
> Perhaps we could agree that SCCS and RCS are now a minority interest.  It 
> does seem unlikely that other systems will get similar support added to the 
> default rules, in which case the documentation could mention SCCS and RCS 
> specifically without becoming a maintenance burden.  Reading the original 
> discussion, though, perhaps the more useful clarification would have been to 
> make it explicit that Make has default, built-in make rules, the ones from 
> https://www.gnu.org/software/make/manual/make.html#Catalogue-of-Rules.

Sorry, perhaps I don't exactly understand last sequence, but if I
understand right - you say about adding a link to
https://www.gnu.org/software/make/manual/make.html#Catalogue-of-Rules
For me  (as a  nube in make) would be good something like this:
Automatic creation of makefile currently possible from only RCS / SCCS
systems ( more about "Built-In Rules" here -
https://www.gnu.org/software/make/manual/make.html#Catalogue-of-Rules ).

On Tue, Dec 1, 2020 at 4:39 AM Martin Dorey
 wrote:
>
> > It'l be very good to have some examples with explanations in the docs.
>
> Maybe so.  Concrete suggestions are easy to discuss, like:
>
> > 1) make starts with a clean slate-> make starts with a clean sTate
>
> The "clean slate" idiom seems more natural to this native English speaker.  
> Would "starts from scratch" present the same problem?
>
> > In this discussion, the man says that this is no longer relevant.
>
> Perhaps we could agree that SCCS and RCS are now a minority interest.  It 
> does seem unlikely that other systems will get similar support added to the 
> default rules, in which case the documentation could mention SCCS and RCS 
> specifically without becoming a maintenance burden.  Reading the original 
> discussion, though, perhaps the more useful clarification would have been to 
> make it explicit that Make has default, built-in make rules, the ones from 
> https://www.gnu.org/software/make/manual/make.html#Catalogue-of-Rules.
>
> 
> From: Bug-make  on behalf of 
> Dmitry 
> Sent: Monday, November 30, 2020 09:51
> To: bug-make@gnu.org 
> Subject: notes about make docs p 3.5
>
> * EXTERNAL EMAIL *
>
> Hello, I'm reading GNU make docs and had troubles with understanding
> paragraph 3.5 .
> These are some problems which I encountered:
>
> 1) make starts with a clean slate-> make starts with a clean sTate
>
> 2) It was difficult to understand how make remade makefiles without examples.
> There is discussion when peoples explain me what's going on.
> It'l be very good to have some examples with explanations in the docs.
>
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstackoverflow.com%2Fquestions%2F65058553%2Fhow-makefiles-are-remade-dont-understand-official-documentation%2F65061327data=04%7C01%7CMartin.Dorey%40hitachivantara.com%7C83dec436f92a4006439808d8955fbc5b%7C18791e1761594f52a8d4de814ca8284a%7C0%7C0%7C637423585715337014%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000sdata=nneTzpEm8zVuu9UnGX4%2BRfNkCNiErdp95JnClTNLfLM%3Dreserved=0
>
> 3) It's absolutely unclear  this clause
>
> > If you do not specify any makefiles to be read with ‘-f’ or ‘--file’ 
> > options, make will try the default makefile names; see What Name to Give 
> > Your Makefile. Unlike makefiles explicitly requested with ‘-f’ or ‘--file’ 
> > options, make is not certain that these makefiles should exist. However, if 
> > a default makefile does not exist but can be created by running make rules, 
> > you probably want the rules to be run so that the makefile can be used.
>
> In this discussion, the man says that this is no longer relevant.

Re: notes about make docs p 3.5

2020-11-30 Thread Martin Dorey
> It'l be very good to have some examples with explanations in the docs.

Maybe so.  Concrete suggestions are easy to discuss, like:

> 1) make starts with a clean slate-> make starts with a clean sTate

The "clean slate" idiom seems more natural to this native English speaker.  
Would "starts from scratch" present the same problem?

> In this discussion, the man says that this is no longer relevant.

Perhaps we could agree that SCCS and RCS are now a minority interest.  It does 
seem unlikely that other systems will get similar support added to the default 
rules, in which case the documentation could mention SCCS and RCS specifically 
without becoming a maintenance burden.  Reading the original discussion, 
though, perhaps the more useful clarification would have been to make it 
explicit that Make has default, built-in make rules, the ones from 
https://www.gnu.org/software/make/manual/make.html#Catalogue-of-Rules.


From: Bug-make  on behalf of 
Dmitry 
Sent: Monday, November 30, 2020 09:51
To: bug-make@gnu.org 
Subject: notes about make docs p 3.5

* EXTERNAL EMAIL *

Hello, I'm reading GNU make docs and had troubles with understanding
paragraph 3.5 .
These are some problems which I encountered:

1) make starts with a clean slate-> make starts with a clean sTate

2) It was difficult to understand how make remade makefiles without examples.
There is discussion when peoples explain me what's going on.
It'l be very good to have some examples with explanations in the docs.

https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstackoverflow.com%2Fquestions%2F65058553%2Fhow-makefiles-are-remade-dont-understand-official-documentation%2F65061327data=04%7C01%7CMartin.Dorey%40hitachivantara.com%7C83dec436f92a4006439808d8955fbc5b%7C18791e1761594f52a8d4de814ca8284a%7C0%7C0%7C637423585715337014%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000sdata=nneTzpEm8zVuu9UnGX4%2BRfNkCNiErdp95JnClTNLfLM%3Dreserved=0

3) It's absolutely unclear  this clause

> If you do not specify any makefiles to be read with ‘-f’ or ‘--file’ options, 
> make will try the default makefile names; see What Name to Give Your 
> Makefile. Unlike makefiles explicitly requested with ‘-f’ or ‘--file’ 
> options, make is not certain that these makefiles should exist. However, if a 
> default makefile does not exist but can be created by running make rules, you 
> probably want the rules to be run so that the makefile can be used.

In this discussion, the man says that this is no longer relevant.
Perhaps it must be deleted or some explanations must be added.

https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstackoverflow.com%2Fquestions%2F65071351%2Fegg-and-chicken-problem-when-auto-generate-default-makefile%2F65072730data=04%7C01%7CMartin.Dorey%40hitachivantara.com%7C83dec436f92a4006439808d8955fbc5b%7C18791e1761594f52a8d4de814ca8284a%7C0%7C0%7C637423585715337014%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000sdata=bL4YGGM3AiNlMG211B75ZtJ8dLrMMzWKD6HXvW0hSRA%3Dreserved=0

Respect,
--
  Dmitry



notes about make docs p 3.5

2020-11-30 Thread Dmitry
Hello, I'm reading GNU make docs and had troubles with understanding
paragraph 3.5 .
These are some problems which I encountered:

1) make starts with a clean slate-> make starts with a clean sTate

2) It was difficult to understand how make remade makefiles without examples.
There is discussion when peoples explain me what's going on.
It'l be very good to have some examples with explanations in the docs.

https://stackoverflow.com/questions/65058553/how-makefiles-are-remade-dont-understand-official-documentation/65061327

3) It's absolutely unclear  this clause

> If you do not specify any makefiles to be read with ‘-f’ or ‘--file’ options, 
> make will try the default makefile names; see What Name to Give Your 
> Makefile. Unlike makefiles explicitly requested with ‘-f’ or ‘--file’ 
> options, make is not certain that these makefiles should exist. However, if a 
> default makefile does not exist but can be created by running make rules, you 
> probably want the rules to be run so that the makefile can be used.

In this discussion, the man says that this is no longer relevant.
Perhaps it must be deleted or some explanations must be added.

https://stackoverflow.com/questions/65071351/egg-and-chicken-problem-when-auto-generate-default-makefile/65072730

Respect,
--
  Dmitry