delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/1996/09/10/07:25:36

Date: Tue, 10 Sep 1996 14:20:54 +0200 (IST)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
To: djgpp-workers AT delorie DOT com
Subject: Wildcards in Makefiles
Message-Id: <Pine.SUN.3.91.960910140930.10696K-100000@is>
Mime-Version: 1.0

Since the latest alpha snapshot was built with the new versions of the
startup code and the spawnXX functions, everybody please be aware that
there is currently an inconsistency between Make 3.73 and the programs it 
calls.  Specifically, if the command line on the Makefile includes 
wildcards and/or quote characters, it won't work.  For instance, the 
following frequent target will fail (if you build `etags' with the new 
library):

TAGS:
	etags *.c *.h

This is because the startup code was changed to not glob arguments passed 
from `spawnXX', but Make still calls `spawn' when the command line 
doesn't include pipes/redirection.  Another case that this problem will 
be seen is if you call GNU `find' with a quoted wildcard--the quotes 
won't be stripped by the startup code in `find'.

The next port of Make 3.74 calls `system' in these cases, as God intended. 
If anybody has a case where the above breaks the Makefile hard enough, you
can get the pretest of the next port at this URL: 

	ftp://is.elta.co.il/pub/make.exe

Of course, the above also applies to any other DJGPP program that invokes 
child DJGPP programs with arguments that could include wildcards; you 
should switch to `system' instead of `spawn' in these cases.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019