diff options
| author | Max Khon <fjoe@FreeBSD.org> | 2007-06-01 04:20:19 +0000 |
|---|---|---|
| committer | Max Khon <fjoe@FreeBSD.org> | 2007-06-01 04:20:19 +0000 |
| commit | 6d000893b459c182b5fe5728ec1b39369363af08 (patch) | |
| tree | 8fef33b0cca70d313b3552cbddcb82c5e653e180 /usr.bin/make | |
| parent | 8ef6b1429f8189ca50b09759bd8b943d16713ef2 (diff) | |
Notes
Diffstat (limited to 'usr.bin/make')
| -rw-r--r-- | usr.bin/make/main.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/usr.bin/make/main.c b/usr.bin/make/main.c index e575ff2f8797..fea219306689 100644 --- a/usr.bin/make/main.c +++ b/usr.bin/make/main.c @@ -696,6 +696,10 @@ Remake_Makefiles(void) int remade_cnt = 0; Compat_InstallSignalHandlers(); + if (curdir != objdir) { + if (chdir(curdir) < 0) + Fatal("Failed to change directory to %s.", curdir); + } LST_FOREACH(ln, &source_makefiles) { LstNode *ln2; @@ -819,12 +823,16 @@ Remake_Makefiles(void) setenv("MAKEFLAGS", save_makeflags, 1); else unsetenv("MAKEFLAGS"); - chdir(curdir); if (execvp(save_argv[0], save_argv) < 0) { Fatal("Can't restart `%s': %s.", save_argv[0], strerror(errno)); } } + + if (curdir != objdir) { + if (chdir(objdir) < 0) + Fatal("Failed to change directory to %s.", objdir); + } } /** |
