![]() | This article is rated C-class on Wikipedia's
content assessment scale. It is of interest to the following WikiProjects: | |||||||||||||||||||||||||||||||||
|
how wikipedia utilize users comment —Preceding unsigned comment added by 76.210.239.112 ( talk) 20:11, 23 April 2009 (UTC)
what about Make Magazine? Brewthatistrue 23:47, 22 July 2005 (UTC)
What's going on with "It uses files called "makefiles" to determine the dependency graph for a given output, and the build scripts which need passed to the shell to build them."? mat_x 16:31, 9 September 2005 (UTC)
You're right that it's awkward, but it's actually a fair description of the process. It processes the makefile. It has a series of depedency graphs. For a given target, it looks at all the dependencies, and will run the build scripts for anything which needs built (or re-built) in the process. -- Flata 10:32, 15 September 2005 (UTC)
I don't necessarily agree with the "incorrecttitle" in this case. For documenting the command, as typed into the command line, yes it's "make" but the program itself is called Make. I don't have PWB sources on-hand anymore, but in the makefile for V7 Make, it says "# Description file for the Make command". In the fatal() routine, it prints its identifier as "Make". The de Boor make, as it appears in FreeBSD 6, prints "make" in the equivalent Punt() routine, for what it's worth. -- Flata 10:39, 15 September 2005 (UTC)
Could someone familiar with this subject please re-write the article in such a way that regular readers can understand the basic concept of it? I'm fairly computer literate, but understand hardly anything of the article, except that we're talking about very specific types of file conversions (this is not about converting a Word file to a TXT file, right?). You won't even know that the article is about computing until you have read several sentences. Thomas Blomberg 10:18, 26 April 2006 (UTC)
It would be complete if the article covers "make test" and "make install"
My fuzzy recollection is Feldman wrote something describing how he quickly (weeks?) concluded that using significant tabs had been a mistake. But how at that point, he had too many users, order 10?, to change it. Now, order 10_000+ users later... It's a cautionary tale for any protocol designer. And I'd really love to find a reference. 66.30.119.55 19:42, 6 July 2006 (UTC)
The anecdote in question appears in Eric S. Raymond's The Art of Unix Programming, Chapter 15, section 4. FAQS.org has the full text:
No discussion of make(1) would be complete without an acknowledgment that it includes one of the worst design botches in the history of Unix. The use of tab characters as a required leader for command lines associated with a production means that the interpretation of a makefile can change drastically on the basis of invisible differences in whitespace.
Why the tab in column 1? Yacc was new, Lex was brand new. I hadn't tried either, so I figured this would be a good excuse to learn. After getting myself snarled up with my first stab at Lex, I just did something simple with the pattern newline-tab. It worked, it stayed. And then a few weeks later I had a user population of about a dozen, most of them friends, and I didn't want to screw up my embedded base. The rest, sadly, is history.
-- Stuart Feldman
I suspect that the best way to handle this might be to put this quotation in Wikiquote and refer to it from the main article.
MarkKriegsman 15:04, 14 May 2007 (UTC)
“The make identifies and runs the programs which are necessary to convert the files (these programs are called dependencies).” This sentence is complete garbage---it implies that “the make” (“the make utility”, perhaps?) works out that, for example, gcc is needed, and runs it; where gcc itself is dubbed a dependancy. This is clearly false, as i) make must have transformation rules explicitly provided to it (even if they are global), and ii) the dependency is this case is the source file (which is a dependency of the required object file).
"and source files are marked as depending on files which they include internally." is also incorrect; it is a common beginner's mistake though. To use the context of compiling a C program, the *object* file depends on the include files, not the *source* files. That is because the object file will change if you change the include file. -- 213.84.74.36 ( talk) 20:22, 12 October 2008 (UTC)
Why is makepp listed as one of three modern noteworthy make variants? It looks like a vanity edit, and a Google Groups search indicates that few people use it. Plus, Debian Linux doesn't carry it. How about mentioning Microsoft's nmake instead? JöG 20:13, 28 September 2006 (UTC)
"# Comments use the pound sign (aka hash)" - is this some really weird C term, or does the author really not know what the pound sign is?
the # is also sometimes called a sharp (like in music), at the top of a script you will find the `shebang` - abbreviation for 'sharp','bang' e.g. #!/bin/bash. Obviously, the exclamation point is the bang, but perhaps people outside of the unix comminity will look at you funny if you start calling them 'bang', say out loud at work. (P.S. if you did have to read scripts out loud, or speak of them, then sharp and bang are less cumbersome than `pound sign` and `exclamation point`, not to mention they confer the purpose of these symbols. Amarok1234 ( talk) 15:53, 23 May 2008 (UTC)
There's a couple of comments that makefiles are obsolete, replaced by IDEs. I disagree. makefiles, especially gnu make, is ubiquitous in the unix world; it is what every C/C++ project tends to have. The makefile may have been generated by other tools such as automake, but its still there. Furthermore, the are many other text file driven build tools including Ant, Nant, Phing, MSBuild, Rake (Ruby). Many IDEs integrate with these tools (Ant is supported in all Java IDEs, MSBuild is generated by Visual Studio, but the tools and the concepts all depend on Make, and all allow skilled developers to edit the files by hand
It is possible to saw a word about the mak format (invention of the men of wxwidget) ? This format is a scripted Makefile capable to adapt the content and syntax to the material/software. Sure it's not so great than Bjam... but it's allways better than simple makefiles. With it you can compile on linux and windows (Visual) without any adpatation. (it's a sort of adaptative makefile). It generates makefiles. —Preceding unsigned comment added by 81.80.168.101 ( talk) 09:21, 13 June 2008 (UTC)
I dropped the link to remake because it deals with remake in films industry... Tiksagol 05:15, 6 September 2007 (UTC)
There is a section on advantages and disadvantages:
Make is a component in a system, and part of the unix philosophy is focus and simplicity. You combine several components together to achieve an objective, and each of those components is optimized to play just one role (the whole is much greater than the sum of its parts).
To say that a disadvantage of make is that it lacks the features of an other component (e.g. Automake) is akin to saying one of the disadvantages of a wheel is that the user has to hold it up and roll it. However, the wheel is just a component, and in conjunction with the axle &c, performs admirably. In fact, the wheel has the luxury of just focusing on being a very good wheel.
The advantages and disadvantages section speaks only of disadvantages. Jhobson1 ( talk) 19:43, 21 November 2008 (UTC)
You're right. I'll make an attempt to rewrite parts of it showing both sides. Then there's the next question: advantages and disadvantages compared to what? JöG ( talk) 20:21, 13 May 2009 (UTC)
I tried to insert a note about how the build process is derived (i.e., through topological sorting). Maybe this should be placed in its own, short section, instead of in the summary? -- cslarsen ( talk) 13:01, 6 November 2008 (UTC)
The first sentence is poorly worded, in particular the phrase "automatically builds". I followed the link to the article on both words and both describe esentially the same thing. I find this confusing. -- User:Josh 13:25, 14 October 2010 (UTC) —Preceding unsigned comment added by 207.194.62.58 ( talk)
I'm not sure about BSD Make or the POSIX specification but suffix rules have been obsolete for quite a while in GNU Make. They have been replaced by the more general and flexible pattern matching rules.
http://www.gnu.org/software/make/manual/html_node/Suffix-Rules.html
The article seems to have a disproportionate amount of information about suffix rules and only a few minor mentions of pattern matching rules.
I don't have the time to update the article right now but I just thought I'd add a note here. — Preceding unsigned comment added by 81.157.211.54 ( talk) 03:26, 26 May 2012 (UTC)
The page version at the beginning of 2012 had a long list of extarnal links (all of which were in fact live). On Jan 25 most of these were removed by "Thumperward", with an explanation referring to Wikipedia rules on external links that say among other things "it is not Wikipedia's purpose to include a lengthy or comprehensive list of external links related to each topic". Fine, except that the links that were removed were, a little randomly, all but the 10 last links. I have now cut down the list of links to three (after looking briefly at all the links in the long list). However, as there is now a wikibook that is linked to in the Wikipedia article, I have moved many of the links to there. Kristjan.Jonasson ( talk) 15:55, 15 December 2012 (UTC)
Please check out file: http://minnie.tuhs.org/cgi-bin/utree.pl?file=V7/usr/src/cmd/make/ident.c which may help to correct date: base version of `make' was 24 april 1976 — Preceding unsigned comment added by 46.146.234.112 ( talk) 02:52, 14 February 2013 (UTC)
The recent edits for pattern rules are not acceptable for WP as they are false with respect to obsolescense and because the contain advertizing for GNU make that tries to create the impression, pattern rules are a GNU make invention.
Correct is my version of the text. but this has been revertey by a person that seems to miss the related knowledge about make.
Let me repeat: Pattern rules have been introduced by SunPro make in Spring 1986 (see man pages for SunOS-3.0) and a make program that uses pattern rules for the built in rules is broken. Schily ( talk) 21:38, 11 May 2014 (UTC)
Pattern matching rules are searched first (before looking for Suffix Rules that might match a given suffix) in the order of the respective definition of the Pattern Matching Rules. Thus, if a make implementation would try to define it's built-in rules using Pattern Matching Rules, these built-in rules could not be redefined later in the users makefile. This is because the built-in rules are read before any makefiles from the user. Pattern Mathing Rules withing the built-in rules would become the first and thus dominating definition.
Gmake did try this a few years ago and failed miserably with many makefiles out in the public that assume that defining a Suffix Rule for given target groups would be honored.
For this reason, Pattern Matching Rules are a nice and powerful enhancement to the inference rules in make, but can never completely replace Suffix Rules. I hope this prevents people that are not familiar with make to again add a related false claim in the main article that I just removed for good reasons. Schily ( talk) 10:34, 28 May 2014 (UTC)
My recent edits have been done with care. They correct false claims and give references for the correct behavior - e.g. the fact that a % matches zero or more characters in a pattern rule. Please be collaborative and do not reinsert false claims. Read the man page to verify that I am correct. Schily ( talk) 15:19, 28 May 2014 (UTC)
From the man page:
Pattern Matching Rules
A target entry of the form:
tp%ts:dp%ds
rule
is a pattern matching rule, in which tp is a target prefix,
ts is a target suffix, dp is a dependency prefix, and ds is
a dependency suffix (any of which can be null). The % stands
for a basename of zero or more characters that is matched in
the target, and is used to construct the name of a depen-
dency. When make encounters a match in its search for an
Schily (
talk)
15:28, 28 May 2014 (UTC)
Frankly, I'm not sure what this argument is about. Isn't there a wording you can both agree on? It seems pattern rules have been implemented multiple times and the details of the semantics probably vary. Why not use this as a source? Rp ( talk) 13:18, 13 June 2014 (UTC)
The given source flatly contradicts that statement by providing Sparc and x86 executables. Likewise, the source does not provide reliable information regarding when the license change occurred and when the sources were made available. For the latter, there may be a WP:RS. TEDickey ( talk) 19:36, 28 May 2014 (UTC)
Referring to this:
<!-- the first version was a C based rewrite from the original UNIX make sources that mostly used the historical file names and included comments that point to SVr2 sources, recent versions are another rewrite, now in C++ -->
the appropriate place to discuss maintenance issues is on the talk page -- not to add still further unsourced opinion. The current issues, adding this comment to the list:
Lacking reliable source for the first, the entire comment can be removed. TEDickey ( talk) 19:47, 28 May 2014 (UTC)
None of the existing links near the edit give corresponding information. If you would like to discuss sources, you could start by providing one that has the information for these edits TEDickey ( talk) 14:53, 5 May 2017 (UTC)
We're looking for quotes, not debuggers. Try that, rather than demonstrating your personality. TEDickey ( talk) 20:11, 5 May 2017 (UTC)
In reviewing this article, I feel that there are way too many code snippets, making this less an encyclopedia article and more a coding how-to. For example:
Microsoft's NMAKE has predefined rules that can be omitted from these makefiles, e.g. "c.obj $(CC)$(CFLAGS)"
Is there any precedent for this level of extreme intricate detail? As a point of compatrison, I don't see a single line of code in the Wikipedia article. TimTempleton (talk) (cont) 23:08, 23 October 2017 (UTC)
Such a long article - but nothing about the algorithmic ideas at the core of Make. The only hint I saw in the text is the sentence
Make can decide where to start through topological sorting.
It would be great if someone knowledgeable could elaborate this. -- Nsda ( talk) —Preceding undated comment added 13:06, 17 April 2018 (UTC)
Covers a lot of the same topics as Make (software). AtlasDuane ( talk) 02:56, 19 March 2021 (UTC)
Done Adpete ( talk) 07:11, 7 April 2021 (UTC)
These also use make and Makefiles. However, the syntax/structure is completely different from Stuart Feldman's original make described in this Wiki article. Suggest some comment(s)/link(s) are made to OpenWrt's and Buildroot's make, if at least some kind of "see also" reference. 82.21.55.166 ( talk) — Preceding undated comment added 12:55, 31 March 2022 (UTC)
I have been part of the software community for fifty years, and I remember something about make that has not been commented upon (or at least I didn't recognize it). Make was part of the C language to build the Unix operating system, and it had the capability to extend the C language with a macro like system that added lexical and syntactic extensions to C. I remember reading code that had been delivered to the military that included some of this sort of C extension and asked the authors how they got the DoD to accept it. Their response was that the make file is part of the C programming environment and therefore this type of language extension was standard C. I do not see anything in this article that could be a C standard extending macro facility. Does anyone remember how this was done? 50.206.176.154 ( talk) 23:34, 15 April 2024 (UTC)
No. I'm sure it was NOT preprocessor macros. 50.206.176.154 ( talk) 17:01, 20 April 2024 (UTC)
I have two issues with this: "Make was created by Stuart Feldman in April 1976...".
First, a non-trivial program is (almost) never created in any particular month. It take months to create ... to write. I doubt that Stuart started and completed writing Make in April 1976. Maybe he completed an early version in that month.
Second, apparently, there's some version file that starts with v2.1 dated April 1976. But... versions usually don't start with 2.1. They can, but usually not. When were earlier versions completed?
IMO should say something like: Make was created by Stuart Feldman. The first known version, 2.1, was completed in April 1976. ... even that is a stretch since it assumes that version file is genuine and accurate, but it probably is. Stevebroshar ( talk) 10:46, 30 May 2024 (UTC)
![]() | This article is rated C-class on Wikipedia's
content assessment scale. It is of interest to the following WikiProjects: | |||||||||||||||||||||||||||||||||
|
how wikipedia utilize users comment —Preceding unsigned comment added by 76.210.239.112 ( talk) 20:11, 23 April 2009 (UTC)
what about Make Magazine? Brewthatistrue 23:47, 22 July 2005 (UTC)
What's going on with "It uses files called "makefiles" to determine the dependency graph for a given output, and the build scripts which need passed to the shell to build them."? mat_x 16:31, 9 September 2005 (UTC)
You're right that it's awkward, but it's actually a fair description of the process. It processes the makefile. It has a series of depedency graphs. For a given target, it looks at all the dependencies, and will run the build scripts for anything which needs built (or re-built) in the process. -- Flata 10:32, 15 September 2005 (UTC)
I don't necessarily agree with the "incorrecttitle" in this case. For documenting the command, as typed into the command line, yes it's "make" but the program itself is called Make. I don't have PWB sources on-hand anymore, but in the makefile for V7 Make, it says "# Description file for the Make command". In the fatal() routine, it prints its identifier as "Make". The de Boor make, as it appears in FreeBSD 6, prints "make" in the equivalent Punt() routine, for what it's worth. -- Flata 10:39, 15 September 2005 (UTC)
Could someone familiar with this subject please re-write the article in such a way that regular readers can understand the basic concept of it? I'm fairly computer literate, but understand hardly anything of the article, except that we're talking about very specific types of file conversions (this is not about converting a Word file to a TXT file, right?). You won't even know that the article is about computing until you have read several sentences. Thomas Blomberg 10:18, 26 April 2006 (UTC)
It would be complete if the article covers "make test" and "make install"
My fuzzy recollection is Feldman wrote something describing how he quickly (weeks?) concluded that using significant tabs had been a mistake. But how at that point, he had too many users, order 10?, to change it. Now, order 10_000+ users later... It's a cautionary tale for any protocol designer. And I'd really love to find a reference. 66.30.119.55 19:42, 6 July 2006 (UTC)
The anecdote in question appears in Eric S. Raymond's The Art of Unix Programming, Chapter 15, section 4. FAQS.org has the full text:
No discussion of make(1) would be complete without an acknowledgment that it includes one of the worst design botches in the history of Unix. The use of tab characters as a required leader for command lines associated with a production means that the interpretation of a makefile can change drastically on the basis of invisible differences in whitespace.
Why the tab in column 1? Yacc was new, Lex was brand new. I hadn't tried either, so I figured this would be a good excuse to learn. After getting myself snarled up with my first stab at Lex, I just did something simple with the pattern newline-tab. It worked, it stayed. And then a few weeks later I had a user population of about a dozen, most of them friends, and I didn't want to screw up my embedded base. The rest, sadly, is history.
-- Stuart Feldman
I suspect that the best way to handle this might be to put this quotation in Wikiquote and refer to it from the main article.
MarkKriegsman 15:04, 14 May 2007 (UTC)
“The make identifies and runs the programs which are necessary to convert the files (these programs are called dependencies).” This sentence is complete garbage---it implies that “the make” (“the make utility”, perhaps?) works out that, for example, gcc is needed, and runs it; where gcc itself is dubbed a dependancy. This is clearly false, as i) make must have transformation rules explicitly provided to it (even if they are global), and ii) the dependency is this case is the source file (which is a dependency of the required object file).
"and source files are marked as depending on files which they include internally." is also incorrect; it is a common beginner's mistake though. To use the context of compiling a C program, the *object* file depends on the include files, not the *source* files. That is because the object file will change if you change the include file. -- 213.84.74.36 ( talk) 20:22, 12 October 2008 (UTC)
Why is makepp listed as one of three modern noteworthy make variants? It looks like a vanity edit, and a Google Groups search indicates that few people use it. Plus, Debian Linux doesn't carry it. How about mentioning Microsoft's nmake instead? JöG 20:13, 28 September 2006 (UTC)
"# Comments use the pound sign (aka hash)" - is this some really weird C term, or does the author really not know what the pound sign is?
the # is also sometimes called a sharp (like in music), at the top of a script you will find the `shebang` - abbreviation for 'sharp','bang' e.g. #!/bin/bash. Obviously, the exclamation point is the bang, but perhaps people outside of the unix comminity will look at you funny if you start calling them 'bang', say out loud at work. (P.S. if you did have to read scripts out loud, or speak of them, then sharp and bang are less cumbersome than `pound sign` and `exclamation point`, not to mention they confer the purpose of these symbols. Amarok1234 ( talk) 15:53, 23 May 2008 (UTC)
There's a couple of comments that makefiles are obsolete, replaced by IDEs. I disagree. makefiles, especially gnu make, is ubiquitous in the unix world; it is what every C/C++ project tends to have. The makefile may have been generated by other tools such as automake, but its still there. Furthermore, the are many other text file driven build tools including Ant, Nant, Phing, MSBuild, Rake (Ruby). Many IDEs integrate with these tools (Ant is supported in all Java IDEs, MSBuild is generated by Visual Studio, but the tools and the concepts all depend on Make, and all allow skilled developers to edit the files by hand
It is possible to saw a word about the mak format (invention of the men of wxwidget) ? This format is a scripted Makefile capable to adapt the content and syntax to the material/software. Sure it's not so great than Bjam... but it's allways better than simple makefiles. With it you can compile on linux and windows (Visual) without any adpatation. (it's a sort of adaptative makefile). It generates makefiles. —Preceding unsigned comment added by 81.80.168.101 ( talk) 09:21, 13 June 2008 (UTC)
I dropped the link to remake because it deals with remake in films industry... Tiksagol 05:15, 6 September 2007 (UTC)
There is a section on advantages and disadvantages:
Make is a component in a system, and part of the unix philosophy is focus and simplicity. You combine several components together to achieve an objective, and each of those components is optimized to play just one role (the whole is much greater than the sum of its parts).
To say that a disadvantage of make is that it lacks the features of an other component (e.g. Automake) is akin to saying one of the disadvantages of a wheel is that the user has to hold it up and roll it. However, the wheel is just a component, and in conjunction with the axle &c, performs admirably. In fact, the wheel has the luxury of just focusing on being a very good wheel.
The advantages and disadvantages section speaks only of disadvantages. Jhobson1 ( talk) 19:43, 21 November 2008 (UTC)
You're right. I'll make an attempt to rewrite parts of it showing both sides. Then there's the next question: advantages and disadvantages compared to what? JöG ( talk) 20:21, 13 May 2009 (UTC)
I tried to insert a note about how the build process is derived (i.e., through topological sorting). Maybe this should be placed in its own, short section, instead of in the summary? -- cslarsen ( talk) 13:01, 6 November 2008 (UTC)
The first sentence is poorly worded, in particular the phrase "automatically builds". I followed the link to the article on both words and both describe esentially the same thing. I find this confusing. -- User:Josh 13:25, 14 October 2010 (UTC) —Preceding unsigned comment added by 207.194.62.58 ( talk)
I'm not sure about BSD Make or the POSIX specification but suffix rules have been obsolete for quite a while in GNU Make. They have been replaced by the more general and flexible pattern matching rules.
http://www.gnu.org/software/make/manual/html_node/Suffix-Rules.html
The article seems to have a disproportionate amount of information about suffix rules and only a few minor mentions of pattern matching rules.
I don't have the time to update the article right now but I just thought I'd add a note here. — Preceding unsigned comment added by 81.157.211.54 ( talk) 03:26, 26 May 2012 (UTC)
The page version at the beginning of 2012 had a long list of extarnal links (all of which were in fact live). On Jan 25 most of these were removed by "Thumperward", with an explanation referring to Wikipedia rules on external links that say among other things "it is not Wikipedia's purpose to include a lengthy or comprehensive list of external links related to each topic". Fine, except that the links that were removed were, a little randomly, all but the 10 last links. I have now cut down the list of links to three (after looking briefly at all the links in the long list). However, as there is now a wikibook that is linked to in the Wikipedia article, I have moved many of the links to there. Kristjan.Jonasson ( talk) 15:55, 15 December 2012 (UTC)
Please check out file: http://minnie.tuhs.org/cgi-bin/utree.pl?file=V7/usr/src/cmd/make/ident.c which may help to correct date: base version of `make' was 24 april 1976 — Preceding unsigned comment added by 46.146.234.112 ( talk) 02:52, 14 February 2013 (UTC)
The recent edits for pattern rules are not acceptable for WP as they are false with respect to obsolescense and because the contain advertizing for GNU make that tries to create the impression, pattern rules are a GNU make invention.
Correct is my version of the text. but this has been revertey by a person that seems to miss the related knowledge about make.
Let me repeat: Pattern rules have been introduced by SunPro make in Spring 1986 (see man pages for SunOS-3.0) and a make program that uses pattern rules for the built in rules is broken. Schily ( talk) 21:38, 11 May 2014 (UTC)
Pattern matching rules are searched first (before looking for Suffix Rules that might match a given suffix) in the order of the respective definition of the Pattern Matching Rules. Thus, if a make implementation would try to define it's built-in rules using Pattern Matching Rules, these built-in rules could not be redefined later in the users makefile. This is because the built-in rules are read before any makefiles from the user. Pattern Mathing Rules withing the built-in rules would become the first and thus dominating definition.
Gmake did try this a few years ago and failed miserably with many makefiles out in the public that assume that defining a Suffix Rule for given target groups would be honored.
For this reason, Pattern Matching Rules are a nice and powerful enhancement to the inference rules in make, but can never completely replace Suffix Rules. I hope this prevents people that are not familiar with make to again add a related false claim in the main article that I just removed for good reasons. Schily ( talk) 10:34, 28 May 2014 (UTC)
My recent edits have been done with care. They correct false claims and give references for the correct behavior - e.g. the fact that a % matches zero or more characters in a pattern rule. Please be collaborative and do not reinsert false claims. Read the man page to verify that I am correct. Schily ( talk) 15:19, 28 May 2014 (UTC)
From the man page:
Pattern Matching Rules
A target entry of the form:
tp%ts:dp%ds
rule
is a pattern matching rule, in which tp is a target prefix,
ts is a target suffix, dp is a dependency prefix, and ds is
a dependency suffix (any of which can be null). The % stands
for a basename of zero or more characters that is matched in
the target, and is used to construct the name of a depen-
dency. When make encounters a match in its search for an
Schily (
talk)
15:28, 28 May 2014 (UTC)
Frankly, I'm not sure what this argument is about. Isn't there a wording you can both agree on? It seems pattern rules have been implemented multiple times and the details of the semantics probably vary. Why not use this as a source? Rp ( talk) 13:18, 13 June 2014 (UTC)
The given source flatly contradicts that statement by providing Sparc and x86 executables. Likewise, the source does not provide reliable information regarding when the license change occurred and when the sources were made available. For the latter, there may be a WP:RS. TEDickey ( talk) 19:36, 28 May 2014 (UTC)
Referring to this:
<!-- the first version was a C based rewrite from the original UNIX make sources that mostly used the historical file names and included comments that point to SVr2 sources, recent versions are another rewrite, now in C++ -->
the appropriate place to discuss maintenance issues is on the talk page -- not to add still further unsourced opinion. The current issues, adding this comment to the list:
Lacking reliable source for the first, the entire comment can be removed. TEDickey ( talk) 19:47, 28 May 2014 (UTC)
None of the existing links near the edit give corresponding information. If you would like to discuss sources, you could start by providing one that has the information for these edits TEDickey ( talk) 14:53, 5 May 2017 (UTC)
We're looking for quotes, not debuggers. Try that, rather than demonstrating your personality. TEDickey ( talk) 20:11, 5 May 2017 (UTC)
In reviewing this article, I feel that there are way too many code snippets, making this less an encyclopedia article and more a coding how-to. For example:
Microsoft's NMAKE has predefined rules that can be omitted from these makefiles, e.g. "c.obj $(CC)$(CFLAGS)"
Is there any precedent for this level of extreme intricate detail? As a point of compatrison, I don't see a single line of code in the Wikipedia article. TimTempleton (talk) (cont) 23:08, 23 October 2017 (UTC)
Such a long article - but nothing about the algorithmic ideas at the core of Make. The only hint I saw in the text is the sentence
Make can decide where to start through topological sorting.
It would be great if someone knowledgeable could elaborate this. -- Nsda ( talk) —Preceding undated comment added 13:06, 17 April 2018 (UTC)
Covers a lot of the same topics as Make (software). AtlasDuane ( talk) 02:56, 19 March 2021 (UTC)
Done Adpete ( talk) 07:11, 7 April 2021 (UTC)
These also use make and Makefiles. However, the syntax/structure is completely different from Stuart Feldman's original make described in this Wiki article. Suggest some comment(s)/link(s) are made to OpenWrt's and Buildroot's make, if at least some kind of "see also" reference. 82.21.55.166 ( talk) — Preceding undated comment added 12:55, 31 March 2022 (UTC)
I have been part of the software community for fifty years, and I remember something about make that has not been commented upon (or at least I didn't recognize it). Make was part of the C language to build the Unix operating system, and it had the capability to extend the C language with a macro like system that added lexical and syntactic extensions to C. I remember reading code that had been delivered to the military that included some of this sort of C extension and asked the authors how they got the DoD to accept it. Their response was that the make file is part of the C programming environment and therefore this type of language extension was standard C. I do not see anything in this article that could be a C standard extending macro facility. Does anyone remember how this was done? 50.206.176.154 ( talk) 23:34, 15 April 2024 (UTC)
No. I'm sure it was NOT preprocessor macros. 50.206.176.154 ( talk) 17:01, 20 April 2024 (UTC)
I have two issues with this: "Make was created by Stuart Feldman in April 1976...".
First, a non-trivial program is (almost) never created in any particular month. It take months to create ... to write. I doubt that Stuart started and completed writing Make in April 1976. Maybe he completed an early version in that month.
Second, apparently, there's some version file that starts with v2.1 dated April 1976. But... versions usually don't start with 2.1. They can, but usually not. When were earlier versions completed?
IMO should say something like: Make was created by Stuart Feldman. The first known version, 2.1, was completed in April 1976. ... even that is a stretch since it assumes that version file is genuine and accurate, but it probably is. Stevebroshar ( talk) 10:46, 30 May 2024 (UTC)