Talk:Make (software)

message: how wikipedia utilize users comment  —Preceding unsigned comment added by 76.210.239.112 (talk) 20:11, 23 April 2009 (UTC)
thread_title: utilize users comment

message: what about Make Magazine? Brewthatistrue 23:47, 22 July 2005 (UTC)
thread_title: what about

message: 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)
replies: text: It's a fair description of what the make program does, but not a fair description of how a person learns to get make to do that. From the human's point of view, he or she edits a Makefile to define which output files depend on (i.e., come from) which source files. The human doesn't have to care about the dependency graph which make generates to guide its own approach to checking the dependencies. The human only has to care about defining the dependencies correctly in the Makefile, using the appropriate syntax. The article should distinguish between the internal operation of make, which is of interest to the few people who maintain the make program itself, vs. how the vast majority of users will approach the use of make. I.e., I suggest putting the internal operation stuff in its own section, so as not to confuse people who only want to use the program. That is, an abstract internal concept like "dependency graph" should not be in the introduction section. The introduction should introduce make: here is what it does from the user's point of view, why you might want to use it, and how you approach using it. Teratornis 18:47, 2 June 2006 (UTC)
replies: text: Be bold and do it. 201.47.46.16 21:35, 27 December 2006 (UTC)
thread_title:  Weird sentence 

message: 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)
thread_title:  Capitalization 

message: 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)
replies: text: Cross-posted on Talk:Make and Talk:Stuart Feldman.
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:
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)

text: I agree, it would enhance the article significantly. Donal Fellows (talk) 14:42, 29 August 2008 (UTC)
thread_title:  Tale of design mistake lock in? 

message: “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).
:So fix it, the "usual Wikipedia" way :) Stevage 02:26, 14 November 2006 (UTC)
thread_title:  Usual Wikipædia quality 

message: 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)
thread_title:  makepp? 

message: "# 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 # symbol is called 'pound' in the US, this is different from the UK Pound symbol £. the term 'hash' is normally used in C/C++ for # as it is generally internationalised, and can be pronounced well "hash-include", "hash-define", etc.
 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)
thread_title:  Hash? 

message: 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)
thread_title:  Makefiles obsolete? 

message: I dropped the link to remake because it deals with remake in films industry... Tiksagol 05:15, 6 September 2007 (UTC)
thread_title:  Link to remake page 

message: 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)
replies: text: OK, I did some rewriting. Added one of the worst problems, too – relying on time stamps reflecting file change. Can someone comment please on whether any other build tool has succeeded with some other technique? Checksums? JöG (talk) 21:20, 13 May 2009 (UTC)
thread_title:  Toaster not broken, it needs to be plugged in 

message: 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)
replies: text: @Csl77 I removed that single sentence about topological sorting since it did not seem to stand on its own. A fuller description of algorithm would nice. Still there cslarsen? Stevebroshar (talk) 10:35, 30 May 2024 (UTC)
thread_title:  Topological sorting 

message: 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)
replies: text: I changed that to a single link. Didn't try to fix the wording though. --Kvng (talk) 18:16, 16 February 2011 (UTC)
thread_title:  Poor wording 

message: 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)
replies: text: Well... the article is about "make" in general, not GNU make in specific. And yes, pattern matching rules are a GNU extension. -- DevSolar (talk) 11:32, 11 June 2012 (UTC)
replies: text: Wrong: Pattern matching rules is a SunPro-Make extension from 1986 that has later been reimplemented by gmake. --Schily (talk) 16:33, 11 June 2012 (UTC)

text: FreeBSD make also has them. I think it's fair to say that over 99% of Makefiles written today can use pattern rules. But how to decide which features of which versions of make to cover here? Rp (talk) 09:56, 12 June 2012 (UTC)
thread_title:  Suffix rules considered obsolete in GNU Make 

message: 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)
replies: text: I made a look at the links you removed and they seem to contain valuable information. Having a wikibook is not an excuse to remove this links. Sorry to say, but I don't consider your removal helpful. For that reason I decided to revert it. Georg Peter (talk) 13:11, 28 December 2012 (UTC)
thread_title:  External links 

message: 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)
replies: text: That text base version is on a line showing version as "2.1", which implies that that might not have been the first version. Stevebroshar (talk) 10:13, 30 May 2024 (UTC)
thread_title:  Initial release year 

message: 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)
replies: text: Schily, I am sorry to tell you that, but you are not helpful at all. You delete valuable information originating from verifiable sources (e.g. GNU make manual) on the ground that you personally have some original ideas about makefiles (and apparently a personal vendetta against GNU make). For example, you claim that pattern rules "can never completely replace suffix rules". Could you please prove your point by a concrete example (or a reference)? Otherwise (and sorry in advance) I will have to delete your edits. Bakkedal (talk) 14:55, 28 May 2014 (UTC)
replies: text: I am sorry to see that you reinserted text that is not helping people because it contains wrong meta information. If you don't understand my text above, you are obviously unable to understand how make works, as my text from above of course explains why Pattern Rules cannot replace Suffix Rules. Hint: the precedence rules that make the first pattern rule dominant and not replacable later are the reason... Schily (talk) 15:10, 28 May 2014 (UTC)
thread_title:  Explaining why the claims on Pattern Matching Rules in the article have been wrong 

message: 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)
thread_title:  needed to compile OpenSolaris? 

message: Referring to this:
 
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:
* SunPro is presented as a "rewrite".  In English, a "rewrite" has a specific meaning, encompassing both change of design and change of the form of expression.  A WP:RS is needed to show what that means.
* The comment asserts some specific knowledge of SunPro's source code.  That's unsourced.
* The comment asserts that "recent versions" again are known in detail. That's unsourced.
Lacking reliable source for the first, the entire comment can be removed. TEDickey (talk) 19:47, 28 May 2014 (UTC)
replies: text: That is precisely why it was a comment until someone could find and provide such references. It provided potentially useful information when looking to provide references on the subject but should not be part of the main text until it can be adequately sourced. Comments are meant to be communication only to other editors. See MOS:COMMENT. 50.53.1.33 (talk) 14:29, 6 March 2017 (UTC)
replies: text: BTW: an expert of course can fetch a historic make source from Stuart Feldman (via the historical UNIX license) and the current SunPro source (via the OpenSolaris license), compare them and verify that the latter is a rewrite. It may be harder to get the Sunos-3.5 source to compare with the first SunPro make version. Schily (talk) 15:50, 6 March 2017 (UTC)
thread_title:  SunPro considered as a rewrite 

message: 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)
replies: text: There are no hard and fast rules on level of detail, but I agree that this article suffers from too-many-examples-itus (TMEI). WP should not be a user guide. Stevebroshar (talk) 10:31, 30 May 2024 (UTC)
thread_title:  Excessive code snippets make this article cumbersome and overly technical 

message: 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)
replies: text: I removed that sentence since it seemed out of place. Most readers including myself do not know what topological sorting means. None-the-less, I support adding algorithmic info. Stevebroshar (talk) 10:28, 30 May 2024 (UTC)
thread_title:  what about the algorithm? 

message: Covers a lot of the same topics as Make (software). AtlasDuane (talk) 02:56, 19 March 2021 (UTC)
replies: text: Yes, please! I've been meaning to ask the same thing. Rp (talk) 23:29, 19 March 2021 (UTC)

text: Makes sense to me.  --A D Monroe III(talk)  03:18, 23 March 2021 (UTC)

text: Support. Also bear in mind WP:NOTMANUAL, which means there is very little worth keeping in the Makefile article anyway. Adpete (talk) 06:59, 7 April 2021 (UTC)

text: That was a good merge. Stevebroshar (talk) 10:26, 30 May 2024 (UTC)
thread_title:  Proposed merge of [[Makefile]] into [[Make (software)]] 

message: 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)
replies: text: I have used buildroot only one time and openwrt not at all, but the Makefile in my buildroot build looks like a normal makefile. Seems to be for GNU make which as all things GNU is extended from original Unix. But far from completely different. Please describe your evidence that openwrt and buildroot use a different makefile syntax. Stevebroshar (talk) 10:24, 30 May 2024 (UTC)
thread_title:  [[OpenWrt]], [[Buildroot]] etc. make 

message: 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)
replies: text: See the changelog. Rp (talk) 18:28, 4 June 2024 (UTC)
thread_title:  Created April 1976