lkml.org 
[lkml]   [2004]   [Aug]   [20]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateFri, 20 Aug 2004 08:41:37 +0200
FromSam Ravnborg <>
SubjectRe: GNU make alleged of "bug" (was: PATCH: cdrecord: avoiding scsi device numbering for ide devices)
On Fri, Aug 20, 2004 at 12:31:12AM +0200, Joerg Schilling wrote:

> -include does not work with Sun's make and it does not cure the bug in GNU make
> but hides it only.
> 
> GNU make just violates the unwritten "golden rule" for all make programs:
> 
> 	If you like to "use" anything, first check whether you have a rule
> 	that could make the file in question.
> 
> For makefiles on the Command Line, GNU make follows this rule. If you are in an 
> empty directory and call "gmake", GNU make will first try if "Makefile" or 
> "makefile" could be retrieved using e.g. "sccs get Makefile" before GNU make 
> tries to read the file.
> 
> For makefiles that appear as argument to an include statement, GNU make ingnores
> this rule. GNU make instead, later (too late) executes the rule set and creates 
> the missing files using known rules. In order to be able to do anything useful, 
> GNU make then executes "exec gmake <old arg list>" after it is done with 
> executing the rules. This is complete nonsense.
> 
> Smake works this way:
> 
> -	if it is going to "include" a file, it checks whether there is a rule 
> 	to make the file that is going to be included.
> 
> -	If the file has been "made", smake includes the file.
> 
> -	After including the file, smake clears the "has been made already" 
> 	cache flags for the included file.
> 
> -	After all make files and all recursive include rules have been made and 
> 	included, smake checks all rules again. This may result in rare cases 
> 	that the rule for one of the the include file is executed again.
> 
> As you noe see that GNU make behaves inconsistent, I hope you believe me that 
> there is a bug in GNU make that should be fixed.

Please post this on the make-bug list then.

	Sam
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:05    [from the cache]
©2003-2008