Subject: RE: Command line length limit
From: [email-masked] (Mark Johnson)

26 Nov 1997 01:20:24 -0800
Message-ID: <c=GB%a=_%p=Datafit.%l=[email-masked]>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
To: "'Martyn J. Pearce'" <[email-masked]>
Cc: "[email-masked]'" <[email-masked]>

Thanks for the response.

Unfortunately the problem is that make falls over when exec'ing the 
commandline, including of course exec'ing xargs with redirected input, 
or indeed echoing to a file.

The xargs solution would be perfect if it was implemented within make 
itself. Indeed we have used a similar technique with other makes which 
coped with exporting large amounts to the environment but not to the 
commandline or file.

I can't update the zip file for each out of date file as this of 
course changes the zipfile timestamp after the first file.

Neither can I find a way of splitting the filelist within make to echo 
it in parts to a file.

At the moment I simply ignore dependencies and simply zip up 
everything in the zipfile. This is not satisfactory in the medium to 
long term but at least I have more than I need.

Although I could split into multiple targets (zip up files starting a* 
then b* etc) at some point I may still bust the limit, so this would 
not be a robust solution.

Thanks anyway for taking the time to reply.
 Mark

P.S. Did this get copied to you by cygnus or did my mail get posted on 
some newsgroup?

-----Original Message-----
From:	Martyn J. Pearce [SMTP:[email-masked]]
Sent:	Tuesday, November 25, 1997 2:25 PM
To:	Mark Johnson
Cc:	[email-masked]'
Subject:	Command line length limit

Mark Johnson writes:
| I happen to have a makefile where a target has several hundred
| dependencies (it is a zipfile).
|
| Unfortunately the win32 make reports an execvp error when attempting 
| to exec the shell, either bash or cmd.exe, with the dependency list 
or
| export the dependency list as an environment variable.
|
| Any other possible workaround would also be appreciated. I have 
tried
| echoing to a tempfile or the environment, then invoking zip to read 
| from the appropriate source but with no success.

I think that xargs may be what you're after --- it's part of the
standard gnuwin32 package.  It takes a bundle of arguments, a 
command,
and repeats the command on sized chunks of those arguments, e.g., 
twenty
at a time.

Mx.

--------------------------------

Jyra Research
Hemel Hempstead
England

-
For help on using this list (especially unsubscribing), send a message to
"[email-masked]" with one line of text: "help".