Re: notes about make docs p 3.5
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
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
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
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
> > 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
> 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
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