help-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

this is embarrasing... prerequisiste gets updated, but make still says i


From: Mark Galeck (CW)
Subject: this is embarrasing... prerequisiste gets updated, but make still says it is older than target
Date: Sun, 1 Apr 2012 23:35:54 -0700

This is a major blow to my self-esteem :) I don't understand how make works.... 
 prerequisite foobar1 gets updated, but make still says it is older than the 
target foobar, so does not remake the target.  

This only happens, if before calling make, foobar was newer than foobar1.

This happens, on both Linux and Windows.  To paraphrase the sheriff from "No 
country...", I don't understand... I sure don't


C:\Temp>stat foobar --printf=%y
2012-04-01 23:27:26.000000000 -0700
C:\Temp>stat foobar1 --printf=%y
2012-04-01 23:27:10.000000000 -0700
C:\Temp>cat makefile
.SUFFIXES:
MAKEFLAGS := -rR

foobar: foobar1
        touch $@

foobar1:  foobar_phony

.PHONY: foobar_phony
foobar_phony:
        touch foobar1

C:\Temp>make foobar -d | grep foobar
Considering target file `foobar'.
  Considering target file `foobar1'.
   Looking for an implicit rule for `foobar1'.
   No implicit rule found for `foobar1'.
    Considering target file `foobar_phony'.
     File `foobar_phony' does not exist.
     Finished prerequisites of target file `foobar_phony'.
    Must remake target `foobar_phony'.
touch foobar1
CreateProcess(C:\PVCS\CB\NT\touch.exe,touch foobar1,...)
Putting child 0x009eb458 (foobar_phony) PID 10403344 on the chain.
Live child 0x009eb458 (foobar_phony) PID 10403344
    Successfully remade target file `foobar_phony'.
   Finished prerequisites of target file `foobar1'.
   Prerequisite `foobar_phony' of target `foobar1' does not exist.
  No commands for `foobar1' and no prerequisites actually changed.
  No need to remake target `foobar1'.
 Finished prerequisites of target file `foobar'.
 Prerequisite `foobar1' is older than target `foobar'.
No need to remake target `foobar'.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]