X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-1.1 required=5.0 tests=AWL,BAYES_40 X-Spam-Check-By: sourceware.org Message-ID: <4BE0FC52.80708@bopp.net> Date: Wed, 05 May 2010 00:04:18 -0500 From: Jeremy Bopp User-Agent: Thunderbird 2.0.0.24 (X11/20100411) MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: Cygwin make target is never determined up to date References: <28454344 DOT post AT talk DOT nabble DOT com> <4BE0F722 DOT 1040009 AT bopp DOT net> <28456659 DOT post AT talk DOT nabble DOT com> In-Reply-To: <28456659.post@talk.nabble.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com MichaelKim wrote: > Yea I tried to add sleep, no good. Consequent calls doesn't go > $(jar_target_dir) target, they only run $(chrome_jar_file) target. > > It's NTFS, Windows 7. The other system which performs as expected Windows > XP, again NTFS. > Here is some additional information: > > Reading makefiles... > Updating goal targets.... > File `all' does not exist. > Prerequisite `../bin/build/chrome' is newer than > target `../bin/build/chrome/alt.jar'. > Must remake target `../bin/build/chrome/alt.jar'. > Creating chrome JAR file. > updating: content/about.js (deflated 66%) > updating: content/sprintf.js (deflated 52%) > ... > > and stats > > $ stat ../bin/build/chrome/alt.jar ../bin/build/chrome > File: `../bin/build/chrome/alt.jar' > Size: 29220 Blocks: 32 IO Block: 65536 regular file > Device: 22c6affh/36465407d Inode: 59672695062724268 Links: 1 > Access: (0644/-rw-r--r--) Uid: ( 1000/ xxx) Gid: ( 513/ None) > Access: 2010-05-05 13:03:01.066457300 +0900 > Modify: 2010-05-05 13:03:01.088960100 +0900 > Change: 2010-05-05 13:03:01.091460400 +0900 > File: `../bin/build/chrome' > Size: 0 Blocks: 0 IO Block: 65536 directory > Device: 22c6affh/36465407d Inode: 3940649674014457 Links: 1 > Access: (0755/drwxr-xr-x) Uid: ( 1000/ xxx) Gid: ( 513/ None) > Access: 2010-05-05 13:03:01.090960400 +0900 > Modify: 2010-05-05 13:03:01.090960400 +0900 > Change: 2010-05-05 13:03:01.090960400 +0900 > > as you can see `chrome` dir is really newer than `alt.jar` So let me get this straight. The JAR file you're trying to build is within a directory which is listed as a prerequisite of that JAR file? Unless I'm completely off base, it would seem to be that this is expected behavior then. If you mess with the contents of a directory, such as by adding a file to it, the last modified timestamp of the directory is going to be updated. I would expect that to happen after the file is added to the directory which could very well be *after* the last modified timestamp of the file is set. Thus the directory will appear newer than the file. I can't explain why this works for you under XP, but I don't think this is Cygwin's doing. Cygwin is most likely just letting the filesystem do its thing without interference. -Jeremy -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple