diff options
| author | Max Khon <fjoe@FreeBSD.org> | 2007-04-20 06:25:45 +0000 |
|---|---|---|
| committer | Max Khon <fjoe@FreeBSD.org> | 2007-04-20 06:25:45 +0000 |
| commit | bc5748e31f269cfeebe1686718fc4c03a5de277e (patch) | |
| tree | 2488644fcf3899c882fa294fe7562b43dedfa30c /usr.bin/make | |
| parent | fb1e3ccd7effb0c6b129995a499b2514a95675fe (diff) | |
Notes
Diffstat (limited to 'usr.bin/make')
| -rw-r--r-- | usr.bin/make/main.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/usr.bin/make/main.c b/usr.bin/make/main.c index 8eceedfae4de..e575ff2f8797 100644 --- a/usr.bin/make/main.c +++ b/usr.bin/make/main.c @@ -704,6 +704,7 @@ Remake_Makefiles(void) Boolean saveTouchFlag = touchFlag; Boolean saveQueryFlag = queryFlag; Boolean saveNoExecute = noExecute; + int mtime; /* * Create node @@ -767,6 +768,7 @@ Remake_Makefiles(void) /* * Check and remake the makefile */ + mtime = Dir_MTime(gn); Compat_Make(gn, gn); /* @@ -785,9 +787,18 @@ Remake_Makefiles(void) * ABORTED gn was not remade because one of its inferiors * could not be made due to errors. */ - if (gn->made == MADE) - remade_cnt++; - else if (gn->made == ERROR) + if (gn->made == MADE) { + if (mtime != Dir_MTime(gn)) { + DEBUGF(MAKE, + ("%s updated (%d -> %d).\n", + gn->name, mtime, gn->mtime)); + remade_cnt++; + } else { + DEBUGF(MAKE, + ("%s not updated: skipping restart.\n", + gn->name)); + } + } else if (gn->made == ERROR) error_cnt++; else if (gn->made == ABORTED) { printf("`%s' not remade because of errors.\n", |
