I have solved similar problems using xargs to break up the long list of
names into manageable chunks. This is on a NT system. john

On Fri, 17 Mar 2000, Mohan Krishnan wrote:

> Hi Paul:
>     I am faced with another problem regarding the command line length. I
> have a large dependency list which I am echoing to a file using
> 
> echo $? > some_file
> 
> And on NT sh.exe (from cygnus) keeps crashing saying either command like too
> long or STATUS_ACCESS_VIOLATION.
> 
> Is there a cure for this?
> 
> Really appreciate your time,
> rgds
> mohan
> 
> ----- Original Message -----
> From: "Paul D. Smith" <[EMAIL PROTECTED]>
> To: "Mohan Krishnan" <[EMAIL PROTECTED]>
> Cc: <[EMAIL PROTECTED]>
> Sent: Thursday, March 16, 2000 6:59 AM
> Subject: Re: Timestamp is not being checked on NT + other
> 
> 
> > %% "Mohan Krishnan" <[EMAIL PROTECTED]> writes:
> >
> > Hi; please don't send HTML to the list, thanks!
> >
> >   mk> I hv make version 3.78.1 on NT.
> >
> >   mk> 1) make reports "nothing to make" even though the target has
> >   mk> changed. Same test works fine on Solaris.  I am attaching a small
> >   mk> test Makefile with some test files.  First time through make will
> >   mk> create the .out files (by touch.exe). Now open up aaa.txt and edit
> >   mk> and save it. then try make again. It would report nothing to make.
> >
> > I can't reproduce this on UNIX and I don't have any Windows systems.  I
> > don't really support the Windows port; you need to talk to the folks
> > that do (see the AUTHORS file in the GNU make distribution).
> >
> > However, I do know that due to limitations in the Windows filesystem,
> > GNU make is forced to treat all timestamps within 2 or 3 seconds of each
> > other as identical.  So, if you update that file sufficiently quickly
> > from the time the .out file was changed make might not notice there's
> > been a change.
> >
> > Comments in the code say:
> >
> >   #ifdef WINDOWS32
> >           /*
> >            * FAT filesystems round time to nearest even second(!). Just
> >            * allow for any file (NTFS or FAT) to perhaps suffer from this
> >            * braindamage.
> >            */
> >           if (mtime > now && (((mtime % 2) == 0) && ((mtime-1) > now)))
> >   #else
> >   #ifdef __MSDOS__
> >           /* Scrupulous testing indicates that some Windows
> >              filesystems can set file times up to 3 sec into the future!
> */
> >           if (mtime > now + 3)
> >   #else
> >           if (mtime > now)
> >   #endif
> >   #endif
> >
> > Other than that, I'm afraid I don't have much to say.  Try running make
> > with the -d option and see why it doesn't want to remake the file.
> >
> >   mk> 2) This problem occurs both in NT and Solaris. If the target is a
> >   mk> directory in your present working directory then make will always
> >   mk> report "xyz is up to date"!
> >
> > This isn't a bug, this is expected behavior.  Make doesn't differentiate
> > between directories and files: if the target exists, it exists.
> >
> > What if you _wanted_ to write a target that created a directory:
> >
> >   $(OBJDIR): ; mkdir $(OBJDIR)
> >
> > ?  This is actually not that uncommon (although not the best way to do
> > it, IMO).
> >
> > Look up the .PHONY rule in the GNU make manual for how to make this work
> > as you want.
> >
> > --
> > --------------------------------------------------------------------------
> -----
> >  Paul D. Smith <[EMAIL PROTECTED]>         Network Management
> Development
> >  "Please remain calm...I may be mad, but I am a professional." --Mad
> Scientist
> > --------------------------------------------------------------------------
> -----
> >    These are my opinions---Nortel Networks takes no responsibility for
> them.
> >
> 

Reply via email to